]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20101025 snapshot
authorChet Ramey <chet.ramey@case.edu>
Tue, 13 Dec 2011 03:09:11 +0000 (22:09 -0500)
committerChet Ramey <chet.ramey@case.edu>
Tue, 13 Dec 2011 03:09:11 +0000 (22:09 -0500)
90 files changed:
CHANGES
CHANGES~ [new file with mode: 0644]
COMPAT
COMPAT~
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
MANIFEST
MANIFEST~
NEWS
NEWS-4.2 [new file with mode: 0644]
NEWS-4.2~ [new file with mode: 0644]
NEWS~ [new file with mode: 0644]
README
README~ [new file with mode: 0644]
autom4te.cache/output.0
autom4te.cache/requests
autom4te.cache/traces.0
bashline.c
bashline.c~
braces.c
braces.c.save1 [new file with mode: 0644]
braces.c~ [new file with mode: 0644]
builtins/cd.def
builtins/trap.def
configure
configure.in
configure.in~
ddd1 [new file with mode: 0644]
doc/FAQ-4.2 [new file with mode: 0644]
doc/FAQ-4.2~ [new file with mode: 0644]
doc/bash.0
doc/bash.1
doc/bash.html
doc/bash.pdf
doc/bash.ps
doc/bashref.dvi
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.ps
doc/bashref.texi
doc/bashref.vr
doc/bashref.vrs
doc/builtins.0
doc/builtins.ps
doc/rbash.0
doc/rbash.ps
doc/version.texi
include/chartypes.h
lib/readline/complete.c
lib/readline/complete.c~
lib/readline/doc/rluser.texi
lib/readline/rlprivate.h
lib/readline/rlprivate.h~
lib/readline/text.c
lib/readline/text.c~
lib/readline/vi_mode.c
lib/readline/vi_mode.c~
lib/sh/strtrans.c
lib/sh/strtrans.c~
parse.y
po/sv.po
redir.c
redir.c~
sig.c
sig.c~
subst.c
tests/RUN-ONE-TEST
tests/arith.right
tests/arith.tests
tests/arith.tests~ [new file with mode: 0644]
tests/braces.right
tests/braces.tests
tests/braces.tests~ [new file with mode: 0644]
tests/comsub-posix.right
tests/comsub-posix.tests
tests/comsub-posix.tests~
tests/execscript
tests/execscript~
tests/posixexp.right
tests/posixexp.tests
tests/posixexp.tests~
tests/posixexp1.sub [new file with mode: 0644]
tests/posixexp1.sub~ [new file with mode: 0644]
tests/posixexp2.right [new file with mode: 0644]
tests/posixexp2.sub [new file with mode: 0644]
tests/posixexp2.tests [new file with mode: 0644]
tests/run-posixexp2 [new file with mode: 0644]
tests/run-posixexp2~ [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index 359e10d7e2908b0c5044c28e39e53a71e74023b3..2b5ac32fcc84dbdd008e3c790d5dab3721759971 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,292 @@
+This document details the changes between this version, bash-4.2-alpha,
+and the previous version, bash-4.1-release.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the parser when processing alias expansions containing
+    quoted newlines.
+
+b.  Fixed a memory leak in associative array expansion.
+
+c.  Fixed a bug that caused quoted here-strings to be requoted when printed.
+
+d.  Fixed a bug in arithmetic expansion that caused the index in an array
+    expansion to be evaluated twice under certain circumstances.
+
+e.  Fixed several bugs with the expansion and display of variables that have
+    been given attributes but not values and are technically unset.
+
+f.  Fixed a bug that caused core dumps when using filename completion that
+    expands to a filename containing a globbing character.
+
+g.  Fixed a bug that caused assignment statements preceding a special builtin
+    when running in Posix mode to not persist after the builtin completed
+    when the special builtin was executed in a shell function without any
+    local variables.
+
+h.  Fixed a bug that caused a command to remain in the hash table even after
+    `hash command' did not find anything if there was already an existing
+    hashed pathname.
+
+i.  Fixed several bugs caused by executing unsafe functions from a signal
+    handler in the cases where a signal handler is executed immediately
+    rather than setting a flag for later execution.
+
+j.  Fixed a bug that caused some internal flag variables to be set
+    incorrectly if `read -t' timed out.
+
+k.  Fixed a Posix compatibility issue by making sure that a backslash escaping
+    a `}' within a double-quoted ${...} parameter expansion is removed as part
+    of the parameter expansion.
+
+l.  Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
+
+m.  Fixed a bug that caused here documents to not be displayed correctly
+    when attached to commands inside compound commands.
+
+n.  Fixed a bug that caused the printf builtin to use the wrong precision
+    when using the `*' modifier.
+
+o.  Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
+    like those invoked by echo or printf.
+
+p.  Changed to use a more robust mechanism than eaccess(2) when test is
+    checking filenames for execution permission.
+
+q.  Fixed a bug that caused spurious semicolons to be added into the command
+    history in certain cases.
+
+r.  Fixed a bug that caused the shell to free non-allocated memory when
+    unsetting element 0 of an associative array after it was assigned
+    implicitly.
+
+s.  Fixed a bug that could cause the shell to dump core if using the `v'
+    vi editing command on a multi-line command.
+
+t.  Fixed a bug that left FIFOs opened by process substitutions open long
+    enough to potentially cause file descriptor exhaustion when running a
+    shell function or shell builtin.
+
+u.  Fixed a bug that caused the history expansion functions to not recognize
+    process substitution or extended glob patterns as single words.
+
+v.  Fixed a bug that caused restricted shells to set a restricted command's
+    exit status incorrectly.
+
+w.  Fixed a bug that caused bash to ignore the wrong set of filenames when
+    completing a command using the `complete-filename' readline command.
+
+x.  Fixed a bug that caused a -PID argument following a -s sig or -n sig to
+    not be interpreted as a signal specification.
+
+y.  Changed posix-mode behavior of a parse error in a `.' script or `eval'
+    command to exit the shell under Posix-specified conditions.  Previous
+    versions printed a warning.
+
+z.  Fixed a bug in \W prompt expansion that resulted in incorrect expansion
+    in the event of overlapping strings.
+
+aa. Fixed a bug that caused the := parameter expansion operator to return the
+    wrong value as the result of the expansion.
+
+bb. When in Posix mode, a single quote is not treated specially in a
+    double-quoted ${...} expansion, unless the expansion operator is
+    # or % or the non-Posix `//', `^', and `,'.  In particular, it does
+    not define a new quoting context.  This is from Posix interpretation 221.
+
+cc. Fixed a bug that inadvertently allowed program names containing slashes
+    to be entered into the command hash table.
+
+dd. Fixed a bug that caused the select builtin to incorrectly compute the
+    display width of the arguments in the presence of multibyte characters.
+
+ee. Fixed a bug that caused bash to not change the xtrace file descriptor if
+    BASH_XTRACEFD was found in the shell environment at startup.
+
+ff. Fixed a memory leak in the pattern removal parameter expansion.
+
+gg. Fixed a bug that caused SIGINT to fail to interrupt a nested loop if the
+    loop was in a pipeline.
+
+hh. Fixed a problem in $(...) parsing that caused the parser to add an extra
+    space to a here-document delimiter if the first word contained a `/'.
+
+ii. Fixed a bug that caused functions defined with the `function' reserved
+    word to require braces around the function body.
+
+jj. Fixed a bug that caused bash to dump core when a variable expansion being
+    used as an array subscript failed.
+
+kk. Fixed a bug that caused bash to dump core if the case-modification
+    expansions were used on a variable with a null value.
+
+ll. Fixed a bug that caused partially-quoted strings to be split incorrectly
+    if a variable with a null value was expanded within double quotes.
+
+mm. The pattern substitution word expansion has been sped up dramatically
+    when running in a locale with multibyte characters.
+
+nn. Fixed a bug that caused history -a to not write the correct lines to
+    the history file if all the new lines in the history list were added
+    since the last time the history file was read or written.
+
+oo. Fixed a bug that caused completion of a word with an unclosed `` command
+    substitution to set the prompt incorrectly.
+
+pp. Fixed a bug that caused extended globbing patterns in $HISTIGNORE or
+    $GLOBIGNORE to be incorrectly scanned.
+
+qq. Fixed a bug caused by closing file descriptors 3-20 on shell startup.  The
+    shell now sets them to close-on-exec.
+
+rr. Fixed a bug that caused the exit status of `exec file' to be set incorrectly
+    if `file' was a directory.
+
+ss. Fixed a bug in the `.' builtin to make a non-interactive posix-mode shell
+    exit if the file argument to `.' is not found.  Prefixing exec with 
+    `command' makes the shell not exit. Posix requires this behavior.
+
+tt. Fixed a bug that caused `sh -c 'command exec; exit 1' to hang.
+
+uu. Fixed a bug in $(...) command substitution parsing that caused the shell
+    to treat backslash-newline incorrectly when parsing a comment.
+
+vv. Fixed bug that caused brace expansion sequence generation to misbehave
+    when supplied integers greater than 2**31 - 1.
+
+ww. Fixed a bug that caused failure to save file descriptors for redirections
+    to corrupt shell file descriptors.
+
+xx. Fixed a bug that caused bash-forward-shellword to not correctly handle
+    quoted strings.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused the unconverted filename to be added to the list of
+    completions when the application specified filename conversion functions.
+
+b.  Fixed a bug that caused the wrong filename to be passed to opendir when the
+    application has specified a filename dequoting function.
+
+c.  Fixed a bug when repeating a character search in vi mode in the case where
+    there was no search to repeat.
+
+d.  When show-all-if-ambiguous is set, the completion routines no longer insert
+    a common match prefix that is shorter than the text being completed.
+
+e.  The full set of vi editing commands may now be used in callback mode.
+
+f.  Fixed a bug that caused readline to not update its idea of the terminal
+    dimensions while running in `no-echo' mode.
+
+h.  Fixed a bug that caused readline to dump core if an application called
+    rl_prep_terminal without setting rl_instream.
+
+i.  Fixed a bug that caused meta-prefixed characters bound to incremental
+    search forward or backward to not be recognized if they were typed
+    subsequently.
+
+j.  The incremental search code treats key sequences that map to the same
+    functions as (default) ^G, ^W, and ^Y as equivalent to those characters.
+
+k.  Fixed a bug in menu-complete that caused it to misbehave with large
+    negative argument.
+
+l.  Fixed a bug that caused vi-mode yank-last-arg to ring the bell when invoked
+    at the end of the line.
+
+3.  New Features in Bash
+
+a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+b.  Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+c.  `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e.  declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+f.  test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+g.  Posix parsing changes to allow `! time command' and multiple consecutive
+    instances of `!' (which toggle) and `time' (which have no cumulative
+    effect).
+
+h.  Posix change to allow `time' as a command by itself to print the elapsed
+    user, system, and real times for the shell and its children.
+
+j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
+    a potential nested command substitution, as Posix requires.
+
+k.  A new FUNCNEST variable to allow the user to control the maximum shell
+    function nesting (recursive execution) level.
+
+l.  The mapfile builtin now supplies a third argument to the callback command:
+    the line about to be assigned to the supplied array index.
+
+m.  The printf builtin has as new %(fmt)T specifier, which allows time values
+    to use strftime-like formatting.
+
+n.  There is a new `compat41' shell option.
+
+o.  The cd builtin has a new Posix-mandated `-e' option.
+
+p.  Negative subscripts to indexed arrays, previously errors, now are treated
+    as offsets from the maximum assigned index + 1.
+
+q.  Negative length specifications in the ${var:offset:length} expansion,
+    previously errors, are now treated as offsets from the end of the variable.
+
+r.  Parsing change to allow `time -p --'.
+
+s.  Posix-mode parsing change to not recognize `time' as a keyword if the
+    following token begins with a `-'.  This means no more Posix-mode
+    `time -p'.  Posix interpretation 267.
+
+t.  There is a new `lastpipe' shell option that runs the last command of a
+    pipeline in the current shell context.  The lastpipe option has no
+    effect if job control is enabled.
+
+u.  History expansion no longer expands the `$!' variable expansion.
+
+v.  Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+w.  Non-interactive mode shells exit if -u is enabled an an attempt is made
+    to use an unset variable with the % or # expansions, the `//', `^', or
+    `,' expansions, or the parameter length expansion.
+
+x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+    fails, effectively searching the current directory.  Posix-2008 change.
+
+4.  New Features in Readline
+
+a.  The history library does not try to write the history filename in the
+    current directory if $HOME is unset.  This closes a potential security
+    problem if the application does not specify a history filename.
+
+b.  New bindable variable `completion-display-width' to set the number of
+    columns used when displaying completions.
+
+c.  New bindable variable `completion-case-map' to cause case-insensitive
+    completion to treat `-' and `_' as identical.
+
+d.  There are new bindable vi-mode command names to avoid readline's case-
+    insensitive matching not allowing them to be bound separately.
+
+e.  New bindable variable `menu-complete-display-prefix' causes the menu
+    completion code to display the common prefix of the possible completions
+    before cycling through the list, instead of after.
+
+------------------------------------------------------------------------------
 This document details the changes between this version, bash-4.1-rc,
 and the previous version, bash-4.1-beta.
 
diff --git a/CHANGES~ b/CHANGES~
new file mode 100644 (file)
index 0000000..5809c6b
--- /dev/null
+++ b/CHANGES~
@@ -0,0 +1,6723 @@
+This document details the changes between this version, bash-4.2-alpha,
+and the previous version, bash-4.1-release.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the parser when processing alias expansions containing
+    quoted newlines.
+
+b.  Fixed a memory leak in associative array expansion.
+
+c.  Fixed a bug that caused quoted here-strings to be requoted when printed.
+
+d.  Fixed a bug in arithmetic expansion that caused the index in an array
+    expansion to be evaluated twice under certain circumstances.
+
+e.  Fixed several bugs with the expansion and display of variables that have
+    been given attributes but not values and are technically unset.
+
+f.  Fixed a bug that caused core dumps when using filename completion that
+    expands to a filename containing a globbing character.
+
+g.  Fixed a bug that caused assignment statements preceding a special builtin
+    when running in Posix mode to not persist after the builtin completed
+    when the special builtin was executed in a shell function without any
+    local variables.
+
+h.  Fixed a bug that caused a command to remain in the hash table even after
+    `hash command' did not find anything if there was already an existing
+    hashed pathname.
+
+i.  Fixed several bugs caused by executing unsafe functions from a signal
+    handler in the cases where a signal handler is executed immediately
+    rather than setting a flag for later execution.
+
+j.  Fixed a bug that caused some internal flag variables to be set
+    incorrectly if `read -t' timed out.
+
+k.  Fixed a Posix compatibility issue by making sure that a backslash escaping
+    a `}' within a double-quoted string is removed as part of ${...}
+    parameter expansion.
+
+l.  Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
+
+m.  Fixed a bug that caused here documents to not be displayed correctly
+    when attached to commands inside compound commands.
+
+n.  Fixed a bug that caused the printf builtin to use the wrong precision
+    when using the `*' modifier.
+
+o.  Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
+    like those invoked by echo or printf.
+
+p.  Changed to use a more robust mechanism than eaccess(2) when test is
+    checking filenames for execution permission.
+
+q.  Fixed a bug that caused spurious semicolons to be added into the command
+    history in certain cases.
+
+r.  Fixed a bug that caused the shell to free non-allocated memory when
+    unsetting element 0 of an associative array after it was assigned
+    implicitly.
+
+s.  Fixed a bug that could cause the shell to dump core if using the `v'
+    vi editing command on a multi-line command.
+
+t.  Fixed a bug that left FIFOs opened by process substitutions open long
+    enough to potentially cause file descriptor exhaustion when running a
+    shell function or shell builtin.
+
+u.  Fixed a bug that caused the history expansion functions to not recognize
+    process substitution or extended glob patterns as single words.
+
+v.  Fixed a bug that caused restricted shells to set a restricted command's
+    exit status incorrectly.
+
+w.  Fixed a bug that caused bash to ignore the wrong set of filenames when
+    completing a command using the `complete-filename' readline command.
+
+x.  Fixed a bug that caused a -PID argument following a -s sig or -n sig to
+    not be interpreted as a signal specification.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused the unconverted filename to be added to the list of
+    completions when the application specified filename conversion functions.
+
+b.  Fixed a bug that caused the wrong filename to be passed to opendir when the
+    application has specified a filename dequoting function.
+
+c.  Fixed a bug when repeating a character search in vi mode in the case where
+    there was no search to repeat.
+
+d.  When show-all-if-ambiguous is set, the completion routines no longer insert
+    a common match prefix that is shorter than the text being completed.
+
+3.  New Features in Bash
+
+a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+b.  Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+c.  `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e.  declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+f.  test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+4.  New Features in Readline
+
+a.  The history library does not try to write the history filename in the
+    current directory if $HOME is unset.  This closes a potential security
+    problem if the application does not specify a history filename.
+
+b.  New bindable variable `completion-display-width' to set the number of
+    columns used when displaying completions.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-rc,
+and the previous version, bash-4.1-beta.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused printf to not return a partial value when it
+    encountered an error while converting an integer argument.
+
+b.  Fixed a bug that caused setting one of the compatNN options to not
+    turn off the others.
+
+c.  The (undocumented) --wordexp option is no longer included by default.
+
+d.  Fixed a bug in conditional command execution that caused it to not
+    correctly ignore the exit status under certain circumstances.
+
+e.  Added a configure-time check for correctly-working asprintf/snprintf.
+
+f.  Fixed some problems with line number calculation and display when sourcing
+    a file in an interactive shell.
+
+g.  Fixed a bug that caused the shell to crash when using `declare -A foo=bar'.
+
+h.  Fixed a bug that caused an off-by-one error when calculating the directories
+    to display with the PROMPT_DIRTRIM option.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused applications using the callback interface to not
+    react to SIGINT (or other signals) until another character arrived.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-beta,
+and the previous version, bash-4.1-alpha.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in mapfile that caused the shell to crash if it was passed the
+    name of an associative array.
+
+b.  Fixed a bug that caused the shell to incorrectly split case patterns if
+    they contained characters in $IFS.
+
+c.  Fixed a bug that caused the shell to set $? to the wrong value when using
+    a construct ending with a variable assignment with set -x enabled and PS4
+    containing a command substitution.
+
+d.  Fixed a bug that caused the shell to read commands incorrectly if an
+    expansion error occurred under certain conditions in a user-specified
+    subshell.
+
+e.  Fixed a bug that caused the shell to set $? incorrectly if a parse error
+    occurred in an evaluation context ("eval", trap command, dot script, etc.)
+
+f.  Fixed a bug that caused the shell to attempt command substitution
+    completion within a single-quoted string.
+
+g.  Fixed a bug that caused the shell to insert an extra single quote during
+    word completion.
+
+h.  Fixed a bug that caused the shell to crash if invoked with the environment
+    variable EMACS having a null value.
+
+i.  Fixed a bug that caused bash to incorrectly report the presence of new
+    mail in a `maildir' environment.
+
+j.  Fixed a bug that caused the shell to not recognize a here-document ending
+    delimiter inside a command substitution.
+
+k.  Fixed a bug that caused the shell to crash when a a dynamic array variable
+    was assigned a scalar value.
+
+2.  Changes to Readline
+
+3.  New Features in Bash
+
+a.  The mapfile/readarray builtin no longer stores the commands it invokes via
+    callbacks in the history list.
+
+b.  There is a new `compat40' shopt option.
+
+c.  The < and > operators to [[ do string comparisons using the current locale
+    only if the compatibility level is greater than 40 (set to 41 by default).
+
+4.  New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-alpha,
+and the previous version, bash-4.0-release.
+
+1.  Changes to Bash
+
+a.  Fixed bugs in the parser involving new parsing of the commands contained
+    in command substitution when the substitution is read.
+
+b.  Fixed a bug that caused the shell to dump core when performing programmable
+    completion using a shell function.
+
+c.  Fixed a bug in `mapfile' that caused it to invoke callbacks at the wrong
+    time.
+
+d.  Fixed a bug that caused the shell to dump core when listing jobs in the
+    `exit' builtin.
+
+e.  Fixed several bugs encountered when reading subscripts in associative
+    array assignments and expansions.
+
+f.  Fixed a bug that under some circumstances caused an associative array to
+    be converted to an indexed array.
+
+g.  Fixed a bug that caused syntax errors and SIGINT interrupts to not set
+    $? to a value > 128.
+
+h.  Fixed a bug that caused the shell to remove FIFOs associated with process
+    substitution inside shell functions.
+
+i.  Fixed a bug that caused terminal attributes to not be reset when the
+    `read' builtin timed out.
+
+j.  Fixed a bug in brace expansion that caused unwanted zero padding of the
+    expanded terms.
+
+k.  Fixed a bug that prevented the |& construct from working as intended when
+    used with a simple command with additional redirections.
+
+l.  Fixed a bug with the case statment ;& terminator that caused the shell to
+    dereference a NULL pointer.
+
+m.  Fixed a bug that caused assignment statements or redirections preceding
+    a simple command name to inhibit alias expansion.
+
+n.  Fixed the behavior of `set -u' to conform to the latest Posix interpretation:
+    every expansion of an unset variable except $@ and $* will cause the
+    shell to exit.
+
+o.  Fixed a bug that caused double-quoted expansions of $* inside word
+    expansions like ${x#$*} to not expand properly when $IFS is empty.
+
+p.  Fixed a bug that caused traps to set $LINENO to the wrong value when they
+    execute.
+
+q.  Fixed a bug that caused off-by-one errors when computing history lines in
+    the `fc' builtin.
+
+r.  Fixed a bug that caused some terminating signals to not exit the shell
+    quickly enough, forcing the kernel to send the signal (e.g., SIGSEGV)
+    multiple times.
+
+s.  Fixed a bug that caused the shell to attempt to add empty lines to the
+    history list when reading here documents.
+
+t.  Made some internal changes that dramatically speeds up sequential indexed
+    array access.
+
+u.  Fixed a bug that caused the shell to write past the end of a string when
+    completing a double-quoted string ending in a backslash.
+
+v.  Fixed a bug that caused the shell to replace too many characters when a
+    pattern match was null in a ${foo//bar} expansion.
+
+w.  Fixed bugs in the expansion of ** that caused duplicate directory names
+    and the contents of the current directory to be omitted.
+
+x.  Fixed a bug that caused $? to not be set correctly when referencing an
+    unset variable with set -u and set -e enabled.
+
+y.  Fixed a bug caused by executing an external program from the DEBUG trap
+    while a pipeline was running.  The effect was to disturb the pipeline
+    state, occasionally causing it to hang.
+
+z.  Fixed a bug that caused the ** glob expansion to dump core if it
+    encountered an unsearchable directory.
+
+aa. Fixed a bug that caused `command -v' and `command -V' to not honor the
+    path set by the -p option.
+
+bb. Fixed a bug that caused brace expansion to take place too soon in some
+    compound array assignments.
+
+cc. Fixed a bug that caused programmable completion functions' changes to
+    READLINE_POINT to not be reflected back to readline.
+
+dd. Fixed a bug that caused the shell to dump core if a trap was executed
+    during a shell assignment statement.
+
+ee. Fixed an off-by-one error when computing the number of positional
+    parameters for the ${@:0:n} expansion.
+
+ff. Fixed a problem with setting COMP_CWORD for programmable completion
+    functions that could leave it set to -1.
+
+gg. Fixed a bug that caused the ERR trap to be triggered in some cases where
+    `set -e' would not have caused the shell to exit.
+
+hh. Fixed a bug that caused changes made by `compopt' to not persist past the
+    completion function in which compopt was executed.
+
+ii. Fixed a bug that caused the list of hostname completions to not be cleared
+    when HOSTNAME was unset.
+
+jj. Fixed a bug that caused variable expansion in here documents to look in
+    any temporary environment.
+
+kk. Bash and readline can now convert file names between precomposed and
+    decomposed Unicode on Mac OS X ("keyboard" and file system forms,
+    respectively).  This affects filename completion (using new
+    rl_filename_rewrite_hook), globbing, and readline redisplay.
+
+ll. The ERR and EXIT traps now see a non-zero value for $? when a parser
+    error after set -e has been enabled causes the shell to exit.
+
+mm. Fixed a bug that in brace expansion that caused zero-prefixed terms to
+    not contain the correct number of digits.
+
+nn. Fixed a bug that caused the shell to free non-allocated memory when
+    unsetting an associative array which had had a value implicitly assigned
+    to index "0".
+
+oo. Fixed a memory leak in the ${!prefix@} expansion.
+
+pp. Fixed a bug that caused printf to not correctly report all write errors.
+
+qq. Fixed a bug that caused single and double quotes to act as delimiters
+    when splitting a command line into words for programmable completion.
+
+rr. Fixed a bug that caused ** globbing that caused **/path/* to match every
+    directory, not just those matching `path'.
+
+ss. Fixed a bug that caused the shell to dump core when running `help' without
+    arguments if the terminal width was fewer than 7 characters.
+
+2.  Changes to Readline
+
+a.  The SIGWINCH signal handler now avoids calling the redisplay code if
+    one arrives while in the middle of redisplay.
+
+b.  Changes to the timeout code to make sure that timeout values greater
+    than one second are handled better.
+
+c.  Fixed a bug in the redisplay code that was triggered by a prompt
+    containing invisible characters exactly the width of the screen.
+
+d.  Fixed a bug in the redisplay code encountered when running in horizontal
+    scroll mode.
+
+e.  Fixed a bug that prevented menu completion from properly completing
+    filenames.
+
+f.  Fixed a redisplay bug caused by a multibyte character causing a line to
+    wrap.
+
+g.  Fixed a bug that caused key sequences of two characters to not be
+    recognized when a longer sequence identical in the first two characters
+    was bound.
+
+h.  Fixed a bug that caused history expansion to be attempted on $'...'
+    single-quoted strings.
+
+i.  Fixed a bug that caused incorrect redisplay when the prompt contained
+    multibyte characters in an `invisible' sequence bracketed by \[ and
+    \].
+
+j.  Fixed a bug that caused history expansion to short-circuit after
+    encountering a multibyte character.
+
+3.  New Features in Bash
+
+a.  Here-documents within $(...) command substitutions may once more be
+    delimited by the closing right paren, instead of requiring a newline.
+
+b.  Bash's file status checks (executable, readable, etc.) now take file
+    system ACLs into account on file systems that support them.
+
+c.  Bash now passes environment variables with names that are not valid
+    shell variable names through into the environment passed to child
+    processes.
+
+d.  The `execute-unix-command' readline function now attempts to clear and
+    reuse the current line rather than move to a new one after the command
+    executes.
+
+e.  `printf -v' can now assign values to array indices.
+
+f.  New `complete -E' and `compopt -E' options that work on the "empty"
+    completion: completion attempted on an empty command line.
+
+g.  New complete/compgen/compopt -D option to define a `default' completion:
+    a completion to be invoked on command for which no completion has been
+    defined.  If this function returns 124, programmable completion is
+    attempted again, allowing a user to dynamically build a set of completions
+    as completion is attempted by having the default completion function
+    install individual completion functions each time it is invoked.
+
+h.  When displaying associative arrays, subscripts are now quoted.
+
+i.  Changes to dabbrev-expand to make it more `emacs-like': no space appended
+    after matches, completions are not sorted, and most recent history entries
+    are presented first.
+
+j.  The [[ and (( commands are now subject to the setting of `set -e' and the
+    ERR trap.
+
+k.  The source/. builtin now removes NUL bytes from the file before attempting
+    to parse commands.
+
+l.  There is a new configuration option (in config-top.h) that forces bash to
+    forward all history entries to syslog.
+
+m.  A new variable $BASHOPTS to export shell options settable using `shopt' to
+    child processes.
+
+n.  There is a new confgure option that forces the extglob option to be
+    enabled by default.
+
+o.  New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
+    output to that file descriptor.
+
+p.  If the optional left-hand-side of a redirection is of the form {var}, the
+    shell assigns the file descriptor used to $var or uses $var as the file
+    descriptor to move or close, depending on the redirection operator.
+
+q.  The < and > operators to the [[ conditional command now do string
+    comparison according to the current locale.
+
+r.  Programmable completion now uses the completion for `b' instead of `a'
+    when completion is attempted on a line like: a $(b c.
+
+s.  Force extglob on temporarily when parsing the pattern argument to
+    the == and != operators to the [[ command, for compatibility.
+
+t.  Changed the behavior of interrupting the wait builtin when a SIGCHLD is
+    received and a trap on SIGCHLD is set to be Posix-mode only.
+
+u.  The read builtin has a new `-N nchars' option, which reads exactly NCHARS
+    characters, ignoring delimiters like newline.
+
+4.  New Features in Readline
+
+a.  New bindable function: menu-complete-backward.
+
+b.  In the vi insertion keymap, C-n is now bound to menu-complete by default,
+    and C-p to menu-complete-backward.
+
+c.  When in vi command mode, repeatedly hitting ESC now does nothing, even
+    when ESC introduces a bound key sequence.  This is closer to how
+    historical vi behaves.
+
+d.  New bindable function: skip-csi-sequence.  Can be used as a default to
+    consume key sequences generated by keys like Home and End without having
+    to bind all keys.
+
+e.  New application-settable function: rl_filename_rewrite_hook.  Can be used
+    to rewite or modify filenames read from the file system before they are
+    compared to the word to be completed.
+
+f.  New bindable variable: skip-completed-text, active when completing in the
+    middle of a word.  If enabled, it means that characters in the completion
+    that match characters in the remainder of the word are "skipped" rather
+    than inserted into the line.
+
+g.  The pre-readline-6.0 version of menu completion is available as
+    "old-menu-complete" for users who do not like the readline-6.0 version.
+
+h.  New bindable variable: echo-control-characters.  If enabled, and the
+    tty ECHOCTL bit is set, controls the echoing of characters corresponding
+    to keyboard-generated signals.
+
+i.  New bindable variable: enable-meta-key.  Controls whether or not readline
+    sends the smm/rmm sequences if the terminal indicates it has a meta key
+    that enables eight-bit characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-release,
+and the previous version, bash-4.0-rc1.
+
+1.  Changes to Bash
+
+a.  Changed the message printed when setlocale(3) fails to only include the
+    strerror error text if the call changes errno.
+
+b.  Changed trap command execution to reset the line number before running a
+    trap (except DEBUG and RETURN traps).
+
+c.  Fixed behavior of case-modifiying word expansions to not work on
+    individual words within a variable's value.
+
+d.  Fixed a bug that caused mapfile to not be interruptible when run in an
+    interactive shell.
+
+e.  Fixed a bug that caused mapfile to not run callbacks for the first line
+    read.
+
+f.  Fixed a bug that caused mapfile to not honor EOF typed in an interactive
+    shell.
+
+g.  Fixed the coprocess reaping code to not run straight from a signal handler.
+
+h.  Fixed a bug that caused printf -b to ignore the first % conversion specifier
+    in the format string on 64-bit systems.
+
+i.  Fixed a bug that caused incorrect word splitting when `:', `=', or `~'
+    appeared in $IFS.
+
+j.  Fixed a bug that caused data corruption in the programmable completion code
+    when a shell function called from a completion aborted execution.
+
+k.  Fixed a bug that caused the CPU usage reported by the `time' builtin to be
+    capped at 100%.
+
+l.  Changed behavior of shell when -e option is in effect to reflect consensus
+    of Posix shell standardization working group.
+
+m.  Fixed a bug introduced in bash-4.0-alpha that caused redirections to not
+    be displayed by `type' or `declare' when appearing in functions under
+    certain circumstances.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused !(...) extended glob patterns to inhibit later
+    history expansion.
+
+b.  Reworked the signal handling to avoid calling disallowed functions from a
+    signal handler.
+
+3.  New Features in Bash
+
+a.  `readarray' is now a synonym for `mapfile'.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-rc1,
+and the previous version, bash-4.0-beta2.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused parsing errors when a $()-style command
+    substitution was follwed immediately by a quoted newline.
+
+b.  Fixed a bug that caused extended shell globbing patterns beginning with
+    `*(' to not work when used with pattern substitution word expansions.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-beta2,
+and the previous version, bash-4.0-beta.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused failed word expansions to set $? but not
+    PIPESTATUS.
+
+b.  Changed filename completion to quote the tilde in a filename with a
+    leading tilde that exists in the current directory.
+
+c.  Fixed a bug that caused a file descriptor leak when performing
+    redirections attached to a compound command.
+
+d.  Fixed a bug that caused expansions of $@ and $* to not exit the shell if
+    the -u option was enabled and there were no posititional parameters.
+
+e.  Fixed a bug that resulted in bash not terminating immediately if a
+    terminating signal was received while performing output.
+
+f.  Fixed a bug that caused the shell to crash after creating 256 process
+    substitutions during word completion.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused redisplay errors when using prompts with invisible
+    characters and numeric arguments to a command in a multibyte locale.
+
+b.  Fixed a bug that caused redisplay errors when using prompts with invisible
+    characters spanning more than two physical screen lines.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-beta,
+and the previous version, bash-4.0-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.
+
+o.  Fixed a bug that could cause NULL pointer dereferences when COMP_WORDBREAKS
+    was unset.
+
+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.
+
+1.  Changes to Bash
+
+a.  Fixed several bugs in old-style `` command substitution parsing, including
+    comment parsing and quoted string handling.
+
+b.  Fixed problems parsing arguments to the [[ command's =~ regular expression
+    matching operator:  metacharacter and whitespace parsing.
+
+c.  Fixed a bug that caused the shell to inappropriately reuse high-numbered
+    file descriptors it used internally.
+
+d.  Fixed a bug in pattern replacement word expansions that caused a `/' as
+    the first character of an expanded pattern to be mistaken for a global
+    replacement specifier.
+
+e.  Fixed several problems with the asprintf and snprintf replacement functions
+    that caused hangs and crashes.
+
+f.  Fixed a bug in the calculation of the current and previous job that caused
+    it to refer to incorrect jobs.
+
+g.  Fixed a bug in the check for the validity of a hashed command pathname that
+    caused unnecessary hash table deletions and additions.
+
+h.  Fixed a bug that caused child processes to inherit the wrong value for $!.
+
+i.  Fixed a bug that caused `.' to fail to read and execute commands from non-
+    regular files such as devices or named pipes.
+
+j.  Fixed a bug in printf formatting for the %x and %X expansions that occurred
+    on some systems.
+
+k.  Fixed a bug that caused the shell to crash when creating temporary files if
+    $TMPDIR named a non-writable directory.
+
+l.  Fixed a bug that caused the shell to ignore $TMPDIR when creating temporary
+    files under some circumstances.
+
+m.  Fixed a bug that caused named pipes created by process substitution to not
+    be cleaned up.
+
+n.  Fixed a bug that caused HISTTIMEFORMAT to not be honored when it appeared
+    in the initial shell environment.
+
+o.  Fixed several bugs in the expansion of $* and $@ (quoted and unquoted)
+    when IFS is null or contains non-whitespace characters; the same changes
+    apply to arrays subscripted with * or @.
+
+p.  Fixed several problems with pattern substitution expansions on the
+    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.
+
+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.
+
+v.  Fixed a bug that caused the shell to not display $PS2 when the read builtin
+    reads a line continued with a backslash.
+
+w.  Fixed a bug that caused errors in word splitting when $IFS contained
+    characters used for internal quoting.
+
+x.  Fixed bugs that caused problems with output from shell builtins not being
+    completely displayed on some systems.
+
+y.  Fixed a bug that caused output to be lost when a redirection is acting on
+    the shell's output file descriptor.
+
+z.  Fixed bugs caused by shell builtins not checking for all write errors.
+
+aa. Fixed a problem that caused the shell to dump core if expansions on the
+    pattern passed to the pattern removal word expansions resulted in expansion
+    errors.
+
+bb. Fixed a bug that caused bash to loop infinitely after creating and
+    waiting for 4096 jobs.
+
+cc. Fixed a bug that caused bash to lose the status of a background job under
+    certain circumstances.
+
+dd. Fixed a bug that caused bash to not look in the temporary environment
+    when performing variable lookup under certain circumstances.
+
+ee. Fixed a bug that caused bash to close file descriptors greater than 10
+    when they were used in redirections.
+
+ff. Fixed a problem that caused the shell to attempt to read from the standard
+    input when called as `bash -i script'.
+
+gg. Fixed a memory leak and variable initialization problems when the -v option
+    was supplied to `printf' that could cause incorrect results.
+
+hh. Fixed a bug that caused the `read' builtin to count bytes when the -n option
+    was supplied, rather than (possibly multibyte) characters.
+
+ii. Fixed a bug when displaying a function due to not converting the function
+    to an external form.
+
+jj. Changed job control initialization to ensure that the shell has a tty
+    as its controlling terminal before enabling job control.
+
+kk. Fixed a bug with the `test' builtin that caused it to misinterpret
+    arguments beginning with `-' but containing more than one character.
+
+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 (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.
+
+oo. Fixed a bug in pathname expansion that caused it to interpret backslashes
+    in the pathname as quoting characters.
+
+pp. Fixed a bug in the replacement getcwd() implementation that could cause
+    memory to be overwritten.
+
+qq. When in Posix mode, the `ulimit' builtin now uses a block size of 512 for
+    the `-c' and `-f' options.
+
+rr. Brace expansion now allows process substitutions to pass through unchanged.
+
+ss. Fixed a problem in the command name completion code to avoid quoting
+    escaped special characters twice when the command name begins with a tilde.
+
+tt. Fixed a problem in the printf builtin that resulted in single-byte
+    output for the "'" escape, even when using multibyte characters.
+
+uu. Fixed a bug that caused the failure exit status to be lost when redirections
+    attached to a compound command failed.
+
+vv. Fixed a bug that caused the internal random number generator to not be
+    re-seeded correctly when creating a subshell.
+
+ww. Fixed a bug that could cause the bash replacement getcwd to overwrite
+    memory.
+
+xx. Fixed a bug that caused the shell to not receive SIGINT if it was sent
+    while the shell was waiting for a command substitution to terminate, and
+    make sure the exit status is correct when it does.
+
+yy. Fixed a bug that resulted in the second and subsequent children spawned
+    by a shell begun to run a command substitution being placed into the
+    wrong process group.
+
+zz. Fixed a bug that caused the results of successful tilde expansion to be
+    subject to pathname expansion and word splitting.
+
+aaa. Fixed a bug that could cause the shell to hang if it encountered an
+     error that caused it to jump back to the top processing loop during a
+     command substitution or `eval' command.
+
+bbb. Fixed a bug that caused the `read' builtin to use the tty's attributes
+     instead of those of the file descriptor passed with the -u option when
+     processing the -n and -d options.
+
+ccc. Fixed a bug that caused incorrect expansion of ${array[@]:foo} if the
+     first character of $IFS was not whitespace.
+
+ddd. Fixed a bug that occurred when scanning for the ending delimiter of a
+     ${parameter/pat/sub} expansion.
+
+eee. Fixed a bug that caused the shell to inappropriately expand command
+     substitutions in words when expanding directory names for completion.
+
+fff. Fixed a bug that caused the `fc' builtin to look too far back in the
+     history list under certain circumstances.
+
+ggg. Fixed a bug that caused a shell running in Posix mode to search $PWD for
+     a file specified as an argument to source/. when the file was not found
+     in $PATH.
+
+hhh. Fixed a bug that caused the shell to modify the case of a command word
+     found via command completion when the shell was performing case-
+     insensitive completion.
+
+iii. Fixed a bug that caused the shell to search $PATH for an argument to
+     source/. even when it contained a `/'.
+
+jjj. Fixed a bug that caused brace expansion to misorder expansions when the
+     locale did not have a collating order like aAbBcC...zZ.
+
+kkk. Fixed a bug that did not allow `set +o history' to have any effect when
+     run in a startup file or from a sourced file.
+
+lll. Fixed a bug with the precedence of the ?: conditional arithmetic operator.
+
+mmm. Fixed a bug that caused side effects of temporary variable assignments
+     to persist in the shell environment.
+
+nnn. Fixed a bug that caused the terminal to be left in non-canonical mode
+     when using editing commands that invoke the an editor on the current
+     command line.
+
+ooo. Fixed a bug that caused globbing characters and characters in $IFS to not
+     be quoted appropriately when displaying assignment statements.
+
+ppp. Fixed a bug that caused the `-e' option to be inherited when sourcing a
+     file or evaluating a command with `eval' even if the return value of the
+     command was supposed to be ignored.
+
+qqq. Fixed a bug that caused the shell to attempt to created variables with
+     invalid names if such names appeared in the initial environment.
+
+rrr. Fixed a bug with quote removal in strings where the final character is a
+     backslash.
+
+sss. Fixed a bug that caused the effects of special variables to persist even
+     when the variables were unset as part of the shell reinitializing itself
+     to execute a shell script.
+
+ttt. Fixed a bug that caused the history to not be saved after `history -c' or
+     `history -d' was executed until a sufficient number of commands had been
+     saved to the history.
+
+uuu. Bash now parses command substitutions according to Posix rules: parsing
+     the command contained in $() to find the closing delimiter.
+
+vvv. Fixed a bug that caused traps on SIGCHLD set in a SIGCHLD handler to
+     not persist.
+
+www. Fixed a bug that didn't allow SIGCHLD to interrupt the `wait' builtin
+     as Posix specifies.
+
+xxx. Invalid numeric arguments to shell builtins no longer cause the shell to
+     short-circuit any executing compound command.
+
+yyy. Fixed a bug that caused the exit status to be lost when `break' was
+     used to short-circuit a loop's execution.
+
+zzz. Fixed a bug that caused stray ^? characters to be left in expansions of
+     "${array[*]}".
+
+aaaa. Bash now prints better error messages for here documents terminated by
+      EOF and for identifying the incorrect token in an invalid arithmetic
+      expression.
+
+bbbb. Fixed a bug in the variable length word expansion that caused it to
+      incorrectly calculate the number of multibyte characters.
+
+cccc. Fixed a race condition that could result in the top-level shell setting
+      the terminal's process group to an incorrect value if the process
+      group was changed by a child of a child of the shell.
+
+dddd. Fixed a bug that caused here documents belonging to commands within a
+      compound command to be displayed in a syntactially-incorrect form, which
+      prevented them from being re-read as input.
+
+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 
+    characters.
+
+b.  Fixed bugs in vi command mode that caused motion commands to inappropriately
+    set the mark.
+
+c.  When using the arrow keys in vi insertion mode, readline allows movement
+    beyond the current end of the line (unlike command mode).
+
+d.  Fixed bugs that caused readline to loop when the terminal has been taken
+    away and reads return -1/EIO.
+
+e.  Fixed bugs in redisplay occurring when displaying prompts containing
+    invisible characters.
+
+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 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.
+
+i.  Fixed a bug that resulted in SIGTERM not being caught or cleaned up.
+
+j.  Fixed redisplay bugs caused by multiline prompts with invisible characters
+    or no characters following the final newline.
+
+k.  Fixed redisplay bug caused by prompts consisting solely of invisible
+    characters.
+
+l.  Fixed a bug in the code that buffers characters received very quickly in
+    succession which caused characters to be dropped.
+
+m.  Fixed a bug that caused readline to reference uninitialized data structures
+    if it received a SIGWINCH before completing initialzation.
+
+n.  Fixed a bug that caused the vi-mode `last command' to be set incorrectly
+    and therefore unrepeatable.
+
+o.  Fixed a bug that caused readline to disable echoing when it was being used
+    with an output file descriptor that was not a terminal.
+
+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
+    index of 0 now causes $0 to be prefixed to the list.
+
+b.  The `help' builtin now prints its columns with entries sorted vertically
+    rather than horizontally.
+
+c.  There is a new variable, $BASHPID, which always returns the process id of
+    the current shell.
+
+d.  There is a new `autocd' option that, when enabled, causes bash to attempt
+    to `cd' to a directory name that is supplied as the first word of a
+    simple command.
+
+e.  There is a new `checkjobs' option that causes the shell to check for and
+    report any running or stopped jobs at exit.
+
+f.  The programmable completion code exports a new COMP_TYPE variable, set to
+    a character describing the type of completion being attempted.
+
+g.  The programmable completion code exports a new COMP_KEY variable, set to
+    the character that caused the completion to be invoked (e.g., TAB).
+
+h.  If creation of a child process fails due to insufficient resources, bash
+    will try again several times before reporting failure.
+
+i.  The programmable completion code now uses the same set of characters as
+    readline when breaking the command line into a list of words.
+
+j.  The block multiplier for the ulimit -c and -f options is now 512 when in
+    Posix mode, as Posix specifies.
+
+k.  Changed the behavior of the read builtin to save any partial input received
+    in the specified variable when the read builtin times out.  This also
+    results in variables specified as arguments to read to be set to the empty
+    string when there is no input available.  When the read builtin times out,
+    it returns an exit status greater than 128.
+
+l.  The shell now has the notion of a `compatibility level', controlled by
+    new variables settable by `shopt'.  Setting this variable currently
+    restores the bash-3.1 behavior when processing quoted strings on the rhs
+    of the `=~' operator to the `[[' command.
+
+m.  The `ulimit' builtin now has new -b (socket buffer size) and -T (number
+    of threads) options.
+
+n.  The -p option to `declare' now displays all variable values and attributes
+    (or function values and attributes if used with -f).
+
+o.  There is a new `compopt' builtin that allows completion functions to modify
+    completion options for existing completions or the completion currently
+    being executed.
+
+p.  The `read' builtin has a new -i option which inserts text into the reply
+    buffer when using readline.
+
+q.  A new `-E' option to the complete builtin allows control of the default
+    behavior for completion on an empty line.
+
+r.  There is now limited support for completing command name words containing
+    globbing characters.
+
+s.  Changed format of internal help documentation for all builtins to roughly
+    follow man page format.
+
+t.  The `help' builtin now has a new -d option, to display a short description,
+    and a -m option, to print help information in a man page-like format.
+
+u.  There is a new `mapfile' builtin to populate an array with lines from a
+    given file.
+
+v.  If a command is not found, the shell attempts to execute a shell function
+    named `command_not_found_handle', supplying the command words as the
+    function arguments.
+
+w.  There is a new shell option: `globstar'.  When enabled, the globbing code
+    treats `**' specially -- it matches all directories (and files within
+    them, when appropriate) recursively.
+
+x.  There is a new shell option: `dirspell'.  When enabled, the filename
+    completion code performs spelling correction on directory names during
+    completion.
+
+y.  The `-t' option to the `read' builtin now supports fractional timeout
+    values.
+
+z.  Brace expansion now allows zero-padding of expanded numeric values and
+    will add the proper number of zeroes to make sure all values contain the
+    same number of digits.
+
+aa. There is a new bash-specific bindable readline function: `dabbrev-expand'.
+    It uses menu completion on a set of words taken from the history list.
+
+bb. The command assigned to a key sequence with `bind -x' now sets two new
+    variables in the environment of the executed command:  READLINE_LINE_BUFFER
+    and READLINE_POINT.  The command can change the current readline line
+    and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT,
+    respectively.
+
+cc. There is a new &>> redirection operator, which appends the standard output
+    and standard error to the named file.
+
+dd. The parser now understands `|&' as a synonym for `2>&1 |', which redirects
+    the standard error for a command through a pipe.
+
+ee. The new `;&' case statement action list terminator causes execution to
+    continue with the action associated with the next pattern in the
+    statement rather than terminating the command.
+
+ff. The new `;;&' case statement action list terminator causes the shell to
+    test the next set of patterns after completing execution of the current
+    action, rather than terminating the command.
+
+gg. The shell understands a new variable: PROMPT_DIRTRIM.  When set to an
+    integer value greater than zero, prompt expansion of \w and \W  will
+    retain only that number of trailing pathname components and replace
+    the intervening characters with `...'.
+
+hh. There are new case-modifying word expansions: uppercase (^[^]) and
+    lowercase (,[,]).  They can work on either the first character or
+    array element, or globally.  They accept an optional shell pattern
+    that determines which characters to modify.  There is an optionally-
+    configured feature to include capitalization operators.
+
+ii. The shell provides associative array variables, with the appropriate
+    support to create, delete, assign values to, and expand them.
+
+jj. The `declare' builtin now has new -l (convert value to lowercase upon
+    assignment) and -u (convert value to uppercase upon assignment) options.
+    There is an optionally-configurable -c option to capitalize a value at
+    assignment.
+
+kk. There is a new `coproc' reserved word that specifies a coprocess: an
+    asynchronous command run with two pipes connected to the creating shell.
+    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.
+
+4.  New Features in Readline
+
+a.  A new variable, rl_sort_completion_matches; allows applications to inhibit
+    match list sorting (but beware: some things don't work right if
+    applications do this).
+
+b.  A new variable, rl_completion_invoking_key; allows applications to discover
+    the key that invoked rl_complete or rl_menu_complete.
+
+c.  The functions rl_block_sigint and rl_release_sigint are now public and
+    available to calling applications who want to protect critical sections
+    (like redisplay).
+
+d.  The functions rl_save_state and rl_restore_state are now public and
+    available to calling applications; documented rest of readline's state
+    flag values.
+
+e.  A new user-settable variable, `history-size', allows setting the maximum
+    number of entries in the history list.
+
+f.  There is a new implementation of menu completion, with several improvements
+    over the old; the most notable improvement is a better `completions
+    browsing' mode.
+
+g.  The menu completion code now uses the rl_menu_completion_entry_function
+    variable, allowing applications to provide their own menu completion
+    generators.
+
+h.  There is support for replacing a prefix  of a pathname with a `...' when
+    displaying possible completions.  This is controllable by setting the
+    `completion-prefix-display-length' variable.  Matches with a common prefix
+    longer than this value have the common prefix replaced with `...'.
+
+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.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.2-release,
+and the previous version, bash-3.2-beta.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused the temporary environment passed to a command to
+    affect the shell's environment under certain circumstances.
+
+b.  Fixed a bug in the printf builtin that caused the %q format specifier to
+    ignore empty string arguments.
+
+c.  Improved multibyte character environment detection at configuration time.
+
+d.  Fixed a bug in the read builtin that left spurious escape characters in the
+    input after processing backslashes when assigning to an array variable.
+
+2.  Changes to Readline
+
+a.  Fixed a redisplay bug that occurred in multibyte-capable locales when the
+    prompt was one character longer than the screen width.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.2-beta,
+and the previous version, bash-3.2-alpha.
+
+1.  Changes to Bash
+
+a.  Changed the lexical analyzer to treat locale-specific blank characters as
+    white space.
+
+b.  Fixed a bug in command printing to avoid confusion between redirections and
+    process substitution.
+
+c.  Fixed problems with cross-compiling originating from inherited environment
+    variables.
+
+d.  Added write error reporting to printf builtin.
+
+e.  Fixed a bug in the variable expansion code that could cause a core dump in
+    a multi-byte locale.
+
+f.  Fixed a bug that caused substring expansion of a null string to return
+    incorrect results.
+
+g.  BASH_COMMAND now retains its previous value while executing commands as the
+    result of a trap, as the documentation states.
+
+2.  Changes to Readline
+
+a.  Fixed a bug with prompt redisplay in a multi-byte locale to avoid redrawing
+    the prompt and input line multiple times.
+
+b.  Fixed history expansion to not be confused by here-string redirection.
+
+c.  Readline no longer treats read errors by converting them to newlines, as
+    it does with EOF.  This caused partial lines to be returned from readline().
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.2-alpha,
+and the previous version, bash-3.1-release.
+
+1.  Changes to Bash
+
+a.  Fixed a source bug that caused the minimal configuration to not compile.
+
+b.  Fixed memory leaks in error handling for the `read' builtin.
+
+c.  Changed the [[ and (( compound commands to set PIPESTATUS with their exit
+    status.
+
+d.  Fixed some parsing problems with compound array assignments.
+
+e.  Added additional configuration changes for: NetBSD (incomplete multibyte
+    character support)
+
+f.  Fixed two bugs with local array variable creation when shadowing a variable
+    of the same name from a previous context.
+
+g.  Fixed the `read' builtin to restore the correct set of completion functions
+    if a timeout occurs.
+
+h.  Added code to defer the initialization of HISTSIZE (and its stifling of the
+    history list) until the history file is loaded, allowing a startup file to
+    override the default value.
+
+i.  Tightened up the arithmetic expression parsing to produce better error
+    messages when presented with invalid operators.
+
+j.  Fixed the cross-compilation support to build the signal list at shell
+    invocation rather than compile time if cross-compiling.
+
+k.  Fixed multibyte support for non-gcc compilers (or compilers that do not
+    allow automatic array variable sizing based on a non-constant value).
+
+l.  Several fixes to the code that manages the list of terminated jobs and
+    their exit statuses, and the list of active and recently-terminated jobs
+    to avoid pid aliasing/wraparound and allocation errors.
+
+m.  Fixed a problem that allowed scripts to die due to SIGINT while waiting
+    for children, even when started in the background or otherwise ignoring
+    SIGINT.
+
+n.  Fixed a bug that caused shells invoked as -/bin/bash from not being
+    recognized as login shells.
+
+o.  Fixed a problem that caused shells in the background to give the terminal
+    to a process group other than the foreground shell process group.
+
+p.  Fixed a problem with extracting the `varname' in ${#varname}.
+
+q.  Fixed the code that handles SIGQUIT to not exit immediately -- thereby
+    calling functions that may not be called in a signal handler context --
+    but set a flag and exit afterward (like SIGINT).
+
+r.  Changed the brace expansion code to skip over braces that don't begin a
+    valid matched brace expansion construct.
+
+s.  Fixed `typeset' and `declare' to not require that their shell function
+    operands to be valid shell identifiers.
+
+t.  Changed `test' to use access(2) with a temporary uid/euid swap when testing
+    file attributes and running setuid, and access(2) in most other cases.
+
+u.  Changed completion code to not attempt command name completion on a line
+    consisting solely of whitespace when no_empty_command_completion is set.
+
+v.  The `hash' builtin now prints nothing in posix mode when the hash table is
+    empty, and prints a message to that effect to stdout instead of stderr
+    when not in posix mode.
+
+w.  Fixed a bug in the extended pattern matching code that caused it to fail to
+    match periods with certain patterns.
+
+x.  Fixed a bug that caused the shell to dump core when performing filename
+    generation in directories with thousands of files.
+
+y.  Returned to the original Bourne shell rules for parsing ``:  no recursive
+    parsing of embedded quoted strings or ${...} constructs.
+
+z.  The inheritence of the DEBUG, RETURN, and ERR traps is now dependent only
+    on the settings of the `functrace' and `errtrace' shell options, rather
+    than whether or not the shell is in debugging mode.
+
+aa. Fixed a problem with $HOME being converted to ~ in the expansion of
+    members of the DIRSTACK array.
+
+bb. Fixed a problem with quoted arguments to arithmetic expansions in certain
+    constructs.
+
+cc. The command word completion code now no longer returns matching directories
+    while searching $PATH.
+
+dd. Fixed a bug with zero-padding and precision handling in snprintf()
+    replacement.
+
+ee. Fixed a bug that caused the command substitution code not to take embedded
+    shell comments into account.
+
+ff. Fixed a bug that caused $((...);(...)) to be misinterpreted as an
+    arithmetic substitution.
+
+gg. Fixed a bug in the prompt expansion code that inappropriately added a
+    \001 before a \002 under certain circumstances.
+
+hh. Fixed a bug that caused `unset LANG' to not properly reset the locale
+    (previous versions would set the locale back to what it was when bash
+    was started rather than the system's "native" locale).
+
+ii. Fixed a bug that could cause file descriptors > 10 to not be closed even
+    when closed explicitly by a script.
+
+jj. Fixed a bug that caused single quotes to be stripped from ANSI-C quoting
+    inside double-quoted command substitutions.
+
+kk. Fixed a bug that could cause core dumps when `return' was executed as the
+    last element of a pipeline inside a shell function.
+
+ll. Fixed a bug that caused DEBUG trap strings to overwrite commands stored in
+    the jobs list.
+
+2.  Changes to Readline
+
+a.  Fixed a problem that caused segmentation faults when using readline in
+    callback mode and typing consecutive DEL characters on an empty line.
+
+b.  Fixed several redisplay problems with multibyte characters, all having to
+    do with the different code paths and variable meanings between single-byte
+    and multibyte character redisplay.
+
+c.  Fixed a problem with key sequence translation when presented with the
+    sequence \M-\C-x.
+
+d.  Fixed a problem that prevented the `a' command in vi mode from being
+    undone and redone properly.
+
+e.  Fixed a problem that prevented empty inserts in vi mode from being undone
+    properly.
+
+f.  Fixed a problem that caused readline to initialize with an incorrect idea
+    of whether or not the terminal can autowrap.
+
+g.  Fixed output of key bindings (like bash `bind -p') to honor the setting of
+    convert-meta and use \e where appropriate.
+
+h.  Changed the default filename completion function to call the filename
+    dequoting function if the directory completion hook isn't set.  This means
+    that any directory completion hooks need to dequote the directory name,
+    since application-specific hooks need to know how the word was quoted,
+    even if no other changes are made.
+
+i.  Fixed a bug with creating the prompt for a non-interactive search string
+    when there are non-printing characters in the primary prompt.
+
+j.  Fixed a bug that caused prompts with invisible characters to be redrawn
+    multiple times in a multibyte locale.
+
+k.  Fixed a bug that could cause the key sequence scanning code to return the
+    wrong function.
+
+l.  Fixed a problem with the callback interface that caused it to fail when
+    using multi-character keyboard macros.
+
+m.  Fixed a bug that could cause a core dump when an edited history entry was
+    re-executed under certain conditions.
+
+n.  Fixed a bug that caused readline to reference freed memory when attmpting
+    to display a portion of the prompt.
+
+3.  New Features in Bash
+
+a.  Changed the parameter pattern replacement functions to not anchor the
+    pattern at the beginning of the string if doing global replacement - that
+    combination doesn't make any sense.
+
+b.  When running in `word expansion only' mode (--wordexp option), inhibit
+    process substitution.
+
+c.  Loadable builtins now work on MacOS X 10.[34].
+
+d.  Shells running in posix mode no longer set $HOME, as POSIX requires.
+
+e.  The code that checks for binary files being executed as shell scripts now
+    checks only for NUL rather than any non-printing character.
+
+f.  Quoting the string argument to the [[ command's  =~ operator now forces
+    string matching, as with the other pattern-matching operators.
+
+4.  New Features in Readline
+
+a.  Calling applications can now set the keyboard timeout to 0, allowing
+    poll-like behavior.
+
+b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
+    the default last-ditch startup file.
+
+c.  The history file reading functions now allow windows-like \r\n line
+    terminators.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-release,
+and the previous version, bash-3.1-rc2.
+
+1.  Changes to Readline
+
+a.  Several changes to the multibyte redisplay code to fix problems with
+    prompts containing invisible characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-rc2,
+and the previous version, bash-3.1-rc1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused a DEBUG trap to overwrite a command string that's
+    eventually attached to a background job.
+
+b.  Changed some code so that filenames with leading tildes with spaces in the
+    name aren't tilde-expanded by the bash completion code.
+
+c.  Fixed a bug that caused the pushd builtin to fail to change to
+    directories with leading `-'.
+
+d.  Fixed a small memory leak in the programmable completion code.
+
+2.  Changes to Readline
+
+a.  Fixed a redisplay bug caused by moving the cursor vertically to a line
+    with invisible characters in the prompt in a multibyte locale.
+
+b.  Fixed a bug that could cause the terminal special chars to be bound in the
+    wrong keymap in vi mode.
+
+3.  New Features in Bash
+
+a.  If compiled for strict POSIX conformance, LINES and COLUMNS may now
+    override the true terminal size.
+
+4.  New Features in Readline
+
+a.  A new external application-controllable variable that allows the LINES
+    and COLUMNS environment variables to set the window size regardless of
+    what the kernel returns.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-rc1,
+and the previous version, bash-3.1-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that could cause core dumps due to accessing the current
+    pipeline while in the middle of modifying it.
+
+b.  Fixed a bug that caused pathnames with backslashes still quoting characters
+    to be passed to opendir().
+
+c.  Command word completion now obeys the setting of completion-ignore-case.
+
+d.  Fixed a problem with redirection that caused file descriptors greater than
+    2 to be inappropriately marked as close-on-exec.
+
+e.  In Posix mode, after `wait' is called to wait for a particular process
+    explicitly, that process is removed from the list of processes known to
+    the shell, and subsequent attempts to wait for it return errors.
+
+f.  Fixed a bug that caused extended pattern matching to incorrectly scan
+    backslash-escaped pattern characters.
+
+g.  Fixed a synchronization problem that could cause core dumps when handling
+    a SIGWINCH.
+
+h.  Fixed a bug that caused an unmatched backquote to be accepted without an
+    error when processing here documents.
+
+i.  Fixed a small memory leak in the `cd' builtin.
+
+j.  Fix for MacOS X so it gets the values for the HOSTTYPE, MACHTYPE, and
+    OSTYPE variables at build time, to support universal binaries.
+
+k.  Fixed a bug that could cause an exit trap to return the exit status of
+    the trap command rather than the status as it was before the trap was
+    run as the shell's exit status.
+
+2.  New Features in Bash
+
+3.  Changes to Readline
+
+a.  Fixed a bug that caused reversing the incremental search direction to
+    not work correctly.
+
+b.  Fixed the vi-mode `U' command to only undo up to the first time insert mode
+    was entered, as Posix specifies.
+
+c.  Fixed a bug in the vi-mode `r' command that left the cursor in the wrong
+    place.
+
+4.  New Features in Readline
+
+a.  New application-callable auxiliary function, rl_variable_value, returns
+    a string corresponding to a readline variable's value.
+
+b.  When parsing inputrc files and variable binding commands, the parser
+    strips trailing whitespace from values assigned to boolean variables
+    before checking them.
+
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-beta1,
+and the previous version, bash-3.1-alpha1.
+
+1.  Changes to Bash
+
+a.  Added some system-specific signal names.
+
+b.  Fixed a typo in the ulimit builtin to make `x' the right option to
+    maniuplate the limit on file locks.
+
+c.  Fixed a problem with using += to append to index 0 of an array variable
+    when not using subscript syntax.
+
+d.  A few changes to configure.in to remove calls to obsolete or outdated
+    macros.
+
+e.  Make sure changes to variables bash handles specially (e.g., LC_ALL) are
+    made when the variable is set in the temporary environment to a command.
+
+f.  Make sure changes to variables bash handles specially (e.g., LC_ALL) are
+    made when the variable is modified using `printf -v'.
+
+g.  The export environment is now remade on cygwin when HOME is changed, so
+    DLLs bash is linked against pick up the new value.  This fixes problems
+    with tilde expansion when linking against and already-installed readline.
+
+h.  Small fix to the logic for performing tilde expansion in posix mode, so
+    expansion on the right-hand side of an assignment statement takes place.
+
+i.  Fixed a bug that prevented redirections associated with a shell function
+    from being executed when in a subshell.
+
+j.  Fixed `source' and `.' builtins to not require an executable file when
+    searching $PATH for a file to source.
+
+k.  Fixed a bug that caused incorrect word splitting in a function when IFS
+    was declared local, then unset.
+
+l.  Fixed a problem with the `kill' builtin that prevented sending signals
+    to a process group under certain circumstances when providing a pid < 0.
+
+m.  When in POSIX mode, `pwd' now checks that the value it prints is the same
+    directory as `.', even when displaying $PWD.
+
+n.  Fixed a problem with the `read' builtin when reading a script from standard
+    input and reading data from the same file.
+
+o.  Fixed a problem with the `type' and `command' builtins that caused absolute
+    pathnames to be displayed incorrectly.
+
+p.  Some changes to the `bg' builtin for POSIX conformance.
+
+q.  The `fc' builtin now removes the `fc' command that caused it to invoke an
+    editor on specified history entries from the history entirely, rather than
+    simply ignoring it.
+
+r.  When in POSIX mode, the `v' command in vi editing mode simply invokes vi
+    on the current command, rather than checking $FCEDIT and $EDITOR.
+
+s.  Fixed a small memory leak in the pathname canonicalization code.
+
+t.  Fixed a bug that caused the expanded value of a $'...' string to be
+    incorrectly re-quoted if it occurred within a double-quoted ${...}
+    parameter expansion.
+
+u.  Restored default emacs-mode key binding of M-TAB to dynamic-complete-history.
+
+v.  Fixed a bug that caused core dumps when interrupting loops running builtins
+    on some systems.
+
+w.  Make sure that some of the functions bash provides replacements for are
+    not cpp defines.
+
+x.  The code that scans embedded commands for the parser (`...` and $(...)) is
+    now more aware of embedded comments and their effect on quoted strings.
+
+y.  Changed the `-n' option to the `history' builtin to not reset the number of
+    history lines read in the current session after reading the new lines from
+    the history file if the history is being appended when it is written to
+    the file, since the appending takes care of the problem that the adjustment
+    was intended to solve.
+
+z.  Improved the error message displayed when a shell script fails to execute
+    because the environment and size of command line arguments are too large.
+
+aa. A small fix to make sure that $HISTCMD is evaluated whenever the shell is
+    saving commands to the history list, not just when HISTSIZE is defined.
+
+2.  Changes to Readline
+
+a.  The `change-case' command now correctly changes the case of multibyte
+    characters.
+
+b.  Changes to the shared library construction scripts to deal with Windows
+    DLL naming conventions for Cygwin.
+
+c.  Fixed the redisplay code to avoid core dumps resulting from a poorly-timed
+    SIGWINCH.
+
+d.  Fixed the non-incremental search code in vi mode to dispose of any current
+    undo list when copying a line from the history into the current editing
+    buffer.
+
+e.  The variable assignment code now ignores whitespace at the end of lines
+    when assigning to boolean variables.
+
+f.  The `C-w' binding in incremental search now understands multibyte
+    characters.
+
+3.  New Features in Bash
+
+a.  A new configuration option, `--enable-strict-posix-default', which will
+    build bash to be POSIX conforming by default.
+
+4.  New Features in Readline
+
+a.  If the rl_completion_query_items is set to a value < 0, readline never
+    asks the user whether or not to view the possible completions.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-alpha1,
+and the previous version, bash-3.0-release.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused bash to crash if referencing an unset local array.
+
+b.  Fixed a problem that caused tilde expansion to not be performed before
+    attempting globbing word completion.
+
+c.  Fixed an incompatibility so that a first argument to trap that's a valid
+    signal number will be trated as a signal rather than a command to execute.
+
+d.  Fixed ${#word} expansion to correctly compute the length of a string
+    containing multibyte characters.
+
+e.  Fixed a bug that caused bash to not pass the correct flags for signal
+    disposition to child processes.
+
+f.  Fixed a bug that caused `fc -l' to list one too many history entries.
+
+g.  Some fixes to `fc' for POSIX conformance.
+
+h.  Some fixes to job status display for POSIX conformance.
+
+i.  Fixed a bug that caused `command -v' to display output if a command was not
+    found -- it should be silent.
+
+j.  In POSIX mode, `type' and `command -[vV]' do not report non-executable
+    files, even if the shell will attempt to execute them.
+
+k.  Fixed a bug that caused the `==' operator to the [[ command to not attempt
+    extended pattern matching.
+
+l.  Fixed the brace expansion code to handle characters whose value exceeds 128.
+
+m.  Fixed `printf' to handle strings with a leading `\0' whose length is
+    non-zero.
+
+n.  Fixed a couple of problems with brace expansion where `${' was handled
+    incorrectly.
+
+o.  Fixed off-by-one error when calculating the upper bound of `offset' when
+    processing the ${array[@]:offset:length} expansion.
+
+p.  System-specific configuration changes for: FreeBSD 5.x, Interix, MacOS X
+    10.4, Linux 2.4+ kernels, Linux 3.x kernels, Dragonfly BSD, QNX 6.x,
+    Cygwin
+
+q.  Fixed a bug that caused the shell to ignore the status of the rightmost
+    command in a pipeline when the `pipefail' option was enabled.
+
+r.  Fixed a completion bug that caused core dumps when expanding a directory
+    name.
+
+s.  Fixed a bug that prevented `hash -d' from removing commands from the hash
+    table.
+
+t.  Fixed word splitting to avoid really bad quadratic performance when
+    expanding long lists.
+
+u.  Fixed a bug that caused negative offsets in substring expansion to use the
+    wrong values.
+
+v.  Fixed a bug in printf that caused it to not return failure on write errors.
+
+w.  Fixed a bug that caused commands in subshells to not be properly timed.
+
+x.  The shell parser no longer attempts to parse a compound assignment specially
+    unless in a position where an assignment statement is acceptable or parsing
+    arguments to a builtin that accepts assignment statements.
+
+y.  Fixed a problem that caused a `case' statement to be added to the history
+    incorrectly as a single command if the `case word' was on one line and the
+    `in' on another.
+
+z.  Fixed a problem that caused internal shell quoting characters to be
+    incorrectly quoted with backslashes under some circumstances.
+
+aa. The shell now performs correct word splitting when IFS contains multibyte
+    characters.
+
+bb. The mail checking code now resets the cached file information if the size
+    drops to 0, even if the times don't change.
+
+cc. A completed command name that is found in $PATH as well as the name of a
+    directory in the current directory no longer has a slash appended in certain
+    circumstances:  a single instance found in $PATH when `.' is not in $PATH,
+    and multiple instances found in $PATH, even when `.' is in $PATH.
+
+dd. Incorporated tilde expansion into the word expansion code rather than as a
+    separately-called function, fixing some cases where it was performed
+    inappropriately (e.g., after the second `=' in an assignment statement or
+    in a double-quoted parameter expansion).
+
+ee. Fixed several bugs encountered when parsing compound assignment statements,
+    so that compound assignments appearing as arguments to builtins are no
+    longer double-expanded.
+
+ff. Fixed a bug in the command execution code that caused asynchronous commands
+    containing command substitutions to not put the terminal in the wrong
+    process group.
+
+gg. Bash now handles the case where the WCONTINUED flag causes waitpid() to
+    return -1/EINVAL at runtime as well as configuration time.
+
+hh. Fixed parser to generate an error when the pipeline `argument' to `!' or
+    `time' is NULL.
+
+ii. The shell now takes a little more care when manipulating file descriptors
+    greater than 9 with the `exec' builtin.
+
+jj. Fixed a bug that caused variable assignments preceding the `command' builtin
+    preceding a special builtin to be preserved after the command completed in
+    POSIX mode.
+
+kk. Fixed a bug that allowed variables beginning with a digit to be created.
+
+ll. Fixed a bug that caused a \<newline> to be removed when parsing a $'...'
+    construct.
+
+mm. A shell whose name begins with `-' will now be a restricted shell if the
+    remainder of the name indicates it should be restricted.
+
+nn. Fixed a bug that could cause a core dump if FUNCNAME were changed or unset
+    during a function's execution.
+
+oo. Fixed a bug that caused executing a `return' in a function to not execute
+    a RETURN trap.  The RETURN trap is inherited by shell functions only if
+    function tracing is globally enabled or has been enabled for that function.
+
+pp. Fixed cases where var[@] was not handled exactly like var, when var is a
+    scalar variable.
+
+qq. Fixed a bug that caused the first character after a SIGINT to be discarded
+    under certain circumstances.
+
+rr. Fixed exit status code so that a suspended job returns 128+signal as its
+    exit status (preventing commands after it in `&&' lists from being
+    executed).
+
+ss. Fixed a bug that caused the shell parser state to be changed by executing
+    a shell function as a result of word completion.
+
+tt. Fixed a long-standing bug that caused '\177' characters in variable
+    values to be discarded when expanded in double-quoted strings.
+
+uu. Fixed a bug that caused $RANDOM to be re-seeded multiple times in a
+    subshell environment.
+
+vv. Extensive changes to the job management code to avoid the pid-reuse and
+    pid-aliasing problems caused by retaining the exit status of too many jobs,
+    but still retain as many background job statuses as POSIX requires.
+
+ww. Fixed a parser bug in processing \<newline> that caused things like
+
+               ((echo 5) \
+                (echo 6))
+
+    to not work correctly.
+
+xx. `pwd -P' now sets $PWD to a directory name containing no symbolic links
+    when in posix mode, as POSIX requires.
+
+yy. In posix mode, bash no longer sets $PWD to a name containing no symbolic
+    links if a directory is chosen from $CDPATH.
+
+zz. The word splitting code now treats an IFS character that is not space,
+    tab, or newline and any adjacent IFS white space as a single delimiter, as
+    SUSv3/XPG6 require.
+
+aaa. The `read' builtin now checks whether or not the number of fields read is
+     exactly the same as the number of variables instead of just assigning the
+     rest of the line (minus any trailing IFS white space) to the last
+     variable.  This is what POSIX/SUS/XPG all require.
+
+bbb. Fixed a bug that caused `read' to always check whether or not fd 0 was a
+     pipe, even when reading from another file descriptor.
+
+ccc. Fixed a bug that caused short-circuiting of execution even if the return
+     value was being inverted.
+
+ddd. Fixed a bug that caused a core dump while decoding \W escapes in PS1 if
+     PWD was unset.
+
+eee. Fixed a bug in `read' that counted internal quoting characters for the
+     purposes of `read -n'.
+
+fff. Fixed a bug so that a function definition in a pipeline causes a child
+     process to be forked at the right time.
+
+ggg. Bash will not attempt to link against a readline library that doesn't
+     have rl_gnu_readline_p == 1.
+
+hhh. Fixed a bug that caused `read' to consume one too many characters when
+     reading a fixed number of characters and the Nth character is a backslash.
+
+iii. Fixed a bug that caused `unset' on variables in the temporary environment
+     to leave them set when `unset' completed.
+
+jjj. Fixed a bug that caused bash to close fd 2 if an `exec' failed and the
+     shell didn't exit.
+
+kkk. The completion code is more careful to not turn `/' or `///' into `//',
+     for those systems on which `//' has special meaning.
+
+lll. Fixed a bug that caused command substitution in asynchronous commands to
+     close the wrong file descriptors.
+
+mmm. The shell no longer prints status messages about terminated background
+     processes unless job control is active.
+
+nnn. Fixed a bug that prevented multiple consecutive invocations of `history -s'
+     from adding all the commands to the history list.
+
+ooo. Added a couple of changes to make arithmetic expansion more consistent in
+     all its contexts (still not perfect).
+
+ppp. Fixed a bug that caused the parser to occasionally not find the right
+     terminating "`" in an old-style command substitution.
+
+qqq. Fixed a bug that caused core dumps when the shell was reading its non-
+     interactive input from fd 0 and fd 0 was duplicated and restored using a
+     combination of `exec' (to save) and redirection (to restore).
+
+rrr. Fixed a problem that caused loops in sourced scripts to not be cleaned
+     up properly when a `return' is executed.
+
+sss. Change internal command substitution completion function to append a slash
+     to directory names in the command.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused multiliine prompts to be wrapped and displayed
+    incorrectly.
+
+b.  Fixed a bug that caused ^P/^N in emacs mode to fail to display the current
+    line correctly.
+
+c.  Fixed a problem in computing the number of invisible characters on the first
+    line of a prompt whose length exceeds the screen width.
+
+d.  Fixed vi-mode searching so that failure preserves the current line rather
+    than the last line in the history list.
+
+e.  Fixed the vi-mode `~' command (change-case) to have the correct behavior at
+    end-of-line when manipulating multibyte characters.
+
+f.  Fixed the vi-mode `r' command (change-char) to have the correct behavior at
+    end-of-line when manipulating multibyte characters.
+
+g.  Fixed multiple bugs in the redisplay of multibyte characters:  displaying
+    prompts longer than the screen width containing multibyte characters, 
+
+h.  Fix the calculation of the number of physical characters in the prompt
+    string when it contains multibyte characters.
+
+i.  A non-zero value for the `rl_complete_suppress_append' variable now causes
+    no `/' to be appended to a directory name.
+
+j.  Fixed forward-word and backward-word to work when words contained
+    multibyte characters.
+
+k.  Fixed a bug in finding the delimiter of a `?' substring when performing
+    history expansion in a locale that supports multibyte characters.
+
+l.  Fixed a memory leak caused by not freeing the timestamp in a history entry.
+
+m.  Fixed a bug that caused "\M-x" style key bindings to not obey the setting
+    of the `convert-meta' variable.
+
+n.  Fixed saving and restoring primary prompt when prompting for incremental
+    and non-incremental searches; search prompts now display multibyte
+    characters correctly.
+
+o.  Fixed a bug that caused keys originally bound to self-insert but shadowed
+    by a multi-character key sequence to not be inserted.
+
+p.  Fixed code so rl_prep_term_function and rl_deprep_term_function aren't
+    dereferenced if NULL (matching the documentation).
+
+q.  Extensive changes to readline to add enough state so that commands
+    requiring additional characters (searches, multi-key sequences, numeric
+    arguments, commands requiring an additional specifier character like
+    vi-mode change-char, etc.) work without synchronously waiting for
+    additional input.
+
+r.  Lots of changes so readline builds and runs on MinGW.
+
+s.  Readline no longer tries to modify the terminal settings when running in
+    callback mode.
+
+t.  The Readline display code no longer sets the location of the last invisible
+    character in the prompt if the \[\] sequence is empty.
+
+3.  New Features in Bash
+
+a.  Bash now understands LC_TIME as a special variable so that time display
+    tracks the current locale.
+
+b.  BASH_ARGC, BASH_ARGV, BASH_SOURCE, and BASH_LINENO are no longer created
+    as `invisible' variables and may not be unset.
+
+c.  In POSIX mode, if `xpg_echo' option is enabled, the `echo' builtin doesn't
+    try to interpret any options at all, as POSIX requires.
+
+d.  The `bg' builtin now accepts multiple arguments, as POSIX seems to specify.
+
+e.  Fixed vi-mode word completion and glob expansion to perform tilde
+    expansion.
+
+f.  The `**' mathematic exponentiation operator is now right-associative.
+
+g.  The `ulimit' builtin has new options: -i (max number of pending signals),
+    -q (max size of POSIX message queues), and -x (max number of file locks).
+
+h.  A bare `%' once again expands to the current job when used as a job
+    specifier.
+
+i.  The `+=' assignment operator (append to the value of a string or array) is
+    now supported for assignment statements and arguments to builtin commands
+    that accept assignment statements.
+
+j.  BASH_COMMAND now preserves its value when a DEBUG trap is executed.
+
+k.  The `gnu_errfmt' option is enabled automatically if the shell is running
+    in an emacs terminal window.
+
+l.  New configuration option:  --single-help-strings.  Causes long help text
+    to be written as a single string; intended to ease translation.
+
+m.  The COMP_WORDBREAKS variable now causes the list of word break characters
+    to be emptied when the variable is unset.
+
+n.  An unquoted expansion of $* when $IFS is empty now causes the positional
+    parameters to be concatenated if the expansion doesn't undergo word
+    splitting.
+
+o.  Bash now inherits $_ from the environment if it appears there at startup.
+
+p.  New shell option: nocasematch.  If non-zero, shell pattern matching ignores
+    case when used by `case' and `[[' commands.
+
+q.  The `printf' builtin takes a new option: -v var.  That causes the output
+    to be placed into var instead of on stdout.
+
+r.  By default, the shell no longer reports processes dying from SIGPIPE.
+
+s.  Bash now sets the extern variable `environ' to the export environment it
+    creates, so C library functions that call getenv() (and can't use the
+    shell-provided replacement) get current values of environment variables.
+
+4.  New Features in Readline
+
+a.  The key sequence sent by the keypad `delete' key is now automatically
+    bound to delete-char.
+
+b.  A negative argument to menu-complete now cycles backward through the
+    completion list.
+
+c.  A new bindable readline variable:  bind-tty-special-chars.  If non-zero,
+    readline will bind the terminal special characters to their readline
+    equivalents when it's called (on by default).
+
+d.  New bindable command: vi-rubout.  Saves deleted text for possible
+    reinsertion, as with any vi-mode `text modification' command; `X' is bound
+    to this in vi command mode.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-release,
+and the previous version, bash-3.0-rc1.
+
+1.  Changes to Bash
+
+a.  Fixed a boundary overrun that could cause segmentation faults when the
+    completion code hands an incomplete construct to the word expansion
+    functions.
+
+b.  Changed posix mode behavior so that an error in a variable assignment
+    preceding a special builtin causes a non-interactive shell to exit.
+
+c.  Change the directory expansion portion of the completion code to not
+    expand embedded command substitutions if the directory name appears in
+    the file system.
+
+d.  Fixed a problem that caused `bash -r' to turn on restrictions before
+    reading the startup files.
+
+e.  Fixed a problem with the default operation of the `umask' builtin.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with readline saving the contents of the current line
+    before beginning a non-interactive search.
+
+b.  Fixed a problem with EOF detection when using rl_event_hook.
+
+c.  Fixed a problem with the vi mode `p' and `P' commands ignoring numeric
+    arguments.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-rc1,
+and the previous version, bash-3.0-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused incorrect behavior when referecing element 0 of
+    an array using $array, element 0 was unset, and `set -u' was enabled.
+
+b.  System-specific changes for: SCO Unix 3.2, Tandem.
+
+c.  Fixed a bug that caused inappropriate word splitting when a variable was
+    expanded within a double-quoted string that also included $@.
+
+d.  Fixed a bug that caused `pwd' to not display anything in physical mode
+    when the file system had changed underneath the shell.
+
+e.  Fixed a bug in the pre- and post- increment and decrement parsing in the
+    expression evaluator that caused errors when the operands and corresponding
+    operators were separated by whitespace.
+
+f.  Fixed a bug that caused `history -p' to add an entry to the history list,
+    counter to the documentation.  (Keeps the history expansions invoked by
+    emacs-mode command line editing from doing that as well.)
+
+g.  Fixed a bug that could cause a core dump if `cd' is asked to print out a
+    pathname longer than PATH_MAX characters.
+
+h.  Fixed a bug that caused jobs to be put into the wrong process group under
+    some circumstances after enabling job control with `set -m'.
+
+i.  `unalias' now  returns failure if no alias name arguments are supplied.
+
+j.  Documented the characters not allowed to appear in an alias name.
+
+k.  $* is no longer expanded as if in double quotes when it appears in the
+    body of a here document, as the SUS seems to require.
+
+l.  The `bashbug' script now uses a directory in $TMPDIR for exclusive
+    access rather than trying to guess how the underlying OS provides for
+    secure temporary file creation.
+
+m.  Fixed a few problems with `cd' and `pwd' when asked to operate on pathnames
+    longer than PATH_MAX characters.
+
+n.  Fixed a memory leak caused when creating multiple local array variables
+    with identical names.
+
+o.  Fixed a problem with calls to getcwd() so that bash now operates better
+    when the full pathname to the current directory is longer than PATH_MAX
+    bytes.
+
+p.  The `trap' builtin now reports an error if a single non-signal argument
+    is specified.
+
+q.  Fixed a bug that caused `umask' to not work correctly when presented
+    with a mask of all 0s.
+
+r.  When `getopts' reaches the end of options, OPTARG is unset, as POSIX
+    appears to specify.
+
+s.  Interactive mode now depends on whether or not stdin and stderr are
+    connected to a tty; formerly it  was stdin and stdout.  POSIX requires
+    this.
+
+t.  Fixed vi-mode completion to work more as POSIX specifies (e.g., doing the
+    right kind of filename generation).
+
+2.  Changes to Readline
+
+a.  Fixed a problem that could cause readline to refer to freed memory when
+    moving between history lines while doing searches.
+
+b.  Improvements to the code that expands and displays prompt strings
+    containing multibyte characters.
+
+c.  Fixed a problem with vi-mode not correctly remembering the numeric argument
+    to the last `c'hange command for later use with `.'.
+
+d.  Fixed a bug in vi-mode that caused multi-digit count arguments to work
+    incorrectly.
+
+e.  Fixed a problem in vi-mode that caused the last text modification command
+    to not be remembered across different command lines.
+
+f.  Fixed problems with changing characters and changing case at the end of
+    the line.
+
+3.  New Features in Bash
+
+a.  The `jobs', `kill', and `wait' builtins now accept job control notation
+    even if job control is not enabled.
+
+b.  The historical behavior of `trap' that allows a missing `action' argument
+    to cause each specified signal's handling to be reset to its default is
+    now only supported when `trap' is given a single non-option argument.
+
+4.  New Features in Readline
+
+a.  When listing completions, directories have a `/' appended if the
+    `mark-directories' option has been enabled.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-beta1,
+and the previous version, bash-3.0-alpha.
+
+1.  Changes to Bash
+
+a.  Fixes to build correctly when arrays are not compiled into the shell.
+
+b.  Fixed command substitution to run any exit trap defined in the command
+    substitution before returning; the exit trap is not inherited from the
+    calling shell.
+
+c.  Fixes to process group synchronization code so that every child process
+    attempts to set the terminal's process group; fixes some synchronization
+    problems on Linux kernels that schedule the child to always run before
+    the parent.
+
+d.  Fixed processing of octal and hex constants in printf builtin for POSIX.2
+    compliance.
+
+e.  Fixed a couple of core dumps in the pattern removal code.
+
+f.  Fixes to the array subrange extraction code to deal better with sparse
+    arrays.
+
+g.  Parser errors and other errors that result in the shell exiting now cause
+    the exit trap to be run.
+
+h.  Change the command substitution completion functions to not append any
+    closing quote, because it would be inserted a closing "`" or ")".
+
+i.  Fix history initialization so assignments to $histchars made in startup
+    files are honored.
+
+j.  If an exit trap does not contain a call to `exit', the shell now uses
+    the exit status of the last command executed before the trap as the exit
+    status of the shell.
+
+k.  The parser now prompts with $PS2 if it reads a newline while parsing a
+    compound array assignment statement.
+
+l.  When performing a compound array assignment, the parser doesn't treat
+    words of the form [index]=value as assignments if they're the result of
+    expansions.
+
+m.  Fixed a bug that caused `return' executed in a trap command to make the
+    shell think it was still running the trap.
+
+n.  Fixed the value of errno set by the pathname canonicalization functions.
+
+o.  Changed the grammar so that `time' alone on a line times a null command
+    rather than being a syntax error.
+
+p.  The pattern substitution code no longer performs quote removal on the
+    pattern before trying to match it, as the pattern removal functions do.
+
+q.  Fixed a bug that could cause core dumps when checking whether a quoted
+    command name was being completed.
+
+r.  Fixes to the pattern removal and pattern replacement expansions to deal
+    with multibyte characters better (and faster).
+
+s.  Fix to the substring expansion (${param:off[:len]}) to deal with (possibly
+    multibyte) characters instead of raw bytes.
+
+t.  Fixed a bug that caused some key bindings set in an inputrc to be ignored
+    at shell startup.
+
+u.  Fixed a bug that caused unsetting a local variable within a function to
+    not work correctly.
+
+v.  Fixed a bug that caused invalid variables to be created when using
+    `read -a'.
+
+w.  Fixed a bug that caused "$@" to expand incorrectly when used as the right
+    hand side of a parameter expansion such as ${word:="$@"} if the first
+    character of $IFS was not a space.
+
+x.  Fixed a slight cosmetic problem when printing commands containing a
+    `>&word' redirection.
+
+y.  Fixed a problem that could cause here documents to not be created correctly
+    if the system temporary directory did not allow writing.
+
+2.  Changes to Readline
+
+a.  Change to history expansion functions to treat `^' as equivalent to word
+    one, as the documention states.
+
+b.  Some changes to the display code to improve display and redisplay of
+    multibyte characters.
+
+c.  Changes to speed up the multibyte character redisplay code.
+
+d.  Fixed a bug in the vi-mode `E' command that caused it to skip over the
+    last character of a word if invoked while point was on the word's
+    next-to-last character.
+
+e.  Fixed a bug that could cause incorrect filename quoting when
+    case-insensitive completion was enabled and the word being completed
+    contained backslashes quoting word break characters.
+
+f.  Fixed a bug in redisplay triggered when the prompt string contains
+    invisible characters.
+
+g.  Fixed some display (and other) bugs encountered in multibyte locales
+    when a non-ascii character was the last character on a line.
+
+h.  Fixed some display bugs caused by multibyte characters in prompt strings.
+
+i.  Fixed a problem with history expansion caused by non-whitespace characters
+    used as history word delimiters.
+
+3.  New Features in Bash
+
+a.  printf builtin understands two new escape sequences:  \" and \?.
+
+b.  `echo -e' understands two new escape sequences:  \" and \?.
+
+c.  The GNU `gettext' package and libintl have been integrated; the shell's
+    messages can be translated into different languages.
+
+d.  The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'.
+
+e.  The error message printed when bash cannot open a shell script supplied
+    as argument 1 now includes the name of the shell, to better identify
+    the error as coming from bash.
+
+4.  New Features in Readline
+
+a.  New application variable, rl_completion_quote_character, set to any
+    quote character readline finds before it calls the application completion
+    function.
+
+b.  New application variable, rl_completion_suppress_quote, settable by an
+    application completion function.  If set to non-zero, readline does not
+    attempt to append a closing quote to a completed word.
+
+c.  New application variable, rl_completion_found_quote, set to a non-zero
+    value if readline determines that the word to be completed is quoted.
+    Set before readline calls any application completion function.
+
+d.  New function hook, rl_completion_word_break_hook, called when readline
+    needs to break a line into words when completion is attempted.  Allows
+    the word break characters to vary based on position in the line.
+
+e.  New bindable command: unix-filename-rubout.  Does the same thing as
+    unix-word-rubout, but adds `/' to the set of word delimiters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-alpha,
+and the previous version, bash-2.05b-release.
+
+1.  Changes to Bash
+
+a.  Fixes so that the shell will compile without some of the default options
+    defined.
+
+b.  Fixed an error message that did not pass enough arguments to printf.
+
+c.  Fixed a bug that caused input redirection to a builtin inside a script
+    being read from standard input to result in the rest of the already-
+    read and buffered script to be discarded.
+
+d.  Fixed a bug that caused subshell initialization to close the file
+    descriptor from which the shell was reading a script under certain
+    circumstances.
+
+e.  Fixed a bug that caused the shell to not advance a string pointer over
+    a null wide character when doing string operations.
+
+f.  Fixed the internal logout code so that shells that time out waiting for
+    input (using $TMOUT) run ~/.bash_logout.
+
+g.  Portability and configuration changes for: cygwin, HP/UX, GNU/FreeBSD.
+
+h.  The parser no longer adds implicit double quotes to ((...)) arithmetic
+    commands.
+
+i.  The ((...)) arithmetic command evaluation code was fixed to not dump core
+    when the expanded string is null.
+
+j.  The ((...)) arithmetic command evaluation code was fixed to not perform
+    variable assignments while expanding the expression.
+
+k.  Fixed a bug that caused word splitting to be performed incorrectly when
+    IFS is set, but null.
+
+l.  Fixed a bug in brace expansion that caused a quoted `$' preceding an
+    open brace to inhibit brace expansion.
+
+m.  Fixed a bug that caused a leading `-' in the shell's name to cause it to
+    not be recognized as a restricted shell.
+
+n.  Fixed a bug in the arithmetic evaluation code that could cause longjmps
+    to an invalid location and result in a core dump.
+
+o.  Fixed a bug in the calculation of how many history lines are new in a
+    single shell session when reading new history lines from a file with
+    `history -n'.
+
+p.  Fixed a bug in pathname canonicalization that caused the shell to dump
+    core when presented with a pathname longer than PATH_MAX.
+
+q.  Fixed the parser so that it doesn't try to compare a char variable to
+    EOF, which fails when chars are unsigned.
+
+r.  Fixed a bug in the simple command execution code that caused occasional
+    core dumps.
+
+s.  The shell does a better job of saving any partial parsing state during
+    operations which cause a command to be executed while a line is being
+    entered and parsed.
+
+t.  The completion code now splits words more like the expansion code when
+    $IFS is used to split.
+
+u.  The locale code does a better job of recomputing the various locale
+    variable values when LC_ALL is unset.
+
+v.  The programmable completion code does a better job of dequoting expanded
+    word lists before comparing them against the word to be matched.
+
+w.  The shell no longer seg faults if the expanded value of $PS4 is null
+    and `set -x' is enabled.
+
+x.  Fixed a bug that caused core dumps when a here string expanded to NULL.
+
+y.  The mail checking code now makes sure the mailbox is bigger before
+    reporting the existence of new mail.
+
+z.  The parser does not try to expand $'...' and $"..." when the appear
+    within double quotes unless the `extquote' option has been enabled with
+    `shopt'.  For backwards compatibility, it is enabled by default.
+
+aa. Fixed a bug that caused `for x; do ...' and `select x; do ... to use
+    $@ instead of "$@" for the implicit list of arguments.
+
+bb. Fixed a bug that caused a subshell of a restricted shell (e.g., one
+    spawned to execute a pipeline) to not exit immediately if attempting
+    to use a command containing a slash.
+
+cc. Fixed a problem with empty replacements for a pattern that doesn't match
+    when performing ${param/word/} expansion.
+
+dd. Word expansions performed while expanding redirections no longer search
+    a command's temporary environment to expand variable values.
+
+ee. Improvements to the alias expansion code when expanding subsequent words
+    because an aliase's value ends with a space.
+
+ff. `cd -' now prints the current working directory after a successful chdir
+    even when the shell is not interactive, as the standard requires.
+
+gg. The shell does a better job of ensuring a child process dies of SIGINT
+    before resending SIGINT to itself.
+
+hh. The arithmetic expansion variable assignment code now does the right
+    thing when assigning to `special' variables like OPTIND.
+
+ii. When history expansion verification is enabled, the bash readline helper
+    functions that do history expansion on the current line don't print
+    the results.
+
+jj. Fixed bugs with multiple consecutive alias expansion when one of the
+    expansions ends with a space.
+
+kk. Fixed a problem in the programmable completion code that could cause core
+    dumps when trying to initialize a set of possible completions from a
+    list of variables.
+
+ll. The \[ and \] escape characters are now ignored when decoding the prompt
+    string if the shell is started with editing disabled.
+
+mm. Fixed a bug that could leave extra characters in a string when doing
+    quoted null character removal.
+
+nn. Command substitution and other subshell operations no longer reset the
+    line number (aids the bash debugger).
+
+oo. Better line number management when executing simple commands, conditional
+    commands, for commands, and select commands.
+
+pp. The globbing code now uses malloc, with its better failure properties,
+    rather than alloca().
+
+qq. Fixed a bug that caused expansions like #{a[2]:=value} to create the
+    appropriate array element instead of a variable named `a[2]'.
+
+rr. Fixed a bug in the handling of a `?(...)' pattern immediately following
+    a `*' when extglob is enabled.
+
+ss. Fixed a bug that caused a `return' invoked in an exit trap when exit is
+    invoked in a function to misbehave.
+
+tt. Fixed a bug that caused CTLESC and CTLNUL characters to not be escaped
+    by the internal shell string quoting functions.
+
+uu. Fixed a bug that caused quoted null characters in an expanded word list
+    to be inappropriately assigned to an array variable when using `read -a'.
+
+vv. Fixed a bug that caused redirections accompanying a null command to persist
+    in the current shell.
+
+ww. Fixed a bug that caused the prompt to be printed when the shell was
+    expanding a multiline alias.
+
+xx. Fixed a bug that resulted in core dumps when the completion for a command
+    changed the compspec.
+
+yy. Fixed a bug that caused evaluation of programmable completions to print
+    notifications of completed jobs.
+
+zz. Bash now disables line editing when $EMACS == `t' and $TERM == `dumb'
+    (which is what emacs shell windows do).
+
+aaa. In posix mode, `kill -l' causes signal names to be displayed without
+     a leading `SIG'.
+
+bbb. Clear error flag on standard output so it doesn't persist across multiple
+     builtin commands.
+
+ccc. In posix mode, `alias' displays alias values without the leading `alias',
+     so the output cannot be used as subsequent input.
+
+ddd. In posix mode, the `trap' builtin doesn't check whether or not its
+     first argument is a signal specification and revert the signal handling
+     to its original disposition if it is.
+
+eee. Fixed several bugs in the handling of "$*" and "${array[*]}" by the
+     pattern substitution and removal expansions.
+
+fff. Fixed several problems with the handling of ${array[@]}, ${array[*]},
+     $@, and $* by the indirect variable expansion code.
+
+ggg. Fixed a bug that did not allow `time' to be aliased.
+
+hhh. Improved the mail checking code so it won't check (and possibly cause an
+     NFS file system mount) until MAILPATH or MAIL is given a value -- there
+     is no default if DEFAULT_MAIL_DIRECTORY is not defined at compile time.
+     (It is computed by configure, but can be #undef'd in config-bot.h.)
+
+iii. If the `chkwinsize' option is enabled, the shell checks for window size
+     changes if a child process exits due to a signal.
+
+jjj. Removed the attempts to avoid adding a slash at the end of a completed
+     executable name if there was a directory with the same name in the
+     current directory.
+
+kkk. Fixed PATH lookup code so it treats the permission bits separately for
+     owner, group, and other, rather than checking them all.
+
+lll. Fixed the locale code to reset the parser's idea of the character class
+     <blank>, which controls how it splits tokens, when the locale changes.
+
+mmm. The shell now binds its special readline functions and key bindings only
+     if the user's inputrc file has not already bound them.
+
+nnn. The shell now reports on processes that dump core due to signals when
+     invoked as `-c command'.
+
+2.  Changes to Readline
+
+a.  Fixes to avoid core dumps because of null pointer references in the
+    multibyte character code.
+
+b.  Fix to avoid infinite recursion caused by certain key combinations.
+
+c.  Fixed a bug that caused the vi-mode `last command' to be set incorrectly.
+
+d.  Readline no longer tries to read ahead more than one line of input, even
+    when more is available.
+
+e.  Fixed the code that adjusts the point to not mishandle null wide
+    characters.
+
+f.  Fixed a bug in the history expansion `g' modifier that caused it to skip
+    every other match.
+
+g.  Fixed a bug that caused the prompt to overwrite previous output when the
+    output doesn't contain a newline and the locale supports multibyte
+    characters.  This same change fixes the problem of readline redisplay
+    slowing down dramatically as the line gets longer in multibyte locales.
+
+h.  History traversal with arrow keys in vi insertion mode causes the cursor
+    to be placed at the end of the new line, like in emacs mode.
+
+i.  The locale initialization code does a better job of using the right
+    precedence and defaulting when checking the appropriate environment
+    variables.
+
+j.  Fixed the history word tokenizer to handle <( and >( better when used as
+    part of bash.
+
+k.  The overwrite mode code received several bug fixes to improve undo.
+
+l.  Many speedups to the multibyte character redisplay code.
+
+m.  The callback character reading interface should not hang waiting to read
+    keyboard input.
+
+n.  Fixed a bug with redoing vi-mode `s' command.
+
+o.  The code that initializes the terminal tracks changes made to the terminal
+    special characters with stty(1) (or equivalent), so that these changes
+    are reflected in the readline bindings.  New application-callable function
+    to make it work:  rl_tty_unset_default_bindings().
+
+p.  Fixed a bug that could cause garbage to be inserted in the buffer when
+    changing character case in vi mode when using a multibyte locale.
+
+q.  Fixed a bug in the redisplay code that caused problems on systems
+    supporting multibyte characters when moving between history lines when the
+    new line has more glyphs but fewer bytes.
+
+r.  Undo and redo now work better after exiting vi insertion mode.
+
+s.  Make sure system calls are restarted after a SIGWINCH is received using
+    SA_RESTART.
+
+t.  Improvements to the code that displays possible completions when using
+    multibyte characters.
+
+u.  Fixed a problem when parsing nested if statements in inputrc files.
+
+v.  The completer now takes multibyte characters into account when looking for
+    quoted substrings on which to perform completion.
+
+w.  The history search functions now perform better bounds checking on the
+    history list.
+
+3.  New Features in Bash
+
+a.  ANSI string expansion now implements the \x{hexdigits} escape.
+
+b.  There is a new loadable `strftime' builtin.
+
+c.  New variable, COMP_WORDBREAKS, which controls the readline completer's
+    idea of word break characters.
+
+d.  The `type' builtin no longer reports on aliases unless alias expansion
+    will actually be performed.    
+
+e.  HISTCONTROL is now a colon-separated list of values, which permits
+    more extensibility and backwards compatibility.
+
+f.  HISTCONTROL may now include the `erasedups' option, which causes all lines
+    matching a line being added to be removed from the history list.
+
+g.  `configure' has a new `--enable-multibyte' argument that permits multibyte
+    character support to be disabled even on systems that support it.
+
+h.  New variables to support the bash debugger:  BASH_ARGC, BASH_ARGV,
+    BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING,
+    BASH_COMMAND
+
+i.  FUNCNAME has been changed to support the debugger: it's now an array
+    variable.
+
+j.  for, case, select, arithmetic commands now keep line number information
+    for the debugger.
+
+k.  There is a new `RETURN' trap executed when a function or sourced script
+    returns (not inherited child processes; inherited by command substitution
+    if function tracing is enabled and the debugger is active).
+
+l.  New invocation option:  --debugger.  Enables debugging and turns on new
+    `extdebug' shell option.
+
+m.  New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR
+    traps, respectively, to be inherited by shell functions.  Equivalent to
+    `set -T' and `set -E' respectively.  The `functrace' option also controls
+    whether or not the DEBUG trap is inherited by sourced scripts.
+
+n.  The DEBUG trap is run before binding the variable and running the action
+    list in a `for' command, binding the selection variable and running the
+    query in a `select' command, and before attempting a match in a `case'
+    command.
+
+o.  New `--enable-debugger' option to `configure' to compile in the debugger
+    support code.
+
+p.  `declare -F' now prints out extra line number and source file information
+    if the `extdebug' option is set.
+
+q.  If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes
+    the next command to be skipped, and a return value of 2 while in a
+    function or sourced script forces a `return'.
+
+r.  New `caller' builtin to provide a call stack for the bash debugger.
+
+s.  The DEBUG trap is run just before the first command in a function body is
+    executed, for the debugger.
+
+t.  `for', `select', and `case' command heads are printed when `set -x' is
+    enabled.
+
+u.  There is a new {x..y} brace expansion, which is shorthand for {x.x+1,
+    x+2,...,y}.  x and y can be integers or single characters; the sequence
+    may ascend or descend; the increment is always 1.
+
+v.  New ksh93-like ${!array[@]} expansion, expands to all the keys (indices)
+    of array.
+
+w.  New `force_fignore' shopt option; if enabled, suffixes specified by
+    FIGNORE cause words to be ignored when performing word completion even
+    if they're the only possibilities.
+
+x.  New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu
+    style' (filename:lineno:message) format.
+
+y.  New `-o bashdefault' option to complete and compgen; if set, causes the
+    whole set of bash completions to be performed if the compspec doesn't
+    result in a match.
+
+z.  New `-o plusdirs' option to complete and compgen; if set, causes directory
+    name completion to be performed and the results added to the rest of the
+    possible completions.
+
+aa. `kill' is available as a builtin even when the shell is built without
+    job control.
+
+bb. New HISTTIMEFORMAT variable; value is a format string to pass to
+    strftime(3).  If set and not null, the `history' builtin prints out
+    timestamp information according to the specified format when displaying
+    history entries.  If set, bash tells the history library to write out
+    timestamp information when the history file is written.
+
+cc. The [[ ... ]] command has a new binary `=~' operator that performs
+    extended regular expression (egrep-like) matching.
+
+dd. `configure' has a new `--enable-cond-regexp' option (enabled by default)
+    to enable the =~ operator and regexp matching in [[ ... ]].
+
+ee. Subexpressions matched by the =~ operator are placed in the new
+    BASH_REMATCH array variable.
+
+ff. New `failglob' option that causes an expansion error when pathname
+    expansion fails to produce a match.
+
+gg. New `set -o pipefail' option that causes a pipeline to return a failure
+    status if any of the processes in the pipeline fail, not just the last
+    one.
+
+4.  New Features in Readline
+
+a.  History expansion has a new `a' modifier equivalent to the `g' modifier
+    for compatibility with the BSD csh.
+
+b.  History expansion has a new `G' modifier equivalent to the BSD csh `g'
+    modifier, which performs a substitution once per word.
+
+c.  All non-incremental search operations may now undo the operation of
+    replacing the current line with the history line.
+
+d.  The text inserted by an `a' command in vi mode can be reinserted with
+    `.'.
+
+e.  New bindable variable, `show-all-if-unmodified'.  If set, the readline
+    completer will list possible completions immediately if there is more
+    than one completion and partial completion cannot be performed.
+
+f.  There is a new application-callable `free_history_entry()' function.
+
+g.  History list entries now contain timestamp information; the history file
+    functions know how to read and write timestamp information associated
+    with each entry.
+
+h.  Four new key binding functions have been added:
+
+       rl_bind_key_if_unbound()
+       rl_bind_key_if_unbound_in_map()
+       rl_bind_keyseq_if_unbound()
+       rl_bind_keyseq_if_unbound_in_map()
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-release,
+and the previous version, bash-2.05b-beta2.
+
+1.  Changes to Bash
+
+a.  Fixed an off-by-one error in the function that translates job
+    specifications.
+
+b.  Note that we're running under Emacs and disable line editing if
+    $EMACS == `t'.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-beta2,
+and the previous version, bash-2.05b-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed the /= and %= arithmetic operators to catch division by zero.
+
+b.  Added putenv, setenv, unsetenv to getenv replacement for completeness.
+
+c.  Fixed a bug that could cause the -O expand_aliases invocation option
+    to not take effect.
+
+d.  Fixed a problem with process substitution that resulted in incorrect
+    behavior when the number of process substitutions in an individual
+    command approached 64.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with backward-char-search when on a system with support
+    for multibyte characters when running in a locale without any multibyte
+    characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-beta1,
+and the previous version, bash-2.05b-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a problem when parsing a POSIX.2 character class name while
+    evaluating a bracket expression containing multibyte characters.
+
+b.  Changed the help text for `bind' to make it clear that any command
+    that may be placed in ~/.inputrc is a valid argument to `bind'.
+
+c.  Added `help' builtin entries for `((', `[[', and arithmetic for.
+
+d.  malloc updated again:
+       o slightly better overflow and underflow detection by putting the
+         chunk size at the beginning and end of the chunk and making
+         sure they match in free/realloc
+       o partial page allocated to make things page-aligned no longer
+         completely wasted
+       o block coalescing now enabled by default
+       o splitting and coalescing enabled for 32-byte chunks, the most
+         common size requested
+       o fixed a problem that resulted in spurious underflow messages and
+         aborts
+       o bin sizes are precomputed and stored in an array rather than
+         being computed at run time
+       o malloc will return memory blocks back to the system if the block
+         being freed is at the top of the heap and of sufficient size to
+         make it worthwhile
+       o malloc/free/realloc now inline memset instead of calling the
+         libc function; uses Duff's device for good performance
+
+e.  Check for getservent(); make the service name completion code dependent
+    on its presence.
+
+f.  Changed the readline callback that executes a command bound to a key
+    sequence to not save the executed command on the history list and to
+    save and restore the parsing state.
+
+g.  Changes to lib/sh/snprintf.c:  fixed some bugs in the `g' and `G'
+    floating point format display; implemented the "'" flag character
+    that turns on thousands' grouping; fixed behavior on systems where
+    MB_CUR_MAX does not evaluate to a constant.
+
+h.  The `unset' builtin no longer returns a failure status when asked to
+    unset a previously-unset variable or function.
+
+i.  Changes to the build system to make it easier to cross-compile bash
+    for different systems.
+
+j.  Added `,' to  the characters that are backslash-escaped during filename
+    completion, to avoid problems with complete-into-braces and RCS filenames
+    containing commas.
+
+k.  Some changes to the multibyte character support code to avoid many calls
+    to strlen().
+
+l.  Bash now correctly honors setting LANG to some value when LC_ALL does not
+    already have a value.
+
+m.  Fixed a bug that could cause SIGSEGV when processing nested traps with
+    trap handlers.
+
+n.  The `source/.' builtin now restores the positional parameters when it
+    returns unless they were changed using the `set' builtin during the file's
+    execution.
+
+o.  Fixed a bug that caused a syntax error when a command was terminated by
+    EOF.
+
+2.  New Features in Bash
+
+a.  There is now support for placing the long help text into separate files
+    installed into ${datadir}/bash.  Not enabled by default; can be turned
+    on with `--enable-separate-helpfiles' option to configure.
+
+b.  All builtins that take operands accept a `--' pseudo-option, except
+    `echo'.
+
+c.  The `echo' builtin now accepts \0xxx (zero to three octal digits following
+    the `0') in addition to \xxx (one to three octal digits) for SUSv3/XPG6/
+    POSIX.1-2001 compliance.
+
+3.  Changes to Readline
+
+a.  Fixed a small problem in _rl_insert_char with multibyte characters.
+
+b.  Fixes from IBM for line wrapping problems when using multibyte characters.
+
+c.  Fixed a problem which caused the display to be messed up when the last
+    line of a multi-line prompt (possibly containing invisible characters)
+    was longer than the screen width.
+
+d.  Fixed a problem with the vi-mode `r' command that ocurred on systems with
+    support for multibyte characters when running in a locale without any
+    multibyte characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-alpha1,
+and the previous version, bash-2.05a-release.
+
+1.  Changes to Bash
+
+a.  Some changes to work around inlining differences between compilers.
+
+b.  Added more prototypes for internal shell typedefs, to catch argument
+    passing errors when using pointers to functions.
+
+c.  The `cd' builtin now fails in posix mode when a valid directory cannot be
+    constructed from a relative pathname argument and the $PWD using pathname
+    canonicalization, and the -P option has not been supplied.  Previously,
+    the shell would attempt to use what the user typed, leading to weird
+    values for $PWD and discrepancies between the value of $PWD and the
+    actual working directory.
+
+d.  The `cd' builtin now resets $PWD when canonicalization fails but a chdir
+    to the pathname passed as an argument succeeds (when not in posix mode).
+
+e.  The `fc' builtin has been fixed, as POSIX requires, to use the closest
+    history position in range when given an out-of-range argument.
+
+f.  The history file loading code was changed to allow lines to be saved in
+    the history list from the shell startup files.
+
+g.  `history -s args' now works better in compound commands.
+
+h.  The tilde expansion code was fixed to better recognize when it's being
+    invoked in an assignment context, which enables expansion after `='
+    and `:'.
+
+i.  Fixed the command name completion code so a slash is no longer appended
+    to a single match if there happens to be a directory with that name in
+    $PWD.
+
+j.  Fixed compound array assignment to no longer perform alias expansion, to
+    allow reserved words as array members, and to not produce extra output
+    when the `-v' option had been enabled.
+
+k.  Fixed the programmable completion code to better handle newlines in lists
+    of possible completions (e.g., `complete -W').
+
+l.  Removed the reserved words from the `bash-builtins' manual page.
+
+m.  Parser error reporting now attempts to do a better job of identifying the
+    token in error rather than doing straight textual analysis.
+
+n.  Fixes for Inf/NaN, locales, wide/multibyte characters and zero-length
+    arguments in the library snprintf(3) replacement.
+
+o.  `read -e' no longer does command name completion on the first word on
+    the line being read.
+
+p.  `select' now returns failure if the read of the user's selection fails.
+
+q.  Fixed a bug that could cause a core dump when setting $PIPESTATUS.
+
+r.  Fixes to not allocate so many job slots when the shell is running a loop
+    with job control enabled in a subshell of an interactive shell.
+
+s.  Fixed a bug in the trap code that caused traps to be inherited by
+    command substitutions in some cases.
+
+t.  Fixed a bug that could cause alias expansion to inappropriately expand
+    the word following the alias.
+
+u.  Fixed a bug in the `kill' builtin that mishandled negative pid arguments.
+
+v.  The parser is less lenient when parsing assignment statements where the
+    characters before the `=' don't comprise a valid identifier.
+
+w.  The arithmetic expression evaluation code now honors the setting of the
+    `-u' option when expanding variable names.
+
+x.  Fixed the arithmetic evaluation code to allow array subscripts to be
+    assigned (`let b[7]=42') and auto-incremented and auto-decremented
+    (e.g., b[7]++).
+
+y.  Reimplemented the existing prompt string date and time expansions using
+    strftime(3), which changed the output of \@ in some locales.
+
+z.  Fixed a bug that could cause a core dump when a special shell variable
+    (like RANDOM) was converted to an array with a variable assignment.
+
+aa. Fixed a bug that would reset the handler for a signal the user had
+    trapped to a function that would exit the shell when setting the exit
+    trap in a non-interactive shell.
+
+bb. Changed the execve(2) wrapper code to check whether or not a failing
+    command is a directory before looking at whether a `#!' interpreter
+    failed for some reason.
+
+cc. Fixed a bug in the command printing code so it no longer inserts a `;'
+    after a newline, which produces a syntax error when reused as input.
+
+dd. The code that expands $PS4 no longer inherits the `-x' flag.
+
+ee. The bash-specific completion functions may now take advantage of the
+    double-TAB and M-?  features of the standard readline completion
+    functions.
+
+ff. The mail checking code no longer prints a message if the checked file's
+    size has not increased, even if the access time is less than the modification time.
+
+gg. Rewrote the variable symbol table code: there is now a stack of
+    contexts, each possibly including a separate symbol table; there can
+    be more than one temporary environment supplied to nested invocations
+    of `./source'; the temporary environments no longer require so much
+    special-case code; shell functions now handle the temporary environment
+    and local variables more consistently; function scope exit is faster now
+    that the entire symbol table does not have to be traversed to dispose of
+    local variables; it is now easier to push vars from the temporary
+    environment to the shell's variable table in posix mode; some duplicated
+    code has been removed.
+
+hh. Regularized the error message printing code; builtin_error is now called
+    more consistently, and common error message strings are handled by small
+    functions.  This should make eventual message translation easier.
+
+ii. Error messages now include the line number in a script when the shell
+    is not interactive.
+
+jj. Array subscript expansion now takes place even when the array variable is
+    unset, so side effects will take place.
+
+kk. Fixed a bug in the SICGHLD child-reaping code so that it won't find
+    jobs already marked as terminated if the OS reuses pids quickly enough.
+
+ll. Fixed a bug that could cause a signal to not interrupt the `wait'
+    builtin while it was waiting for a background process to terminate.
+
+mm. A couple of changes to make it easier for multiple shells to share history
+    files using `history -n', `history -r', and `history -w'.
+
+nn. The `getopts' builtin always increments OPTIND to point to the next
+    option to be handled when an option is returned, whether it's valid
+    or not, as POSIX 1003.x-2001 requires.
+
+oo. Changed some parts of the expansion code to avoid allocating and
+    immediately freeing memory without using the results for anything.
+
+pp. The shell now keeps track of $IFS internally, updating its internal map
+    each time the variable is assigned a new value (or at local scope exit).
+    This saves thousands of hash lookups for IFS, which, while individually
+    cheap, add up.
+
+qq. Rewrote the hash table code:  searching and insertion are much faster now,
+    and it uses a better string hashing function; augmented the function
+    interface to simplify other parts of the code and remove duplicated code
+
+rr. The shell now uses a simple, generic `object cache' for allocating and
+    caching words and word lists, which were the major users of
+    malloc/free.
+
+ss. Fixed the assignment statement parsing code to allow whitespace and
+    newlines in subscripts when performing array element assignment.
+
+tt. The shell now issues many fewer calls to sigprocmask and other signal
+    masking system calls.
+
+uu. Fixed the `test' and conditional command file comparison operators to
+    work right when one file has a non-positive timestamp and the other
+    does not exist.
+
+vv. Fixed some cases where the special characters '\001' and '\177' in the
+    values of variables or positional parameters caused incorrect expansion
+    results.
+
+2.  Changes to Readline
+
+a.  Fixed output of comment-begin character when listing variable values.
+
+b.  Added some default key bindings for common escape sequences produced by
+    HOME and END keys.
+
+c.  Fixed the mark handling code to be more emacs-compatible.
+
+d.  A bug was fixed in the code that prints possible completions to keep it
+    from printing empty strings in certain circumstances.
+
+e.  Change the key sequence printing code to print ESC as M\- if ESC is a
+    meta-prefix character -- it's easier for users to understand than \e.
+
+f.  Fixed unstifle_history() to return values that match the documentation.
+
+g.  Fixed the event loop (rl_event_hook) to handle the case where the input
+    file descriptor is invalidated.
+
+h.  Fixed the prompt display code to work better when the application has a
+    custom redisplay function.
+
+i.  Changes to make reading and writing the history file a little faster, and
+    to cope with huge history files without calling abort(3) from xmalloc.
+
+j.  The vi-mode `S' and `s' commands are now undone correctly.
+
+3.  New Features in Bash
+
+a.  If set, TMOUT is the default timeout for the `read' builtin.
+
+b.  `type' has two new options:  `-f' suppresses shell function lookup, and
+    `-P' forces a $PATH search.
+
+c.  New code to handle multibyte characters.
+
+d.  `select' was changed to be more ksh-compatible, in that the menu is
+    reprinted each time through the loop only if REPLY is set to NULL.
+    The previous behavior is available as a compile-time option.
+
+e.  `complete -d' and `complete -o dirnames' now force a slash to be
+    appended to names which are symlinks to directories.
+
+f.  There is now a bindable edit-and-execute-command readline command,
+    like the vi-mode `v' command, bound to C-xC-e in emacs mode.
+
+g.  Added support for ksh93-like [:word:] character class in pattern matching.
+
+h.  The  $'...' quoting construct now expands \cX to Control-X.
+
+i.  A new \D{...} prompt expansion; passes the `...' to strftime and inserts
+    the result into the expanded prompt.
+
+j.  The shell now performs arithmetic in the largest integer size the
+    machine supports (intmax_t), instead of long.
+
+k.  If a numeric argument is supplied to one of the bash globbing completion
+    functions, a `*' is appended to the word before expansion is attempted.
+
+l.  The bash globbing completion functions now allow completions to be listed
+    with double tabs or if `show-all-if-ambiguous' is set.
+
+m.  New `-o nospace' option for `complete' and `compgen' builtins; suppresses
+    readline's appending a space to the completed word.
+
+n.  New `here-string' redirection operator:  <<< word.
+
+o.  When displaying variables, function attributes and definitions are shown
+    separately, allowing them to be re-used as input (attempting to re-use
+    the old output would result in syntax errors).
+
+p.  There is a new configuration option `--enable-mem-scramble', controls
+    bash malloc behavior of writing garbage characters into memory at
+    allocation and free time.
+
+q.  The `complete' and `compgen' builtins now have a new `-s/-A service'
+    option to complete on names from /etc/services.
+
+r.  `read' has a new `-u fd' option to read from a specified file descriptor.
+
+s.  Fix the completion code so that expansion errors in a directory name
+    don't cause a longjmp back to the command loop.
+
+t.  Fixed word completion inside command substitution to work a little more
+    intuitively.
+
+u.  The `printf' %q format specifier now uses $'...' quoting to print the
+    argument if it contains non-printing characters.
+
+v.  The `declare' and `typeset' builtins have a new `-t' option.  When applied
+    to functions, it causes the DEBUG trap to be inherited by the named
+    function.  Currently has no effect on variables.
+
+w.  The DEBUG trap is now run *before* simple commands, ((...)) commands,
+    [[...]] conditional commands, and for ((...)) loops.
+
+x.  The expansion of $LINENO inside a shell function is only relative to the
+    function start if the shell is interactive -- if the shell is running a
+    script, $LINENO expands to the line number in the script.  This is as
+    POSIX-2001 requires.
+
+y.  The bash debugger in examples/bashdb has been modified to work with the
+    new DEBUG trap semantics, the command set has been made more gdb-like,
+    and the changes to $LINENO make debugging functions work better.  Code
+    from Gary Vaughan.
+
+z.  New [n]<&word- and [n]>&word- redirections from ksh93 -- move fds (dup
+    and close).
+
+aa. There is a new `-l' invocation option, equivalent to `--login'.
+
+bb. The `hash' builtin has a new `-l' option to list contents in a reusable
+    format, and a `-d' option to remove a name from the hash table.
+
+4.  New Features in Readline
+
+a.  Support for key `subsequences':  allows, e.g., ESC and ESC-a to both
+    be bound to readline functions.  Now the arrow keys may be used in vi
+    insert mode.
+
+b.  When listing completions, and the number of lines displayed is more than
+    the screen length, readline uses an internal pager to display the results.
+    This is controlled by the `page-completions' variable (default on).
+
+c.  New code to handle editing and displaying multibyte characters.
+
+d.  The behavior introduced in bash-2.05a of deciding whether or not to
+    append a slash to a completed name that is a symlink to a directory has
+    been made optional, controlled by the `mark-symlinked-directories'
+    variable (default is the 2.05a behavior).
+
+e.  The `insert-comment' command now acts as a toggle if given a numeric
+    argument:  if the first characters on the line don't specify a
+    comment, insert one; if they do, delete the comment text
+
+f.  New application-settable completion variable:
+    rl_completion_mark_symlink_dirs, allows an application's completion
+    function to temporarily override the user's preference for appending
+    slashes to names which are symlinks to directories.
+
+g.  New function available to application completion functions:
+    rl_completion_mode, to tell how the completion function was invoked
+    and decide which argument to supply to rl_complete_internal (to list
+    completions, etc.).
+
+h.  Readline now has an overwrite mode, toggled by the `overwrite-mode'
+    bindable command, which could be bound to `Insert'.
+
+i.  New application-settable completion variable:
+    rl_completion_suppress_append, inhibits appending of
+    rl_completion_append_character to completed words.
+
+j.  New key bindings when reading an incremental search string:  ^W yanks
+    the currently-matched word out of the current line into the search
+    string; ^Y yanks the rest of the current line into the search string,
+    DEL or ^H deletes characters from the search string.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-release,
+and the previous version, bash-2.05a-rc1.
+
+1.  Changes to Bash
+
+a.  Fixed the `printf' builtin so that the variable name supplied as an
+    argument to a %n conversion must be a valid shell identifier.
+
+b.  Improved the random number generator slightly.
+
+c.  Changes to configuration to not put -I/usr/include into $CFLAGS, since
+    it messes up some includes.
+
+d.  Corrected description of POSIXLY_CORRECT in man page and info manual.
+
+e.  Fixed a couple of cases of incorrect function prototypes that sneaked
+    through and caused compilation problems.
+
+f.  A few changes to avoid potential core dumps in the programmable completion
+    code.
+
+g.  Fixed a configure problem that could cause a non-existent file to show
+    up in LIBOBJS.
+
+h.  Fixed a configure problem that could cause siglist.o to not be built when
+    required.
+
+i.  Changes to the strtoimax and strtoumax replacement functions to work
+    around buggy compilers.
+
+j.  Fixed a problem with the snprintf replacement function that could
+    potentially cause a core dump.
+
+2.  Changes to Readline
+
+a.  Fixed a locale-specific problem in the vi-mode `goto mark' command.
+
+b.  Fixed Makefile to not put -I/usr/include into CFLAGS, since it can cause
+    include file problems.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-rc1,
+and the previous version, bash-2.05a-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed the snprintf replacement to correctly implement the `alternate form'
+    of the %g and %G conversions.
+
+b.  Fixed snprintf to correctly handle the optional precision with the %g and
+    %G conversions.
+
+c.  Fixed the arithmetic evaluation code to correct the values of `@' and `_'
+    when translating base-64 constants (they were backwards).
+
+d.  New library functions for formatting long and long long ints.
+
+e.  Fixed a few places where negative array subscripts could have occurred,
+    mostly as the result of systems using signed characters.
+
+f.  Fixed a few places that assumed a pid_t was no wider than an int.
+
+g.  Fixed the `maildir' mail checking code to work on systems where a
+    `struct stat' doesn't include an `st_blocks' member.
+
+h.  Fixed snprintf to make `unsigned long long' conversion formats (%llu)
+    work better.
+
+i.  Fixed snprintf to not print a sign when asked to do an unsigned conversion.
+
+j.  Made configure changes to avoid compiling empty source files in lib/sh.
+
+k.  New replacement functions (if necessary) for strtoull, strtoll, strtoimax,
+    strtoumax.
+
+l.  The `printf' builtin now handles the `ll' and `j' length modifiers
+    directly, since they can affect the type and width of the argument
+    passed to printf(3).
+
+m.  Renamed a number of the bash-specific autoconf macros in aclocal.m4 to
+    have more sytematic naming, with accompanying changes to configure.in.
+
+n.  Fixed snprintf to handle long doubles and the %a/%A conversions by
+    falling back to sprintf, as long as sprintf supports them.
+
+o.  Fixed return value from vsnprintf/snprintf to be the number of characters
+    that would have been printed, even if that number exceeds the buffer
+    size passed as an argument.
+
+p.  Bash no longer attempts to define its own versions of some ctype macros
+    if they are implemented as functions in libc but not as macros in
+    <ctype.h>.
+
+q.  Changed the variable printing code (used by `set', `export', etc.) to
+    not use the $'...' syntax when in posix mode, since that caused
+    interoperability problems with other shells (most notably with autoconf).
+    When not in posix mode, it uses $'...' if the string to be printed
+    contains non-printing characters and regular single quotes otherwise.
+
+r.  snprintf now recognizes the %F conversion.
+
+s.  Fixed a bug that could cause the wrong status to be returned by a shell
+    function when the shell is compiled without job control and a null
+    command containing a command substutition was executed in the function.
+
+t.  When in posix mode, the default value for MAILCHECK is 600.
+
+u.  Bash only initializes FUNCNAME, GROUPS, and DIRSTACK as special variables
+    if they're not in the initial environment.
+
+v.  If SECONDS appears in the initial environment with a valid integer value,
+    bash uses that as the starting value, as if an assignment had been
+    performed.
+
+w.  Bash no longer auto-exports HOME, PATH, SHELL, or TERM, even though it
+    gives them default values if they don't appear in the initial environment.
+
+x.  Bash no longer auto-exports HOSTNAME, HOSTTYPE, MACHTYPE, or OSTYPE,
+    even if it assigns them default values.
+
+y.  Bash no longer removes the export attribute from SSH_CLIENT or SSH2_CLIENT
+    if they appear in the initial environment.
+
+z.  Bash no longer attempts to discover if it's being run by sshd in order to
+    run the startup files.  If the SSH_SOURCE_BASHRC is uncommented in
+    config-top.h it will attempt to do so as previously, but that's commented
+    out in the distributed version.
+
+aa. Fixed a typo in the code that tests for LC_NUMERIC.
+
+bb. The POSIXLY_CORRECT shell variable and its effects are now documented.
+
+cc. Some changes to several of the support shell scripts included in the
+    definitions to try to avoid race conditions and attacks.
+
+dd. Several changes to avoid warnings from `gcc -Wall'.
+
+ee. Fixed a problem with the `unset' builtin that could cause incorrect
+    results if asked to unset a variable and an array subscript in the
+    same command.
+
+ff. A few changes to the shell's temporary file creation code to avoid
+    potential file descriptor leaks and to prefer the system's idea of
+    the temporary directory to use.
+
+gg. Fixes to build with the C alloca in lib/malloc/alloca.c if the system
+    requires it but the shell has been configured --without-bash-malloc.
+
+hh. Updated the documentation to note that only interactive shells resend
+    SIGHUP to all jobs before exiting.
+
+ii. Fixes to only pass unquoted tilde words to tilde_expand, rather than
+    rely on tilde_expand or getpwnam(3) to handle the quotes (MacOS 10.x
+    will remove backslashes in any login name passed to getpwnam(3)).
+
+jj. Small change from Paul Eggert to make LINENO right in commands run with
+    `bash -c'.
+
+2.  New Features in Bash
+
+a.  The `printf' builtin now handles the %a and %A conversions if they're
+    implemented by printf(3).
+
+b.  The `printf' builtin now handles the %F conversion (just about like %f).
+
+c.  The `printf' builtin now handles the %n conversion like printf(3).  The
+    corresponding argument is the name of a shell variable to which the
+    value is assigned.
+
+3.  Changes to Readline
+
+a.  Fixed a few places where negative array subscripts could have occurred.
+
+b.  Fixed the vi-mode code to use a better method to determine the bounds of
+    the array used to hold the marks.
+
+c.  Fixed the defines in chardefs.h to work better when chars are signed.
+
+d.  Fixed configure.in to use the new names for bash autoconf macros.
+
+e.  Readline no longer attempts to define its own versions of some ctype
+    macros if they are implemented as functions in libc but not as macros in
+    <ctype.h>.
+
+f.  Fixed a problem where rl_backward could possibly set point to before
+    the beginning of the line.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-beta1,
+and the previous version, bash-2.05a-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the evalution of arithmetic `for' statements when the
+    expanded expression is NULL.
+
+b.  Fixed an unassigned variable problem in the redirection printing code.
+
+c.  Added more prototypes to extern function declarations in the header
+    files and to static function declarations in C source files.
+
+d.  Make sure called functions have a prototype in scope, to get the arguments
+    and return values right instead of casting.  Removed extern function
+    declarations from C source files that were already included in header
+    files.
+
+e.  Changed some function arguments to use function typedefs in general.h so
+    the prototypes can be checked.  The only use of Function and VFunction
+    now is for unwind-protects.
+
+f.  More const changes to function arguments and appropriate variables.
+
+g.  Changed the mail checking support to handle `maildir'-style mail
+    directories.
+
+h.  Augmented the bash malloc to pass in the file and line number information
+    for each malloc, realloc, and free.  This should result in better error
+    messages.
+
+i.  The `old' gnu malloc is no longer a configuration option.
+
+j.  Augmented the bash malloc with optional tracing and registering allocated
+    and freed memory.
+
+k.  Prompt string decoding now saves and restores the value of $? when it
+    expands the prompt string, so command substitutions don't change $?.
+
+i.  Array indices are now `long', since shell arithmetic is performed as long,
+    and the internal arrayind_t type is used consistently.
+
+j.  Some more `unsigned char *' fixes from Paul Eggert.
+
+k.  Fixed a bad call to builtin_error that could cause core dumps when making
+    local variables.
+
+l.  `return' may no longer be used to terminate a `select' command, for
+    compatibility with ksh.
+
+m.  Changed code that reads octal numbers to do a better job of detecting
+    overflows.
+
+n.  The time formatting code no longer uses absolute indices into a buffer,
+    because the buffer size changes depending on the size of a `time_t'.
+
+o.  `umask' now prints four digits when printing in octal mode, for
+    compatibility with other shells.
+
+p.  Lots of changes to the `printf' builtin from Paul Eggert:  it handles `L'
+    formats and long doubles better, and internal functions have been
+    simpified where appropriate.
+
+q.  Some `time_t' fixes for machines were a time_t is bigger than a long.
+
+r.  Replaced some bash-specific autoconf macros with standard equivalents.
+
+s.  Improvmed the code that constructs temporary filenames to make the
+    generated names a bit more random.
+
+t.  Added code that checks for ascii before calling any of the is* ctype
+    functions.
+
+u.  Changed some places where a `char' was used as an array subscript to use
+    `unsigned char', since a `char' can be negative if it's signed by default.
+
+v.  Lots of changes to the `ulimit' builtin from Paul Eggert to add support
+    for the new POSIX-200x RLIM_SAVED_CUR and RLIM_SAVED_MAX values and
+    simplify the code.
+
+w.  `ulimit' now prints the description of a resource in any error message
+    relating to fetching or setting that resource's limits.
+
+x.  The `snprintf' replacement now computes maximum values at compile
+    time rather than using huge constants for things like long long.
+
+y.  Interactive shells now ignore `set -n'.
+
+z.  Changed the malloc bookkeeping information so that it's now 8 bytes
+    instead of 12 on most 32-bit machines (saving 4 bytes per allocation),
+    restoring 8-byte alignment.
+
+aa. The malloc error reporting code now attempts to print the file and line
+    number of the call that caused the error.
+
+bb. Changed the redirection error reporting code to catch EBADF errors and
+    report the file descriptor number rather than the file being redirected
+    to or from (e.g., things like `exec 4242<x' where 4242 is an out-of-range
+    file descriptor).
+
+cc. `printf', `echo -e', and the $'...' code now process only two hex digits
+    after a `\x' escape sequence for compatibility with other shells, and
+    the documentation was changed to note that the octal and hex escape
+    sequences result in an eight-bit value rather than strict ASCII.
+
+2.  Changes to Readline
+
+a.  The completion code now attempts to do a better job of preserving the
+    case of the word the user typed if ignoring case in completions.
+
+b.  Readline defaults to not echoing the input and lets the terminal
+    initialization code enable echoing if there is a controlling terminal.
+
+c.  The key binding code now processes only two hex digits after a `\x'
+    escape sequence, and the documentation was changed to note that the
+    octal and hex escape sequences result in an eight-bit value rather
+    than strict ASCII.
+
+3.  New Features in Bash
+
+a.  The builtin `ulimit' now takes two new non-numeric arguments:  `hard',
+    meaning the current hard limit, and `soft', meaning the current soft
+    limit, in addition to `unlimited'
+
+b.  `ulimit' now prints the option letter associated with a particular
+    resource when printing more than one limit.
+
+c.  `ulimit' prints `hard' or `soft' when a value is not `unlimited' but is
+    one of RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively.
+
+4.  New Features in Readline
+
+a.  New bindable variable `history-preserve-point'.  If set, the history
+    code attempts to place the user at the same location on each history
+    line retrived with previous-history or next-history.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-alpha1,
+and the previous version, bash-2.05-release.
+
+1.  Changes to Bash
+
+a.  Better checks in the redirection code for write errors.
+
+b.  bashbug now uses $TMPDIR, defaulting to /tmp, and uses mktemp(1) more
+    portably.
+
+c.  System-specific configuration changes for:  Interix, OpenBSD, FreeBSD,
+    MacOS X.
+
+d.  Some more `const' cleanups through the code.
+
+e.  Fixed a typo in the /dev/fd redirection code, better checks for valid
+    numeric fds in /dev/fd.
+
+f.  Fixed many parts of the shell to handle integer overflow more gracefully
+    and to do more stringent checks for valid numbers.
+
+g.  Fixed mksignames to include config.h.
+
+h.  Fixed an uninitialized variable problem that could cause the shell to core
+    dump when replacing characters in a string.
+
+i.  New mechanism for updating the patch level when official patches are
+    released (patchlevel.h).
+
+j.  configure.in changed to no longer require external files _distribution and
+    _patchlevel.
+
+k.  Fixed non-interactive shell initialization problem when bash started as
+    `bash -i filename'.
+
+l.  Fixed printf builtin conversion error handling to be POSIX.2-conformant.
+
+m.  autoconf-2.52 is now used to build configure; autoconf-2.50 or newer is
+    required.  Some of the bash-specific macros were removed, since they are
+    now standard.
+
+n.  Startup files and files read with source or `.' are no longer required to
+    be regular files.
+
+o.  Fixed core dump in builtin printf when user-supplied precision or field
+    width is 0.
+
+p.  Fixed builtin printf to treat a negative field width as a positive field
+    width with left-justification.
+
+r.  New unwind-protect implementation from Paul Eggert.
+
+s.  Fixed an inadvertently-unclosed comment in the bash completion code that
+    caused programmable completions to not add trailing slashes or spaces to
+    completions.
+
+t.  Fixed the process substitution code to cope better when stdin is closed.
+
+v.  Fixes, mostly from Paul Eggert, for a few possible buffer overflows in
+    the shell.
+
+w.  Fixes from Paul Eggert to avoid most of the type casts in the shell code,
+    and use more appropriate types for a number of variables.
+
+x.  Command substition no longer inherits the DEBUG trap.
+
+y.  Some fixes to the process substition code on machines without /dev/fd so
+    that named pipes are not removed inappropriately.
+
+z.  The loadable `getconf' builtin is now much more complete, and will become
+    part of the shell in the future.
+
+aa. The select command no longer terminates on a `return', so it can be used
+    to return from an enclosing function (as ksh does it).
+
+bb. Fixed the extended pattern matching code to behave better when presented
+    with incorrectly-formed patterns.
+
+cc. Some changes were made with the intent of making cross-compilation easier.
+
+dd. The network code (/dev/tcp and /dev/udp redirections) uses getaddrinfo(3)
+    if it's available, which adds support for IPv6.
+
+ee. Subshells of login shells no longer source ~/.bash_logout when they exit.
+
+ff. Fixes so that subshells don't exit inappropriately if the -e option has
+    been set.
+
+gg. Restricted shells no longer allow functions to be exported.
+
+hh. Changes to the pattern matching code so extended pattern matching works
+    on systems with deficient shared library implementations, like MacOS X.
+
+ii. Better error messages when a script with a leading `#!interp' fails
+    to execute because of problems with `interp'.
+
+jj. Fixed `compgen' to handle the `-o default' option better.
+
+kk. Fixed the job control code to force an asynchronous process's standard
+    input to /dev/null only if job control is not active.
+
+ll. Fixed a possible infinite recursion problem when `fc ""=abc' (a null
+    pattern) is used to re-execute a previous command.
+
+mm. Fixed `declare [-a] var=value' to assign VALUE to element 0 if VAR is an
+    array variable.  Similarly for `declare [-a] var[N]=value'.  This is like
+    ksh93.
+
+nn. Fixed a bug that caused `read -a aname' to work even if ANAME had been
+    declared readonly.
+
+oo. Fixed a possible integer overflow problem when constructing names for
+    temporary files.
+
+2.  New Features in Bash
+
+a.  Added support for DESTDIR installation root prefix, so you can do a
+    `make install DESTDIR=bash-root' and do easier binary packaging.
+
+b.  Added support for builtin printf "'" flag character as per latest POSIX
+    drafts.
+
+c.  Support for POSIX.2 printf(1) length specifiers `j', `t', and `z' (from
+    ISO C99).
+
+d.  New autoconf macro, RL_LIB_READLINE_VERSION, for use by other applications
+    (bash doesn't use very much of what it returns).
+
+e.  `set [-+]o nolog' is recognized as required by the latest POSIX drafts,
+    but ignored.
+
+f.  New read-only `shopt' option:  login_shell.  Set to non-zero value if the
+    shell is a login shell.
+
+g.  New `\A' prompt string escape sequence; expands to time in 24 HH:MM format.
+
+h.  New `-A group/-g' option to complete and compgen; does group name
+    completion.
+
+i.  New `-t' option to `hash' to list hash values for each filename argument.
+
+j.  New [-+]O invocation option to set and unset `shopt' options at startup.
+
+k.  configure's `--with-installed-readline' option now takes an optional
+    `=PATH' suffix to set the root of the tree where readline is installed
+    to PATH.
+
+l.  The ksh-like `ERR' trap has been added.  The `ERR' trap will be run
+    whenever the shell would have exited if the -e option were enabled.
+    It is not inherited by shell functions.
+
+m.  `readonly', `export', and `declare' now print variables which have been
+    given attributes but not set by assigning a value as just a command and
+    a variable name (like `export foo') when listing, as the latest POSIX
+    drafts require.
+
+n.  `bashbug' now requires that the subject be changed from the default.
+
+o.  configure has a new `--enable-largefile' option, like other GNU utilities.
+
+p.  `for' loops now allow empty word lists after `in', like the latest POSIX
+    drafts require.
+
+3.  Changes to Readline
+
+a.  More `const' and type casting fixes.
+
+b.  Changed rl_message() to use vsnprintf(3) (if available) to fix buffer
+    overflow problems.
+
+c.  The completion code no longer appends a `/' or ` ' to a match when
+    completing a symbolic link that resolves to a directory name, unless
+    the match does not add anything to the word being completed.  This
+    means that a tab will complete the word up to the full name, but not
+    add anything, and a subsequent tab will add a slash.
+
+d.  Fixed a trivial typo that made the vi-mode `dT' command not work.
+
+e.  Fixed the tty code so that ^S and ^Q can be inserted with rl_quoted_insert.
+
+f.  Fixed the tty code so that ^V works more than once.
+
+g.  Changed the use of __P((...)) for function prototypes to PARAMS((...))
+    because the use of __P in typedefs conflicted g++ and glibc.
+
+4.  New Features in Readline
+
+a.  Added extern declaration for rl_get_termcap to readline.h, making it a
+    public function (it was always there, just not in readline.h).
+
+b.  New #defines in readline.h:  RL_READLINE_VERSION, currently 0x0402,
+    RL_VERSION_MAJOR, currently 4, and RL_VERSION_MINOR, currently 2.
+
+c.  New readline variable:  rl_readline_version, mirrors RL_READLINE_VERSION.
+
+d.  New bindable boolean readline variable:  match-hidden-files.  Controls
+    completion of files beginning with a `.' (on Unix).  Enabled by default.
+
+e.  The history expansion code now allows any character to terminate a
+    `:first-' modifier, like csh.
+
+f.  The incremental search code remembers the last search string and uses
+    it if ^R^R is typed without a search string.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-release,
+and the previous version, bash-2.05-beta2.
+
+1.  Changes to Bash
+
+a.  Make sure we note that the first line of a multi-line command was not
+    saved in the history if the tests for HISTCONTROL succeed, but the
+    HISTIGNORE check fails.
+
+b.  Fixed a bug in the pattern matching code that caused `[' to be treated
+    as a special character inside a `[...]' bracket expression.
+
+c.  Fixed a bug in the pattern matching code that caused `]' to terminate
+    a bracket expression even if it was the first character after the `['
+    (or a leading `!' or `^').
+
+d.  Made a small change to report a more user-friendly error message if
+    execve(2) fails because of an error with the interpreter in a script
+    with a leading `#! interpreter'.
+
+e.  If the OS does not support an exec(2) magic number of `#!', make sure we
+    have a non-null interpreter name before attempting to execute it.
+
+f.  Fixed a bug that caused the shell process to end up in a different
+    process group than the controlling terminal if a job-control shell was
+    run with `exec' in the startup files.
+
+g.  When started in POSIX mode, either by `bash --posix', `bash -o posix', or
+    `sh', $SHELLOPTS includes `posix' and POSIXLY_CORRECT is set.
+
+h.  Fixed a problem that caused the `\W' prompt string escape sequence to
+    expand to nothing when $PWD was `//'.
+
+i.  The `bashbug' shell script no longer uses $(...) command substitution.
+
+j.  When `set' is invoked without options in POSIX mode, it no longer prints
+    the names and definitions of shell functions.
+
+2.  Changes to Readline
+
+a.  rl_set_paren_blink_timeout() is now documented.
+
+b.  Corrected history.3 man page: `$' is not in the default value of
+    history_word_delimiters.
+
+c.  If a hook function assigned to rl_event_hook sets rl_done to a non-zero
+    value, rl_read_key() now immediately returns '\n' (which is assumed to
+    be bound to accept-line).
+
+3.  New Features in Bash
+
+a.  The `>&word' redirection now works in POSIX mode as it does by default,
+    since POSIX.2 leaves it unspecified.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-beta2,
+and the previous version, bash-2.05-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the arithmetic evaluation code so that a^=b is supported.
+
+b.  Fixed startup so posixly_correct is retained across subshells begun to
+    execute scripts without a leading `#!'.
+
+c.  Fixed a bug that caused $(< file) to not work in a (...) subshell.
+
+d.  Added config support for Linux running on the IBM S390.
+
+e.  Fixed a bug that caused bash to get its input pointer out of sync when
+    reading commands through a pipe and running a command with standard
+    input redirected from a file.
+
+f.  Made a change so that command completion now makes about half as many
+    stat(2) calls when searching the $PATH.
+
+g.  Fixed a bug that caused variable assignments preceding `return' to not
+    be propagated to the shell environment in POSIX mode.
+
+h.  Fixed a bug with ${parameter[:]?word} -- tilde expansion was not performed
+    on `word'.
+
+i.  In POSIX mode, `break' and `continue' do not complain and return success
+    if called when the shell is not executing a loop.
+
+j.  Fixed `bash -o posix' to work the same as `bash --posix'.
+
+k.  Fixed a bug where variable assignments preceding `eval' or `source/.'
+    would not show up in the environment exported to subshells run by the
+    commands.
+
+l.  In POSIX mode, shells started to execute command substitutions inherit
+    the value of the `-e' option from their parent shell.
+
+m.  In POSIX mode, aliases are expanded even in non-interactive shells.
+
+n.  Changed some of the job control messages to display the text required by
+    POSIX.2 when the shell is in POSIX mode.
+
+o.  Fixed a bug in `test' that caused it to occasionally return incorrect
+    results when non-numeric arguments were supplied to `-t'.
+
+2.  Changes to Readline
+
+a.  Some changes were made to avoid gcc warnings with -Wall.
+
+b.  rl_get_keymap_by_name now finds keymaps case-insensitively, so
+    `set keymap EMACS' works.
+
+c.  The history file writing and truncation functions now return a useful
+    status on error.
+
+d.  Fixed a bug that could cause applications to dereference a NULL pointer
+    if a NULL second argument was passed to history_expand().
+
+3.  New Features in Bash
+
+a.  doc/readline.3 has been moved to the readline distribution.
+
+4.  New Features in Readline
+
+a.  New function, rl_get_screen_size (int *rows, int *columns), returns
+    readline's idea of the screen dimensions.
+
+b.  The timeout in rl_gather_tyi (readline keyboard input polling function)
+    is now settable via a function (rl_set_keyboard_input_timeout()).
+
+c.  Renamed the max_input_history variable to history_max_entries; the old
+    variable is maintained for backwards compatibility.
+
+d.  The list of characters that separate words for the history tokenizer is
+    now settable with a variable:  history_word_delimiters.  The default
+    value is as before.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-beta1,
+and the previous version, bash-2.05-alpha1.
+
+1.  Changes to Bash
+
+a.  Changes to allow shared library and object building on the GNU Hurd.
+
+b.  Fixes to the way exported functions are placed into the environment and
+    cached.
+
+c.  The globbing library once again respects locales when processing ranges
+    in bracket expressions while doing pattern matching.
+
+d.  System-specific configuration changes for:  Tru 64, Interix
+
+e.  Bashbug now uses /usr/bin/editor as one of the editing alternatives, and
+    will use mktemp(1) or tempfile(1), if present, for temporary file creation.
+
+f.  Bash no longer performs a binary file check on a script argument that's
+    really a tty (like /dev/fd/0 or /dev/stdin).
+
+g.  Fixed a bug in the execution of shell scripts that caused the effects of
+    $BASH_ENV to be undone in some cases.
+
+h.  Fixed several bugs that made `bash [-i] /dev/stdin' not work correctly.
+
+i.  Several changes to the job control code to avoid some signal state
+    manipulation.
+
+j.  The Bash malloc no longer blocks signals as often, which should make it
+    faster.
+
+k.  Fixed a parsing bug that did not allow backslash to escape a single quote
+    inside a $'...' construct.
+
+l.  Fixed a bug that caused things like ${var:=$'value'} to be parsed
+    incorrectly.  This showed up in newer versions of autoconf.
+
+m.  Fixed a bug in the bash-specific readline initialization that caused
+    key bindings to bash-specific function names appearing in .inputrc to
+    not be honored.
+
+n.  Bash now sets the file descriptor it uses to save the file descriptor
+    opened on a shell script to close on exec.
+
+o.  Fixed a bug in the prompt string decoding that caused it to misbehave
+    when presented an octal sequence of fewer than three characters.
+
+p.  Fixed the `test' builtin to return an error if `[' is supplied a single
+    argument that is not `]'.
+
+q.  Fixed a bug that caused subshells started to run executable shell scripts
+    without a leading `#!' to incorrectly inherit an argument list preceding
+    a shell builtin (like such a script called from a script sourced with `.',
+    where there were variable assignments preceding the `.' command)
+
+r.  Fixed a bug that caused changes to variables supplied in an assignment
+    statement preceding a shell builtin to not be honored (like a script
+    run with `.').
+
+s.  HOSTTYPE, OSTYPE, and MACHTYPE are set only if they do not have values
+    when the shell is started.
+
+t.  Fixed a bug that caused SIGINT to kill shell scripts after the script
+    called `wait'.
+
+u.  The `fc' builtin now tries to create its temporary files in the directory
+    named by $TMPDIR.
+
+v.  Bash no longer calls any Readline functions or uses any Readline variables
+    not declared in readline.h.
+
+w.  Fixed a bug that caused some substitutions involving $@ to not be split
+    correctly, especially expansions of the form ${paramterOPword}.
+
+x.  SSH2_CLIENT is now treated like SSH_CLIENT and not auto-exported if it
+    appears in the initial environment.
+
+y.  Fixed a couple of problems with shell scripts without a leading `#!'
+    being executed out of shell functions that could cause core dumps if
+    such a script attempted to execute `return'.
+
+z.  Fixed a problem with the `-nt' and `-ot' binary operators for the
+    `test/[' builtin and the `[[' conditional command that caused wrong
+    return values if one of the file arguments did not exist.
+
+aa. Fixed a bug that caused non-interactive shells which had previously
+    executed `shopt -s expand_aliases' to fail to expand aliases in a
+    command like `(command) &'.
+2.  Changes to Readline
+
+a.  Changes to make most (but not yet all -- there is still crlf()) of the
+    exported readline functions declared in readline.h have an rl_ prefix.
+
+b.  More `const' changes in function arguments, mostly for completion
+    functions.
+
+c.  Fixed a bug in rl_forward that could cause the point to be set to before
+    the beginning of the line in vi mode.
+
+d.  Fixed a bug in the callback read-char interface to make it work when a
+    readline function pushes some input onto the input stream with
+    rl_execute_next (like the incremental search functions).
+
+e.  Fixed a file descriptor leak in the history file manipulation code that
+    was tripped when attempting to truncate a non-regular file (like
+    /dev/null).
+
+f.  Some existing variables are now documented and part of the public
+    interface (declared in readline.h):  rl_explict_arg, rl_numeric_arg,
+    rl_editing_mode, rl_last_func.
+
+g.  Renamed rltty_set_default_bindings to rl_tty_set_default_bindings and
+    crlf to rl_crlf, so there are no public functions declared in readline.h
+    without an `rl_' prefix.  The old functions still exist for backwards
+    compatibility.
+
+3.  New Features in Bash
+
+a.  A new loadable builtin, realpath, which canonicalizes and expands symlinks
+    in pathname arguments.
+
+b.  When `set' is called without options, it prints function defintions in a
+    way that allows them to be reused as input.  This affects `declare' and
+    `declare -p' as well.
+
+4.  New Features in Readline
+
+a.  New application-callable function rl_set_prompt(const char *prompt):
+    expands its prompt string argument and sets rl_prompt to the result.
+
+b.  New application-callable function rl_set_screen_size(int rows, int cols):
+    public method for applications to set readline's idea of the screen
+    dimensions.
+
+c.  The history example program (examples/histexamp.c) is now built as one
+    of the examples.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-alpha1,
+and the previous version, bash-2.04-release.
+
+1.  Changes to Bash
+
+a.  A fix was made to allow newlines in compond array assignments.
+
+b.  configure now checks for real-time signals with unusable values.
+
+c.  Interactive shells no longer exit if a substitution fails because of an
+    unset variable within a sourced file.
+
+d.  Fixed a problem with incorrect matching of extended glob patterns when
+    doing pattern substitution.
+
+e.  `{' is now quoted by the completion code when it appears in a filename.
+
+f.  Fixed an error in pattern matching that caused the matcher to not
+    correctly skip the rest of a bracket expression after a character
+    matched.
+
+g.  Fixed a bug in the IFS word splitting code to make a non-whitespace IFS
+    character preceded by IFS whitespace part of the current delimiter rather
+    than generating a separate field.
+
+h.  The {!prefix@} expansion now generates separate words, analogous to $@,
+    when double-quoted.
+
+i.  Command substitution now ignores NUL bytes in the command output, and the
+    parser ignores them on input.
+
+j.  A fix was made to the job control code to prevent hanging processes when
+    the shell thinks background processes are running but the kernel returns
+    -1/ECHILD from waitpid().
+
+k.  `pwd' now prints an error message if the write fails when displaying the
+    current directory.
+
+l.  When in POSIX mode, the shell prints trap dispostions without a leading
+    `SIG' in the signal specification.
+
+m.  Fixed a parser bug that caused the current command's line count to be
+    messed up by a compound array assignment.
+
+n.  Fixed a bug in the unwind-protect code that caused bad behavior on machines
+    where ints and pointers are not the same size.
+
+o.  System-specific configure changes for:  MacOS X.
+
+p.  Changes for Cygwin to translate \r\n and \r to \n and to set file
+    descriptors used for reading input to text mode in various places.
+
+q.  Fixed a bug that caused `!' to occasionally not be honored when in
+    a (...) subshell.
+
+r.  Bash no longer assumes that getcwd() will return any useful error message
+    in the buffer passed as an argument if the call fails.
+
+s.  The `source', `.', and `fc' builtins no longer check whether a file is
+    binary before reading commands from it.
+
+t.  Subshells no longer turn off job control when they exit, since that
+    sometimes resulted in the terminal being reset to the wrong process
+    group.
+
+u.  The history code no longer tries to save the second and subsequent lines
+    of a multi-line command if the first line was not saved.
+
+v.  The history saving code now does a better job of saving blank lines in a
+    multi-line command.
+
+w.  Removed a `feature' that made `ulimit' silently translate `unlimited' to
+    the current hard limit, which obscured some kernel error returns.
+
+x.  Fixed the grammar so that `}' is recognized as a reserved word after
+    another reserved word, rather than requiring a `;' or newline.  This
+    means that constructs like
+
+       { { echo a b c ; } }
+
+    work as expected.
+
+y.  Conditional commands ([[...]]) now perform tilde expansion on their
+    arguments.
+
+z.  Noted in the documentation that `set -a' will cause functions to be
+    exported if they are defined after `set -a' is executed.
+
+aa. When an interactive login shell starts, if $PWD and $HOME refer to the
+    same directory but are not the same string, $PWD is set to $HOME.
+
+bb. Fixed `printf' to handle invalid floating point numbers better.
+
+cc. Temporary files are now created with random filenames, to improve security.
+
+dd. The readline initialization code now binds the custom bash functions and
+    key bindings after the readline defaults are set up.
+
+ee. Fixed the `source' builtin to no longer overwrite a shell function's
+    argument list, even if the sourced file changes the positional parameters.
+
+ff. A bug fix was made in the expansion of `$*' in contexts where it should
+    not be split, like assignment statements.
+
+gg. Fixed a bug in the parameter substring expansion to handle conditional
+    arithmetic expressions ( exp ? val1 : val2 ) without cutting the expression
+    off at the wrong `:'.
+
+hh. The `<>' redirection is no longer subject to the current setting of
+    `noclobber', as POSIX.2 specifies.
+
+ii. Fixed a bug in the conditional command parsing code that caused expressions
+    in parentheses to occasionally be parsed incorrectly.
+
+jj. Fixed a bug in the ((...)) arithmetic command to allow do...done or
+    {...} to follow the )) without an intervening list terminator.
+
+kk. `printf' now treats `\E' the same as `\e' when performing backslash escape
+    expansion for the `%b' format specifier.
+
+ll. When in POSIX mode, the shell no longer searches the current directory for
+    a file to be sourced with `.' or `source' if `.' is not in $PATH.
+
+mm. Interactive comments are no longer turned off when POSIX mode is disabled.
+
+nn. The UID, EUID, HOSTNAME variables are not set if they are in the shell's
+    environment when it starts up.
+
+oo. Fixed a bug in the `command' builtin so the effect of a command like
+    `command exec 4<file' is as if the `command' had been omitted.
+
+pp. ${foo[@]} and ${foo[*]} now work as in ksh93 if `foo' is not an array
+    variable.
+
+qq. ${#foo[X]}, where X is 0, @, or *, now work as in ksh93 if `foo' is not
+    an array variable.
+
+rr. The shell's idea of an absolute pathname now takes into account a
+    possible drive specification on Cygwin and other Windows systems.
+
+ss. Fixed a bug which caused incorrect parsing of some multi-character
+    constructs if they were split across input lines with backslash-newline
+    line continuation.
+
+tt. Fixed a bug that caused restricted shell mode to be set inappropriately
+    when trying to execute a shell script without a leading `#!'.
+
+uu. Shell function definitions no longer require that the body be a group
+    command ( {...} ), as POSIX.2 requires.
+
+vv. The `cd' and `pwd' builtins now process symlinks in pathnames internally
+    and should require many fewer calls to getcwd().
+
+ww. Fixed a bug that caused a pipeline's process group to be set incorrectly
+    if one of the pipeline elements contained a command substitution.
+
+xx. Fixed a bug that caused core dumps when expanding the value of HISTIGNORE.
+
+yy. The output of `set' is now quoted using $'...' so invisible characters are
+    displayed as escape sequences.
+
+zz. Fixed the help text for `unset', since PATH and IFS may both be unset.
+
+aaa. The shell no longer puts directory names into the command hash table.
+
+bbb. Fixed a bug in `read' that caused it to occasionally free memory twice if
+     it was interrupted after reading a large amount of data.
+
+ccc. Assignment statements that attempt to assign values to readonly variables
+     now cause the command to return an error status.
+
+ddd. Fixed a bug that could cause incorrect output if a $(<file) construct was
+     interrupted.
+
+eee. GROUPS and FUNCNAME now return an error status when assignment is
+     attempted, but may be unset (in which case they lose their special
+     properties).  In all respects except unsetting, they are readonly.
+
+fff. The string-to-integer conversion code now ignores trailing whitespace in
+     the string, even if strtol(3) does not.
+
+ggg. The tcsh magic-space function now does a better job of inserting the
+     space close to where the point was before the history expansion, rather
+     than just appending it.
+
+hhh. Fixed a bug which caused a file sourced from an interactive shell to
+     fill up the jobs table if it ran lots of jobs.
+
+iii. Fixed a bug in the parameter pattern substitution code to avoid infinite
+     recursion on zero-length matches.
+
+2.  Changes to Readline
+
+a.  When setting the terminal attributes on systems using `struct termio',
+    readline waits for output to drain before changing the attributes.
+
+b.  A fix was made to the history word tokenization code to avoid attempts to
+    dereference a null pointer.
+
+c.  Readline now defaults rl_terminal_name to $TERM if the calling application
+    has left it unset, and tries to initialize with the resultant value.
+
+d.  Instead of calling (*rl_getc_function)() directly to get input in certain
+    places, readline now calls rl_read_key() consistently.
+
+e.  Fixed a bug in the completion code that allowed a backslash to quote a
+    single quote inside a single-quoted string.
+
+f.  rl_prompt is no longer assigned directly from the argument to readline(),
+    but uses memory allocated by readline.  This allows constant strings to
+    be passed to readline without problems arising when the prompt processing
+    code wants to modify the string.
+
+g.  Fixed a bug that caused non-interactive history searches to return the
+    wrong line when performing multiple searches backward for the same string.
+
+h.  Many variables, function arguments, and function return values are now
+    declared `const' where appropriate, to improve behavior when linking with
+    C++ code.
+
+i.  The control character detection code now works better on systems where
+    `char' is unsigned by default.
+
+j.  The vi-mode numeric argument is now capped at 999999, just like emacs mode.
+
+k.  The Function, CPFunction, CPPFunction, and VFunction typedefs have been
+    replaced with a set of specific prototyped typedefs, though they are
+    still in the readline header files for backwards compatibility.
+
+m.  Nearly all of the (undocumented) internal global variables in the library
+    now have an _rl_ prefix -- there were a number that did not, like
+    screenheight, screenwidth, alphabetic, etc.
+
+n.  The ding() convenience function has been renamed to rl_ding(), though the
+    old function is still defined for backwards compatibility.
+
+o.  The completion convenience functions filename_completion_function,
+    username_completion_function, and completion_matches now have an rl_
+    prefix, though the old names are still defined for backwards compatibility.
+
+p.  The functions shared by readline and bash (linkage is satisfied from bash
+    when compiling with bash, and internally otherwise) now have an sh_ prefix.
+
+q.  Changed the shared library creation procedure on Linux and BSD/OS 4.x so
+    that the `soname' contains only the major version number rather than the
+    major and minor numbers.
+
+r.  Fixed a redisplay bug that occurred when the prompt spanned more than one
+    physical line and contained invisible characters.
+
+3.  New Features in Bash
+
+a.  Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+    per the new GNU coding standards.
+
+b.  The /dev/tcp and /dev/udp redirections now accept service names as well as
+    port numbers.
+
+c.  `complete' and `compgen' now take a `-o value' option, which controls some
+    of the aspects of that compspec.  Valid values are:
+
+       default - perform bash default completion if programmable
+                 completion produces no matches
+       dirnames - perform directory name completion if programmable
+                  completion produces no matches
+       filenames - tell readline that the compspec produces filenames,
+                   so it can do things like append slashes to
+                   directory names and suppress trailing spaces
+
+4.  New Features in Readline
+
+a.  The blink timeout for paren matching is now settable by applications.
+
+b.  _rl_executing_macro has been renamed to rl_executing_macro, which means
+    it's now part of the public interface.
+
+c.  Readline has a new variable, rl_readline_state, which is a bitmap that
+    encapsulates the current state of the library; intended for use by
+    callbacks and hook functions.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-release,
+and the previous version, bash-2.04-beta5.
+
+1.  Changes to Bash
+
+a.  Better compile-time and configure-time checks for the necessity of
+    inet_aton().
+
+b.  A bug was fixed in the expansion of "${@:-}" when there are positional
+    parameters.
+
+c.  A typo was fixed in the output of `complete'.
+
+d.  The matches generated for a word by the `-W' argument to complete and
+    compgen are now matched against the word being completed, and only
+    matches are returned as the result.
+
+e.  Some fixes were made for systems which do not restart read(2) when a
+    signal caught by bash is received.
+
+f.  A bug was fixed which caused the umask to be set to 0 when an invalid
+    symbolic mode mask was parsed.
+
+g.  Fixed a bug that could cause a core dump if a SIGCHLD was received while
+    performing an assignment statement using command substitution.
+
+h.  Changed the word splitting function for programmable completion so cases
+    in which the cursor is between words are handled a bit better.
+
+2.  Changes to Readline
+
+a.  rl_funmap_names() is now documented.
+
+3.  New Features in Bash
+
+a.  The LC_NUMERIC variable is now treated specially, and used to set the
+    LC_NUMERIC locale category for number formatting, e.g., when `printf'
+    displays floating-point numbers.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta5,
+and the previous version, bash-2.04-beta4.
+
+1.  Changes to Bash
+
+a.  A couple of changes were made to the Makefiles for easier building on
+    non-Unix systems.
+
+b.  Fixed a bug where the current prompt would be set to $PS2 at startup.
+
+c.  The shell script that tests an already-installed version was changed to
+    remove the directory it created its test programs in at exit.
+
+d.  Several changes were made to the code that tokenizes an input line for
+    the programmable completion code.  Shell metacharacters will now appear
+    as individual words in the word list passed to the completion functions.
+    Some of the example completion shell functions were changed to understand
+    redirection operators.
+
+e.  A bug was fixed that, under obscure circumstances, could confuse the
+    parser when a shell function was run by the programmable completion code.
+
+f.  A bug was fixed in the ulimit builtin for systems not using getrlimit().
+
+g.  The execution code now propagates the correct exit status back to the rest
+    of the code if the return value of a subshell command was being inverted.
+    Some new test cases for inverting return values with the `!' reserved
+    word have been added.
+
+h.  Negative exponents in the arithmetic evaluation of v**e now return an
+    evaluation error.
+
+i.  A bug that caused bash to check the wrong process in a pipeline for
+    abnormal termination (and consequently resetting the terminal attributes)
+    was fixed.
+
+j.  Fixed a bug that caused $PS2 to be displayed after PROMPT_COMMAND was
+    executed.
+
+2.  Changes to Readline
+
+1.  Fixed a bug in a C preprocessor define that caused the keypad control
+    functions to be compiled out for all platforms except DJGPP.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta4,
+and the previous version, bash-2.04-beta3.
+
+1.  Changes to Bash
+
+a.  A couple of changes were made to the redirection to attempt to avoid
+    race conditions and malicious file replacement.
+
+2.  A change was made to the string evaluation code (used for command 
+    substitution, `eval', and the `.' builtin) to fix an obscure core
+    dump on alpha machines.
+
+3.  A bug that caused $LINENO to be wrong when executing arithmetic for
+    commands was fixed.
+
+4.  A couple of memory leaks in the programmable completion code were fixed.
+
+5.  A bug that could cause a core dump by freeing memory twice during a call
+    to `eval' if `set -u' had been enabled and an undefined variable was
+    referenced was fixed.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta3,
+and the previous version, bash-2.04-beta2.
+
+1.  Changes to Bash
+
+a.  Bash should run the appropriate startup files when invoked by ssh2.
+
+b.  Fixed a bug in the parsing of conditional commands that could cause a
+    core dump.
+
+c.  Fixed a bug in parsing job specifications that occasionally caused
+    core dumps when an out-of-range job was referenced.
+
+d.  Fixed the `type' and `command' builtins to do better reporting of
+    commands that are not found in $PATH or the hash table.
+
+e.  Fixed a POSIX.2 compliance problem in the command builtin -- commands
+    are supposed to be reported as full pathnames.
+
+f.  The `echo' builtin now returns failure if a write error occurs.
+
+g.  Fixed a bug which caused the locale to not be reset correctly when
+    LC_ALL was unset.
+
+h.  Changed description of `getopts' in man page and reference manual to make
+    it clear that option characters may be characters other than letters.
+
+i.  If the shell exits while in a function, make sure that any trap on EXIT
+    doesn't think the function is still executing.
+
+j.  Bashbug now tries harder to find a usable editor if $EDITOR is not set,
+    rather than simply defaulting to `emacs'.
+
+k.  Changes to the scripts that guess and canonicalize the system type, from
+    the latest `automake' distribution via Debian.
+
+l.  When using named pipes for process substitution, make sure the file
+    descriptors opened for reading are set to non-blocking mode.
+
+m.  Fixed a bug that caused termination of pipelines that are killed by a
+    signal to not be reported in some cases.
+
+n.  When not in literal-history mode, shell comment lines are not added to
+    the history list.
+
+o.  When running in POSIX.2 mode, bash no longer performs word splitting on
+    the expanded value of the word supplied as the filename argument to
+    redirection operators.
+
+p.  The prompt string decoding code now backslash-quotes only characters that
+    are special within double quotes when expanding the \w and \W escape
+    sequences.
+
+q.  Fixed a bug in the prompt decoding code that could cause a non-interactive
+    shell to seg fault if `\u' was used in PS4 and the shell was in xtrace
+    mode.
+
+r.  Fixed a bug that caused function definitions to be printed with any
+    redirections that should be attached to the entire function before the
+    closing brace.
+
+s.  Changed the tilde expansion code for Cygwin systems to avoid creating
+    pathnames beginning with `//' if $HOME == `/'.
+
+t.  Fixed a couple of autoconf tests to avoid creating files with fixed names
+    in /tmp.
+
+u.  The `trap' and `kill' builtins now know the names of the POSIX.1b real-
+    time signals on systems which support them.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with the single-quote quoting function that could cause
+    buffer overflows.
+
+b.  Fixed a bug that caused incorrect `stat characters' to be printed if
+    the files being completed were in the root directory and visible-stats
+    was enabled.
+
+3.  New Features in Bash
+
+a.  There is a new `rbash.1' manual page, from the Debian release.
+
+b.  The `--enable-usg-echo-default' option to `configure' has been renamed to
+    `--enable-xpg-echo-default'.  The old option is still there for backwards
+    compatibility.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta2,
+and the previous version, bash-2.04-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that could cause pipes to be closed inappropriately in
+    some obscure cases.
+
+b.  Fixed a bug that caused creation of the exported environment to clobber
+    the current command string if there were any exported shell functions.
+
+c.  Some changes were made to reduce bash's memory usage.
+
+d.  Fixed a problem with programmable completion and filenames to be
+    completed containing quote characters.
+
+e.  Changed the code the removes named pipes created for the <(...) and >(...)
+    expansions to defer removal until after any current shell function has
+    finished executing.
+
+f.  Fixed a bug in `select' which caused it to not handle the `continue'
+    builtin correctly.
+
+g.  Autoconf tests added for cygwin32 and mingw32.
+
+2.  New Features in Bash
+
+a.  The `--with-bash-malloc' configure option replaces `--with-gnu-malloc'
+    (which is still there for backwards compatibility).
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta1,
+and the previous version, bash-2.04-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the programmable completion code that occurred when
+    trying to complete command lines containing a `;' or `@'.
+
+b.  The file descriptor from which the shell is reading a script is now
+    moved to a file descriptor above the user-addressible range.
+
+c.  Changes to `printf' so that it can handle integers beginning with 0
+    or 0x as octal and hex, respectively.
+
+d.  Fixes to the programmable completion code so it handles nonsense like
+    `compgen -C xyz' gracefully.
+
+e.  The shell no longer modifies the signal handler for SIGPROF, allowing
+    profiling again on certain systems.
+
+f.  The shell checks for a new window size, if the user has requested it,
+    after a process exits due to a signal.
+
+g.  Fixed a bug with variables with null values in a program's temporary
+    environment and the bash getenv() replacement.
+
+h.  `declare' and the other builtins that take variable assignments as
+    arguments now honor `set -a' and mark modified variables for export.
+
+i.  Some changes were made for --dump-po-strings mode when writing strings
+    with embedded newlines.
+
+j.  The code that caches export strings from the initial environment now
+    duplicates the string rather than just pointing into the environment.
+
+k.  The filename completion quoting code now uses single quotes by default
+    if the filename being completed contains newlines, since \<newline>
+    has a special meaning to the parser.
+
+l.  Bash now uses typedefs bits32_t and u_bits32_t instead of int32_t and
+    u_int32_t, respectively to avoid conflicts on certain Unix versions.
+
+m.  Configuration changes were made for: Rhapsody, Mac OS, FreeBSD-3.x.
+
+n.  Fixed a problem with hostname-to-ip-address translation in the
+    /dev/(tcp|udp)/hostname/port redirection code.
+
+o.  The texinfo manual has been reorganized slightly.
+
+p.  Filename generation (globbing) range comparisons in bracket expressions
+    no longer use strcoll(3) even if it is available, since it has unwanted
+    effects in certain locales.
+
+q.  Fixed a cosmetic problem in the source that caused the shell to not
+    compile if DPAREN_ARITHMETIC was not defined but ARITH_FOR_COMMAND was.
+
+r.  Fixed a bug in the here-document code tripped when the file descriptor
+    opened to the file containing the text of the here document was the
+    same as a redirector specified by the user.
+
+s.  Fixed a bug where the INVERT_RETURN flag was not being set for `pipeline'
+    in `time ! pipeline'.
+
+t.  Fixed a bug with the `wait' builtin which manifested itself when an
+    interrupt was received while the shell was waiting for asynchronous
+    processes in a shell script.
+
+u.  Fixed the DEBUG trap code so that it has the correct value of $?.
+
+v.  Fixed a bug in the parameter pattern substitution code that could cause
+    the shell to attempt to free unallocated memory if the pattern started
+    with `/' and an expansion error occurs.
+
+w.  Fixed a bug in the positional parameter substring code that could
+    cause the shell to loop freeing freed memory.
+
+x.  Fixed a bug in the positional parameter pattern substitution code so
+    that it correctly handles null replacement strings with a pattern
+    string prefixed with `%' or `#'.
+
+y.  The shell no longer attempts to import functions from the environment if
+    started with `-n'.
+
+z.  Fixed a bug that caused `return' in a command substitution executed in
+    a shell function to return from the function in a subshell and continue
+    execution.
+
+aa. `hash -p /pathname/with/slashes name' is no longer allowed when the shell
+    is restricted.
+
+bb. The wait* job control functions now behave better if called when there
+    are no unwaited-for children.
+
+cc. Command substitution no longer unconditionally disables job control in
+    the subshell started to run the command.
+
+dd. A bug was fixed that occasionally caused traps to mess up the parser
+    state.
+
+ee. `bashbug' now honors user headers in the mail message it sends.
+
+ff. A bug was fixed that caused the `:p' history modifier to not print the
+    history expansion if the `histverify' option was set.
+
+2.  Changes to Readline
+
+a.  Fixed a bug in the redisplay code for lines with more than 256 line
+    breaks.
+
+b.  A bug was fixed which caused invisible character markers to not be
+    stripped from the prompt string if the terminal was in no-echo mode.
+
+c.  Readline no longer tries to get the variables it needs for redisplay
+    from the termcap entry if the calling application has specified its
+    own redisplay function.  Readline treats the terminal as `dumb' in
+    this case.
+
+d.  Fixes to the SIGWINCH code so that a multiple-line prompt with escape
+    sequences is redrawn correctly.
+
+3.  New Features in Bash
+
+a.  `bashbug' now accepts `--help' and `--version' options.
+
+b.  There is a new `xpg_echo' option to `shopt' that controls the behavior
+    of echo with respect to backslash-escaped characters at runtime.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-alpha1,
+and the previous version, bash-2.04-devel.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that could cause core dumps when performing substring
+    expansion.
+
+b.  Shared object configuration changes for:  Solaris, OSF/1
+
+c.  The POSIX_GLOB_LIBRARY code that uses the POSIX.2 globbing facilities
+    for pathname expansion now understands GLOBIGNORE.
+
+d.  The code that implements `eval' was changed to save the value of the
+    current prompt, so an eval in a shell function called by the programmable
+    completion code will not change the prompt to $PS2.
+
+e.  Restored the undocumented NON_INTERACTIVE_LOGIN_SHELLS #define to
+    config-top.h.  If this is defined, all login shells will read the
+    startup files, not just interactive and non-interactive started with
+    the `--login' option.
+
+f.  Fixed a bug that caused the expansion code to occasionally dump core if
+    IFS contained characters > 128.
+
+g.  Fixed a problem with the grammar so that a newline is not required
+    after the `))' in the new-style arithmetic for statement; a semicolon
+    may be used as expected.
+
+h.  Variable indirection may now reference the shell's special variables.
+
+i.  The $'...' and $"..." constructs are now added to the history correctly
+    if they contain newlines and command-oriented history is enabled.
+
+j.  It is now an error to try to assign a value to a function-local copy
+    of a readonly shell variable (declared with the `local' builtin).
+
+2.  Changes to Readline
+
+a.  The history file code now uses O_BINARY mode when reading and writing
+    the history file on cygwin32.
+
+3.  New Features in Bash
+
+a.  A new programmable completion facility, with two new builtin commands:
+    complete and compgen.
+
+b.  configure has a new option, `--enable-progcomp', to compile in the
+    programmable completion features (enabled by default).
+
+c.  `shopt' has a new option, `progcomp', to enable and disable programmable
+    completion at runtime.
+
+d.  Unsetting HOSTFILE now clears the list of hostnames used for completion.
+
+4.  New Features in Readline
+
+a.  A new variable, rl_gnu_readline_p, always 1.  The intent is that an
+    application can verify whether or not it is linked with the `real'
+    readline library or some substitute.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-devel,
+and the previous version, bash-2.03-release.
+
+1.  Changes to Bash
+
+a.  System-specific configuration and source changes for:  Interix, Rhapsody
+
+b.  Fixed a bug in execute_cmd.c that resulted in a compile-time error if
+    JOB_CONTROL was not defined.
+
+c.  An obscure race condition in the trap code was fixed.
+
+d.  The string resulting from $'...' is now requoted to avoid any further
+    expansion.
+
+e.  The $'...' quoting syntax now allows backslash to escape a single quote,
+    for ksh-93 compatibility.
+
+f.  The $"..." quoting syntax now escapes backslashes and double quotes in
+    the translated string when displaying them with the --dump-po-strings
+    option.
+
+g.  `echo -e' no longer converts \' to '.
+
+h.  Fixes were made to the extended globbing code to handle embedded (...)
+    patterns better.
+
+i.  Some improvements were made to the code that unsets `nodelay' mode on
+    the file descriptor from which bash is reading input.
+
+j.  Some changes were made to the replacement termcap library for better
+    operation on MS-DOS.
+
+k.  Some changes were made to the tilde expansion code to handle backslash
+    as a pathname separator on MS-DOS.
+
+l.  The source has been reorganized a little bit -- there is now an `include'
+    subdirectory, and lib/posixheaders has been removed.
+
+m.  Improvements were made to the `read' builtin so that it makes many
+    fewer read(2) system calls.
+
+n.  The expansion of $- will include `c' and `s' when those options are
+    supplied at shell invocation.
+
+o.  Several improvments were made to the completion code:  variable completion
+    now works better when there are unterminated expansions, command
+    completion understands quotes better, and completion now works in certain
+    unclosed $(... constructs.
+
+p.  The arithmetic expansion code was fixed to not need the value of a
+    variable being assigned a value (fixes the "ss=09; let ss=10" bug).
+
+q.  Some changes were made to make exported environment creation faster.
+
+r.  The html documentation will be installed into $(htmldir) if that variable
+    has a value when `make install' is run.
+
+s.  Fixed a bug that would cause the bashrc file to be sourced inappropriately
+    when bash is started by sshd.
+
+t.  The SSH_CLIENT environment variable is no longer auto-exported.
+
+u.  A bug that caused redirections with (...) subshells to be performed in
+    the wrong order was fixed.
+
+v.  A bug that occasionally caused inappropriate expansion of assignment
+    statements in compound array assignments was fixed.
+
+w.  The code that parses the words in a compound array assignment was
+    simplified considerably and should work better now.
+
+x.  Fixes to the non-job-control code in nojobs.c to make it POSIX.2-compliant
+    when a user attempts to retrieve the status of a terminated background
+    process.
+
+y.  Fixes to the `printf' builtin so that it doesn't try to expand all
+    backslash escape sequences in the format string before parsing it for
+    % format specifiers.
+
+2.  Changes to Readline
+
+a.  The history library tries to truncate the history file only if it is a
+    regular file.
+
+b.  A bug that caused _rl_dispatch to address negative array indices on
+    systems with signed chars was fixed.
+
+c.  rl-yank-nth-arg now leaves the history position the same as when it was
+    called.
+
+d.  Changes to the completion code to handle MS-DOS drive-letter:pathname
+    filenames.
+
+e.  Completion is now case-insensitive by default on MS-DOS.
+
+f.  Fixes to the history file manipulation code for MS-DOS.
+
+g.  Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS.
+
+h.  Some fixes were made to the redisplay code for better operation on MS-DOS.
+
+i.  The quoted-insert code will now insert tty special chars like ^C.
+
+j.  A bug was fixed that caused the display code to reference memory before
+    the start of the prompt string.
+
+k.  More support for __EMX__ (OS/2).
+
+l.  A bug was fixed in readline's signal handling that could cause infinite
+    recursion in signal handlers.
+
+m.  A bug was fixed that caused the point to be less than zero when rl_forward
+    was given a very large numeric argument.
+
+n.  The vi-mode code now gets characters via the application-settable value
+    of rl_getc_function rather than calling rl_getc directly.
+
+3.  New Features in Bash
+
+a.  The history builtin has a `-d offset' option to delete the history entry
+    at position `offset'.
+
+b.  The prompt expansion code has two new escape sequences: \j, the number of
+    active jobs; and \l, the basename of the shell's tty device name.
+
+c.  The `bind' builtin has a new `-x' option to bind key sequences to shell
+    commands.
+
+d.  There is a new shell option, no_empty_command_completion, which, when
+    enabled, disables command completion when TAB is typed on an empty line.
+
+e.  The `help' builtin has a `-s' option to just print a builtin's usage
+    synopsys.
+
+f.  There are several new arithmetic operators:  id++, id-- (variable
+    post-increment/decrement), ++id, --id (variabl pre-increment/decrement),
+    expr1 , expr2 (comma operator).
+
+g.  There is a new ksh-93 style arithmetic for command:
+       for ((expr1 ; expr2; expr3 )); do list; done
+
+h.  The `read' builtin has a number of new options:
+       -t timeout      only wait timeout seconds for input
+       -n nchars       only read nchars from input instead of a full line
+       -d delim        read until delim rather than newline
+       -s              don't echo input chars as they are read
+
+i.  The redirection code now handles several filenames specially:
+    /dev/fd/N, /dev/stdin, /dev/stdout, and /dev/stderr, whether or
+    not they are present in the file system.
+
+j.  The redirection code now recognizes pathnames of the form
+    /dev/tcp/host/port and /dev/udp/host/port, and tries to open a socket
+    of the appropriate type to the specified port on the specified host.
+
+k.  The ksh-93 ${!prefix*} expansion, which expands to the names of all
+    shell variables whose names start with prefix, has been implemented.
+
+l.  There is a new dynamic variable, FUNCNAME, which expands to the name of
+    a currently-executing function.  Assignments to FUNCNAME have no effect.
+
+m.  The GROUPS variable is no longer readonly; assignments to it are silently
+    discarded.  This means it can be unset.
+
+4.  New Features in Readline
+
+a.  Parentheses matching is now always compiled into readline, and enabled
+    or disabled when the value of the `blink-matching-paren' variable is
+    changed.
+
+b.  MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
+
+c.  MS-DOS systems now use ~/_history as the default history file.
+
+d.  history-search-{forward,backward} now leave the point at the end of the
+    line when the string to search for is empty, like
+    {reverse,forward}-search-history.
+
+e.  history-search-{forward,backward} now leave the last history line found
+    in the readline buffer if the second or subsequent search fails.
+
+f.  New function for use by applications:  rl_on_new_line_with_prompt, used
+    when an application displays the prompt itself before calling readline().
+
+g.  New variable for use by applications:  rl_already_prompted.  An application
+    that displays the prompt itself before calling readline() must set this to
+    a non-zero value.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-release,
+and the previous version, bash-2.03-beta2.
+
+1.  Changes to Bash
+
+a.  A file descriptor leak in the `fc' builtin was fixed.
+
+b.  A bug was fixed in the `read' builtin that caused occasional spurious
+    failures when using `read -e'.
+
+c.  The version code needed to use the value of the cpp variable
+    CONF_MACHTYPE rather than MACHTYPE.
+
+d.  A new test was added to exercise the command printing and copying code.
+
+e.  A bug was fixed that caused `time' to be recognized as a reserved word
+    if it was the first pattern in a `case' statement pattern list.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-beta2,
+and the previous version, bash-2.03-beta1.
+
+1.  Changes to Bash
+
+a.  Slight additions to support/shobj-conf, mostly for the benefit of AIX 4.2.
+
+b.  config.{guess,sub} support added for the NEC SX4.
+
+c.  Changed some of the cross-compiling sections of the configure macros in
+    aclocal.m4 so that configure won't abort.
+
+d.  Slight changes to how the HTML versions of the bash and readline manuals
+    are generated.
+
+e.  Fixed conditional command printing to avoid interpreting printf `%'-escapes
+    in arguments to [[.
+
+f.  Don't include the bash malloc on all variants of the alpha processor.
+
+g.  Changes to configure to make --enable-profiling work on Solaris 2.x.
+
+h.  Fixed a bug that manifested itself when shell functions were called
+    between calls to `getopts'.
+
+i.  Fixed pattern substitution so that a bare `#'as a pattern causes the
+    replacement string to be prefixed to the search string, and a bare
+    `%' causes the replacement string to be appended to the search string.
+
+j.  Fixed a bug in the command execution code that caused child processes
+    to occasionally have the wrong value for $!.
+
+2.  Changes to Readline
+
+a.  Added code to the history library to catch history substitutions using
+    `&' without a previous history substitution or search having been
+    performed.
+
+3.  New Features in Bash
+
+4.  New Features in Readline
+
+a.  New bindable variable: `isearch-terminators'.
+
+b.  New bindable function: `forward-backward-delete-char' (unbound by default).
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-beta1,
+and the previous version, bash-2.03-alpha.
+    
+1.  Changes to Bash
+
+a.  A change was made to the help text for `{...}' to make it clear that a
+    semicolon is required before the closing brace.
+
+b.  A fix was made to the `test' builtin so that syntax errors cause test
+    to return an exit status > 1.
+
+c.  Globbing is no longer performed on assignment statements that appear as
+    arguments to `assignment builtins' such as `export'.
+
+d.  System-specific configuration changes were made for:  Rhapsody,
+    AIX 4.2/gcc, BSD/OS 4.0.
+
+e.  New loadable builtins: ln, unlink.
+
+f.  Some fixes were made to the globbing code to handle extended glob patterns
+    which immediately follow a `*'.
+
+g.  A fix was made to the command printing code to ensure that redirections
+    following compound commands have a space separating them from the rest
+    of the command.
+
+h.  The pathname canonicalization code was changed to produce fewer leading
+    `//' sequences, since those are interpreted as network file system
+    pathnames on some systems.
+
+i.  A fix was made so that loops containing `eval' commands in commands passed
+    to `bash -c' would not exit prematurely.
+
+j.  Some changes were made to the job reaping code when the shell is not
+    interactive, so the shell will retain exit statuses longer for examination
+    by `wait'.
+
+k.  A fix was made so that `jobs | command' works again.
+
+l.  The erroneous compound array assignment var=((...)) is now a syntax error.
+
+m.  A change was made to the dynamic loading code in `enable' to support
+    Tenon's MachTen.
+
+n.  A fix was made to the globbing code so that extended globbing patterns
+    will correctly match `.' in a bracket expression.
+
+2.  Changes to Readline
+
+a.  A fix was made to the completion code in which a typo caused the wrong
+    value to be passed to the function that computed the longest common
+    prefix of the list of matches.
+
+b.  The completion code now checks the value of rl_filename_completion_desired,
+    which is set by application-supplied completion functions to indicate
+    that filename completion is being performed, to decide whether or not to
+    call an application-supplied `ignore completions' function.
+
+3.  New Features in Bash
+
+a.  A change was made to the startup file code so that any shell begun with
+    the `--login' option, even non-interactive shells, will source the login
+    shell startup files.
+
+4.  New Features in Readline
+
+a.  A new variable, rl_erase_empty_line, which, if set by an application using
+    readline, will cause readline to erase, prompt and all, lines on which the
+    only thing typed was a newline.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-alpha,
+and the previous version, bash-2.02.1-release.
+
+1.  Changes to Bash
+
+a.  System-specific configuration changes were made for: Irix 6.x, Unixware 7.
+
+b.  The texi2dvi and texi2html scripts were updated to the latest versions
+    from the net.
+
+c.  The configure tests that determine which native type is 32 bits were
+    changed to not require a compiled program.
+
+d.  Fixed a bug in shell_execve that could cause memory to be freed twice
+    after a failed exec.
+
+e.  The `printf' test uses `diff -a' if it's available to prevent confusion
+    due to the non-ascii output.
+
+f.  Shared object configuration is now performed by a shell script,
+    support/shobj-conf, which generates values to be substituted into
+    makefiles by configure.
+
+g.  Some changes were made to `ulimit' to avoid the use of RLIM_INVALID as a
+    return value.
+
+h.  Changes were made to `ulimit' to work around HPUX 9.x's peculiar
+    handling of RLIMIT_FILESIZE.
+
+i.  Some new loadable builtins were added: id, printenv, sync, whoami, push,
+    mkdir.  `pushd', `popd', and `dirs' can now be built as regular or
+    loadable builtins from the same source file.
+
+j.  Changes were made to `printf' to handle NUL bytes in the expanded format
+    string.
+
+k.  The various `make clean' Makefile targets now descend into lib/sh.
+
+l.  The `type' builtin was changed to use the internal `getopt' so that things
+    like `type -ap' work as expected.
+
+m.  There is a new configuration option, --with-installed-readline, to link
+    bash with a locally-installed version of readline.  Only readline version
+    4.0 and later releases can support this.  Shared and static libraries
+    are supported.  The installed include files are used.
+
+n.  There is a new autoconf macro used to find which basic type is 64 bits.
+
+o.  Dynamic linking and loadable builtins should now work on SCO 3.2v5*,
+    AIX 4.2 with gcc, Unixware 7, and many other systems using gcc, where
+    the `-shared' options works correctly.
+
+p.  A bug was fixed in the bash filename completion code that caused memory to
+    be freed twice if a directory name containing an unset variable was
+    completed and the -u option was set.
+
+q.  The prompt expansion code now quotes the `$' in the `\$' expansion so it
+    is not processed by subsequent parameter expansion.
+
+r.  Fixed a parsing bug that caused a single or double quote after a `$$' to
+    trigger ANSI C expansion or locale translation.
+
+s.  Fixed a bug in the globbing code that caused quoted filenames containing
+    no globbing characters to sometimes be incorrectly expanded.
+
+t.  Changes to the default prompt strings if prompt string decoding is not
+    compiled into the shell.
+
+u.  Added `do', `then', `else', `{', and `(' to the list of keywords that may
+    precede the `time' reserved word.
+
+v.  The shell may now be cross-built for BeOS as well as cygwin32.
+
+w.  The conditional command execution code now treats `=' the same as `=='
+    for deciding when to perform pattern matching.
+
+x.  The `-e' option no longer causes the shell to exit if a command exits
+    with a non-zero status while running the startup files.
+
+y.  The `printf' builtin no longer dumps core if a modifier is supplied in
+    the format string without a conversion character (e.g. `%h').
+
+z.  Array assignments of the form a=(...) no longer show up in the history
+    list.
+
+aa. The parser was fixed to obey the POSIX.2 rules for finding the closing
+    `}' in a ${...} expression.
+
+bb. The history file is now opened with mode 0600 rather than 0666, so bash
+    no longer relies on the user's umask being set appropriately.
+
+cc. Setting LANG no longer causes LC_ALL to be assigned a value; bash now
+    relies on proper behavior from the C library.
+
+dd. Minor changes were made to allow quoted variable expansions using
+    ${...} to be completed correctly if there is no closing `"'.
+
+ee. Changes were made to builtins/Makefile.in so that configuring the shell
+    with `--enable-profiling' works right and builtins/mkbuiltins is
+    generated.
+
+2.  Changes to Readline
+
+a.  The version number is now 4.0.
+
+b.  There is no longer any #ifdef SHELL code in the source files.
+
+c.  Some changes were made to the key binding code to fix memory leaks and
+    better support Win32 systems.
+
+d.  Fixed a silly typo in the paren matching code -- it's microseconds, not
+    milliseconds.
+
+e.  The readline library should be compilable by C++ compilers.
+
+f.  The readline.h public header file now includes function prototypes for
+    all readline functions, and some changes were made to fix errors in the
+    source files uncovered by the use of prototypes.
+
+g.  The maximum numeric argument is now clamped at 1000000.
+
+h.  Fixes to rl_yank_last_arg to make it behave better.
+
+i.  Fixed a bug in the display code that caused core dumps if the prompt
+    string length exceeded 1024 characters.
+
+j.  The menu completion code was fixed to properly insert a single completion
+    if there is only one match.
+
+k.  A bug was fixed that caused the display code to improperly display tabs
+    after newlines.
+
+3.  New Features in Bash
+
+a.  New `shopt' option, `restricted_shell', indicating whether or not the
+    shell was started in restricted mode, for use in startup files.
+
+b.  Filename generation is now performed on the words between ( and ) in
+    array assignments (which it probably should have done all along).
+
+c.  OLDPWD is now auto-exported, as POSIX.2 seems to require.
+
+d.  ENV and BASH_ENV are read-only variables in a restricted shell.
+
+4.  New Features in Readline
+
+a.  Many changes to the signal handling:
+       o Readline now catches SIGQUIT and cleans up the tty before returning;
+       o A new variable, rl_catch_signals, is available to application writers 
+         to indicate to readline whether or not it should install its own
+         signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP,
+         SIGTTIN, and SIGTTOU;
+       o A new variable, rl_catch_sigwinch, is available to application
+         writers to indicate to readline whether or not it should install its
+         own signal handler for SIGWINCH, which will chain to the calling
+         applications's SIGWINCH handler, if one is installed;
+       o There is a new function, rl_free_line_state, for application signal
+         handlers to call to free up the state associated with the current
+         line after receiving a signal;
+       o There is a new function, rl_cleanup_after_signal, to clean up the
+         display and terminal state after receiving a signal;
+       o There is a new function, rl_reset_after_signal, to reinitialize the
+         terminal and display state after an application signal handler
+         returns and readline continues
+
+b.  There is a new function, rl_resize_terminal, to reset readline's idea of
+    the screen size after a SIGWINCH.
+
+c.  New public functions: rl_save_prompt and rl_restore_prompt.  These were
+    previously private functions with a `_' prefix.
+
+d.  New function hook: rl_pre_input_hook, called just before readline starts
+    reading input, after initialization.
+
+e.  New function hook: rl_display_matches_hook, called when readline would
+    display the list of completion matches.  The new function
+    rl_display_match_list is what readline uses internally, and is available
+    for use by application functions called via this hook.
+
+f.  New bindable function, delete-char-or-list, like tcsh.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02.1-release,
+and the previous version, bash-2.02-release.
+
+1.  Changes to Bash
+
+a.  A bug that caused the bash readline support to not compile unless aliases
+    and csh-style history were configured into the shell was fixed.
+
+b.  Fixed a bug that could cause a core dump when here documents contained
+    more than 1000 characters.
+
+c.  Fixed a bug that caused a CDPATH entry of "" to not be treated the same
+    as the current directory when in POSIX mode.
+
+d.  Fixed an alignment problem with the memory returned by the bash malloc,
+    so returned memory is now 64-bit aligned.
+
+e.  Fixed a bug that caused command substitutions executed within pipelines
+    to put the terminal in the wrong process group.
+
+f.  Fixes to support/config.sub for: alphas, SCO Open Server and Open Desktop,
+    Unixware 2, and Unixware 7.
+
+g.  Fixes to the pattern matching code to make it work correctly for eight-bit
+    characters.
+
+h.  Fixed a problem that occasionally caused the shell to display the wrong
+    value for the new working directory when changing to a directory found
+    in $CDPATH when in physical mode.
+
+i.  Fixed a bug that caused core dumps when using conditional commands in
+    shell functions.
+
+j.  Fixed a bug that caused the printf builtin to loop forever if the format
+    string did not consume any of the arguments.
+
+k.  Fixed a bug in the parameter expansion code that caused "$@" to be
+    incorrectly split if $IFS did not contain a space character.
+
+l.  Fixed a bug that could cause a core dump when completing hostnames if
+    the number of matching hostnames was an exact multiple of 16.
+
+m.  Fixed a bug that caused the shell to fork too early when a command
+    such as `%2 &' was given.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with redisplay that showed up when the prompt string was
+    longer than the screen width and the prompt contained invisible characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-release,
+and the previous version, bash-2.02-beta2.
+
+1.  Changes to Bash
+
+a.  A bug was fixed that caused the terminal process group to be set
+    incorrectly when performing command substitution of builtins in a
+    pipeline.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-beta2,
+and the previous version, bash-2.02-beta1.
+
+1.  Changes to Bash
+
+a.  Attempting to `wait' for stopped jobs now generates a warning message.
+
+b.  Pipelines which exit due to SIGPIPE in non-interactive shells are now
+    not reported if the shell is compiled -DDONT_REPORT_SIGPIPE.
+
+c.  Some changes were made to builtins/psize.sh and support/bashbug.sh to
+    attempt to avoid some /tmp file races and surreptitious file
+    substitutions.
+
+d.  Fixed a bug that caused the shell not to compile if configured with
+    dparen arithmetic but without aliases.
+
+e.  Fixed a bug that caused the input stream to be switched when assigning
+    empty arrays with `bash -c'.
+
+f.  A bug was fixed in the readline expansion glue code that caused bash to
+    dump core when expanding lines with an unclosed single quote.
+
+g.  A fix was made to the `cd' builtin so that using a non-empty directory
+    from $CDPATH results in an absolute pathname of the new current working
+    directory to be displayed after the current directory is changed.
+
+h.  Fixed a bug in the variable assignment code that caused the shell to
+    dump core when referencing an unset variable with `set -u' enabled in
+    an assignment statement preceding a command.
+
+i.  Fixed a bug in the exit trap code that caused reserved words to not be
+    recognized under certain circumstances.
+
+j.  Fixed a bug in the parameter pattern substitution code so that quote
+    removal is performed.
+
+k.  The shell should now configure correctly on Apple Rhapsody systems.
+
+l.  The `kill' builtin now prints a usage message if it is not passed any
+    arguments.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-beta1,
+and the previous version, bash-2.02-alpha1.
+
+1.  Changes to Bash
+
+a.  A few compilation bugs were fixed in the new extended globbing code.
+
+b.  Executing arithmetic commands now sets the command name to `((' so
+    error messages look right.
+
+c.  Fixed some build problems with various configuration options.
+
+d.  The `printf' builtin now aborts immediately if an illegal format
+    character is encountered.
+
+e.  The code that creates here-documents now behaves better if the file it's
+    trying to create already exists for some reason.
+
+f.  Fixed a problem with the extended globbing code that made patterns like
+    `x+*' expand incorrectly.
+
+g.  The prompt string expansion code no longer quotes tildes with backslashes.
+
+h.  The bash getcwd() implementation in lib/sh/getcwd.c now behaves better in
+    the presence of lstat(2) failures.
+
+i.  Fixed a bug with strsub() that caused core dumps when executing `fc -s'.
+
+j.  The mail checking code now ensures that it has a valid default mailpath.
+
+k.  A bug was fixed that caused local variables to be unset inappropriately
+    when sourcing a script from within another sourced script.
+
+l.  A bug was fixed in the history saving code so that functions are saved
+    in the history list correctly if `cmdhist' is enabled, but `lithist'
+    is not.
+
+m.  A bug was fixed that caused printf overflows when displaying error
+    messages.
+
+n.  It should be easier to build the loadble builtins in examples/loadables,
+    though some manual editing of the generated Makefile is still required.
+
+o.  The user's primary group is now always ${GROUPS[0]}.
+
+p.  Some updates were made to support/config.guess from the GNU master copy.
+
+q.  Some changes were made to the autoconf support for Solaris 2.6 large
+    files.
+
+r.  The `command' builtins now does the right thing when confstr(3) cannot
+    find a value for _CS_PATH.
+
+s.  Extended globbing expressions like `*.!(c)' are not history expanded if
+    `extglob' is enabled.
+
+t.  Using the `-P' option to `cd' will force the value that is assigned to
+    PWD to not contain any symbolic links.
+
+2.  Changes to Readline
+
+a.  The code that prints completion listings now behaves better if one or
+    more of the filenames contains non-printable characters.
+
+b.  The time delay when showing matching parentheses is now 0.5 seconds.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-alpha1,
+and the previous version, bash-2.01.1-release.
+
+1.  Changes to Bash
+
+a.  OS-specific configuration changes for:  BSD/OS 3.x, Minix 2.x,
+    Solaris 2.6, SINIX SVR4.
+
+b.  Changes were made to the generated `info' files so that `install-info'
+    works correctly.
+
+c.  PWD is now auto-exported.
+
+d.  A fix was made to the pipeline code to make sure that the shell forks
+    to execute simple commands consisting solely of assignment statements.
+
+e.  Changes to the test suite for systems with 14-character filenames.
+
+f.  The default sizes of some internal hash tables have been made smaller
+    to reduce the shell's memory footprint.
+
+g.  The `((...))' arithmetic command is now executed directly instead of
+    being translated into `let "..."'.
+
+h.  Fixes were made to the expansion code so that "$*", "$@", "${array[@]}",
+    and "${array[@]}" expand correctly when IFS does not contain a space
+    character, is unset, or is set to NULL.
+
+i.  The indirect expansion code (${!var}) was changed so that the only
+    valid values of `var' are variable names, positional parameters, `#',
+    `@', and `*'.
+
+j.  An arithmetic expression error in a $((...)) expansion now causes a
+    non-interactive shell running in posix mode to exit.
+
+k.  Compound array assignment now splits the words within the parentheses
+    on shell metacharacters like the parser would before expansing them
+    and performing the assignment.  This is for compatibility with ksh-93.
+
+l.  The internal shell backslash-quoting code (used in the output of `set'
+    and completion) now quotes tildes if they appear at the start of the
+    string or after a `=' or `:'.
+
+m.  A couple of bugs with `shopt -o' were fixed.
+
+n.  `bash +o' now displays the same output as `set +o' before starting an
+    interactive shell.
+
+o.  A bug that caused command substitution and the `eval' builtin to
+    occasionally free memory twice when an error was encountered was fixed.
+
+p.  The filename globbing code no longer requires read permission for a
+    directory when the filename to be matched does not contain any globbing
+    characters, as POSIX.2 specifies.
+
+q.  A bug was fixed so that the job containing the last asynchronous
+    process is not removed from the job table until a `wait' is executed
+    for that process or another asynchronous process is started.  This
+    satisfies a POSIX.2 requirement.
+
+r.  A `select' bug was fixed so that a non-numeric user response is treated
+    the same as a numeric response that is out of range.
+
+s.  The shell no longer parses the value of SHELLOPTS from the environment
+    if it is restricted, running setuid, or running in `privileged mode'.
+
+t.  Fixes were made to enable large file support on systems such as
+    Solaris 2.6, where the size of a file may be larger than can be held
+    in an `int'.
+
+u.  The filename hashing code was fixed to not add `./' to the beginning of
+    filenames which already begin with `./'.
+
+v.  The configure script was changed so that the GNU termcap library is not
+    compiled in if `prefer-curses' has been specified.
+
+w.  HISTCONTROL and HISTIGNORE are no longer applied to the second and
+    subsequent lines of a multi-line command.
+
+x.  A fix was made to `disown' so that it does a better job of catching
+    out-of-range jobs.
+
+y.  Non-interactive shells no longer report the status of processes terminated
+    due to SIGINT, even if the standard output is a terminal.
+
+z.  A bug that caused the output of `jobs' to have extra carriage returns
+    was fixed.
+
+aa. A bug that caused PIPESTATUS to not be set when builtins or shell
+    functions were executed in the foreground was fixed.
+
+bb. Bash now attempts to detect when it is being run by sshd, and treats
+    that case identically to being run by rshd.
+
+cc. A bug that caused `set -a' to export SHELLOPTS when one of the shell
+    options was changed was fixed.
+
+dd. The `kill' builtin now disallows empty or missing process id arguments
+    instead of treating them as identical to `0', which means the current
+    process.
+
+ee. `var=value declare -x var' now behaves identically to
+    `var=value export var'.  Similarly for `var=value declare -r var' and
+    `var=value readonly var'.
+
+ff. A few memory leaks were fixed.
+
+gg. `alias' and `unalias' now print error messages when passed an argument
+    that is not an alias for printing or deletion, even when the shell is
+    not interactive, as POSIX.2 specifies.
+
+hh. `alias' and `alias -p' now return a status of 0 when no aliases are
+    defined, as POSIX.2 specifes.
+
+ii. `cd -' now prints the pathname of the new working directory if the shell
+    is interactive.
+
+jj. A fix was made so that the code that binds $PWD now copes with getcwd()
+    returning NULL.
+
+kk. `unset' now checks whether or not a function name it's trying to unset
+    is a valid shell identifier only when the shell is running in posix mode.
+
+ll. A change was made to the code that generates filenames for here documents
+    to make them less prone to name collisions.
+
+mm. The parser was changed so that `time' is recognized as a reserved word
+    only at the beginning of a pipeline.
+
+nn. The pathname canonicalization code was changed so that `//' is converted
+    into `/', but all other pathnames beginning with `//' are left alone, as
+    POSIX.2 specifies.
+
+oo. The `logout' builtin will no longer exit a non-interactive non-login
+    shell.
+
+2.  Changes to Readline
+
+a.  Fixed a problem in the readline test program rltest.c that caused a core
+    dump.
+
+b.  The code that handles parser directives in inputrc files now displays
+    more error messages.
+
+c.  The history expansion code was fixed so that the appearance of the
+    history comment character at the beginning of a word inhibits history
+    expansion for that word and the rest of the input line.
+
+3.  New Features in Bash
+
+a.  A new version of malloc, based on the older GNU malloc, that has many
+    changes, is more page-based, is more conservative with memory usage,
+    and does not `orphan' large blocks when they are freed.
+
+b.  A new version of gmalloc, based on the old GLIBC malloc, with many
+    changes and range checking included by default.
+
+c.  A new implementation of fnmatch(3) that includes full POSIX.2 Basic
+    Regular Expression matching, including character classes, collating
+    symbols, equivalence classes, and support for case-insensitive pattern
+    matching.
+
+d.  ksh-88 egrep-style extended pattern matching ([@+*?!](patlist)) has been
+    implemented, controlled by a new `shopt' option, `extglob'.
+
+e.  There is a new ksh-like `[[' compound command, which implements
+    extended `test' functionality.
+
+f.  There is a new `printf' builtin, implemented according to the POSIX.2
+    specification.
+
+g.  There is a new feature for command substitution: $(< filename) now expands
+    to the contents of `filename', with any trailing newlines removed
+    (equivalent to $(cat filename)).
+
+h.  There are new tilde prefixes which expand to directories from the
+    directory stack.
+
+i.  There is a new `**' arithmetic operator to do exponentiation.
+
+j.  There are new configuration options to control how bash is linked:
+    `--enable-profiling', to allow bash to be profiled with gprof, and
+    `--enable-static-link', to allow bash to be linked statically.
+
+k.  There is a new configuration option, `--enable-cond-command', which
+    controls whether or not the `[[' command is included.  It is on by
+    default.
+
+l.  There is a new configuration option, `--enable-extended-glob', which
+    controls whether or not the ksh extended globbing feature is included.
+    It is enabled by default.
+
+m.  There is a new configuration #define in config.h.top that, when enabled,
+    will cause all login shells to source /etc/profile and one of the user-
+    specific login shell startup files, whether or not the shell is
+    interactive.
+
+n.  There is a new invocation option, `--dump-po-strings', to dump
+    a shell script's translatable strings ($"...") in GNU `po' format.
+
+o.  There is a new `shopt' option, `nocaseglob', to enable case-insensitive
+    pattern matching when globbing filenames and using the `case' construct.
+
+p.  There is a new `shopt' option, `huponexit', which, when enabled, causes
+    the shell to send SIGHUP to all jobs when an interactive login shell
+    exits.
+
+q.  `bind' has a new `-u' option, which takes a readline function name as an
+    argument and unbinds all key sequences bound to that function in a
+    specified keymap.
+
+r.  `disown' now has `-a' and `-r' options, to limit operation to all jobs
+    and running jobs, respectively.
+
+s.  The `shopt' `-p' option now causes output to be displayed in a reusable
+    format.
+
+t.  `test' has a new `-N' option, which returns true if the filename argument
+    has been modified since it was last accessed.
+
+u.  `umask' now has a `-p' option to print output in a reusable format.
+
+v.  A new escape sequence, `\xNNN', has been added to the `echo -e' and $'...'
+    translation code.  It expands to the character whose ascii code is NNN
+    in hexadecimal.
+
+w.  The prompt string expansion code has a new `\r' escape sequence.
+
+x.  The shell may now be cross-compiled for the CYGWIN32 environment on
+    a Unix machine.
+
+4.  New Features in Readline
+
+a.  There is now an option for `iterative' yank-last-arg handline, so a user
+    can keep entering `M-.', yanking the last argument of successive history
+    lines.
+
+b.  New variable, `print-completions-horizontally', which causes completion
+    matches to be displayed across the screen (like `ls -x') rather than up
+    and down the screen (like `ls').
+
+c.  New variable, `completion-ignore-case', which causes filename completion
+    and matching to be performed case-insensitively.
+
+d.  There is a new bindable command, `magic-space', which causes history
+    expansion to be performed on the current readline buffer and a space to
+    be inserted into the result.
+
+e.  There is a new bindable command, `menu-complete', which enables tcsh-like
+    menu completion (successive executions of menu-complete insert a single
+    completion match, cycling through the list of possible completions).
+
+f.  There is a new bindable command, `paste-from-clipboard', for use on Win32
+    systems, to insert the text from the Win32 clipboard into the editing
+    buffer.
+
+g.  The key sequence translation code now understands printf-style backslash
+    escape sequences, including \NNN octal escapes.  These escape sequences
+    may be used in key sequence definitions or macro values.
+
+h.  An `$include' inputrc file parser directive has been added.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01.1-release,
+and the previous version, bash-2.01-release.
+
+1.  Changes to Bash
+
+a.  The select command was fixed to check the validity of the user's
+    input more strenuously.
+
+b.  A bug was fixed that prevented `time' from timing commands correctly
+    when supplied as an argument to `bash -c'.
+
+c.  A fix was made to the mail checking code to keep from adding the same
+    mail file to the list of files to check multiple times when parsing
+    $MAILPATH.
+
+d.  Fixed an off-by-one error in the tilde expansion library.
+
+e.  When using the compound array assignment syntax, the old value of
+    the array is cleared before assigning the new value.
+
+f.  Fixed a bug that could cause a core dump when a trap handler was reset
+    to the default in the trap command associated with that signal.
+
+g.  Fixed a bug in the locale code that occurred when assigning a value
+    to LC_ALL.
+
+h.  A change was made to the parser so that words of the form xxx=(...)
+    are not considered compound assignment statements unless there are
+    characters before the `='.
+
+i.  A fix was made to the command tracing code to correctly quote each
+    word of output.
+
+j.  Some changes were made to the bash-specific autoconf tests to make them
+    more portable.
+
+k.  Completion of words with globbing characters now correctly quotes the
+    result.
+
+l.  The directory /var/spool/mail is now preferred to /usr/spool/mail when
+    configure is deciding on the default mail directory.
+
+m.  The brace completion code was fixed to not quote the `{' and `}'.
+
+n.  Some fixes were made to make $RANDOM more random in subshells.
+
+o.  System-specific changes were made to configure for: SVR4.2
+
+p.  Changes were made so that completion of words containing globbing chars
+    substitutes the result only if a single filename was matched.
+
+q.  The window size is now recomputed after a job is stopped with SIGTSTP if
+    the user has set `checkwinsize' with `shopt'.
+
+r.  When doing substring expansion, out-of-range substring specifiers now
+    cause nothing to be substituted rather than an expansion error.
+
+s.  A fix was made so that you can no longer trap `SIGEXIT' or `SIGDEBUG' --
+    only `EXIT' and `DEBUG' are accepted.
+
+t.  The display of trapped signals now uses the signal number if signals
+    for which bash does not know the name are trapped.
+
+u.  A fix was made so that `bash -r' does not turn on restricted mode until
+    after the startup files are executed.
+
+v.  A bug was fixed that occasionally caused a core dump when a variable
+    found in the temporary environment of export/declare/readonly had a
+    null value.
+
+w.  A bug that occasionally caused unallocated memory to be passed to free()
+    when doing arithmetic substitution was fixed.
+
+x.  A bug that caused a buffer overrun when expanding a prompt string
+    containing `\w' and ${#PWD} exceeded PATH_MAX was fixed.
+
+y.  A problem with the completion code that occasionally caused it to
+    refer to a character before the beginning of the readline line buffer
+    was fixed.
+
+z.  A bug was fixed so that the `read' builtin restarts reads when
+    interrupted by signals other than SIGINT.
+
+aa. Fixed a bug that caused a command to be freed twice when there was
+    an evaluation error in the `eval' command.
+
+2.  Changes to Readline
+
+a.  Added a missing `extern' to a declaration in readline.h that kept
+    readline from compiling cleanly on some systems.
+
+b.  The history file is now opened with mode 0600 when it is written for
+    better security.
+
+c.  Changes were made to the SIGWINCH handling code so that prompt redisplay
+    is done better.
+
+d.  ^G now interrupts incremental searches correctly.
+
+e.  A bug that caused a core dump when the set of characters to be quoted
+    when completing words was empty was fixed.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-release,
+and the previous version, bash-2.01-beta2.
+
+1.  Changes to Bash
+
+a.  The `distclean' target should remove the `printenv' executable if it
+    has been created.
+
+b.  The test suite was changed slightly to ensure that the error messages
+    are printed in English.
+
+c.  A bug that caused the shell to dump core when a filename containing a
+    `/' was passed to `hash' was fixed.
+
+d.  Pathname canonicalization now leaves a leading `//' intact, as POSIX.1
+    requires.
+
+e.  A memory leak when completing commands was fixed.
+
+f.  A memory leak that occurred when checking the hash table for commands
+    with relative paths was fixed.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-beta2,
+and the previous version, bash-2.01-beta1.
+
+1.  Changes to Bash
+
+a.  The `ulimit' builtin translates RLIM_INFINITY to the hard limit only if
+    the current (soft) limit is less than or equal to the hard limit.
+
+b.  Fixed a bug that caused the bash emulation of strcasecmp to produce
+    incorrect results.
+
+c.  A bug that caused memory to be freed twice when a trap handler resets
+    the trap more than once was fixed.
+
+d.  A bug that caused machines where sizeof (pointer) > sizeof (int) to
+    fail (and possibly dump core) when trying to unwind-protect a null
+    pointer was fixed.
+
+e.  The startup files should not be run with job control enabled.  This fix
+    allows SIGINT to once again interrupt startup file execution.
+
+f.  Bash should not change the SIGPROF handler if it is set to something
+    other than SIG_DFL.
+
+g.  The completion code that provides bash-specific completions for readline
+    now quotes characters that the readline code would treat as word break
+    characters if they appear in a file name.
+
+h.  The completion code now correctly quotes filenames containing a `!',
+    even if the user attempted to use double quotes when attempting
+    completion.
+
+i.  A bug that caused the shell to dump core when `disown' was called without
+    arguments and there was no current job was fixed.
+
+j.  A construct like $((foo);bar) is now processed as a command substitution
+    rather than as a bad arithmetic substitution.
+
+k.  A couple of bugs that caused `fc' to not obey the `cmdhist' and `lithist'
+    shell options when editing and re-executing a series of commands were
+    fixed.
+
+l.  A fix was made to the grammar -- the list of commands between `do' and
+    `done' in the body of a `for' command should be treated the same as a
+    while loop.
+
+2.  Changes to Readline
+
+a.  A couple of bugs that caused the history search functions to attempt to
+    free a NULL pointer were fixed.
+
+b.  If the C library provides setlocale(3), readline does not need to look
+    at various environment variables to decide whether or not to go into
+    eight-bit mode automatically -- just check whether the current locale
+    is not `C' or `POSIX'.
+
+c.  If the filename completion function finds that a directory was not closed
+    by a previous (interrupted) completion, it closes the directory with
+    closedir().
+
+3.  New Features in Bash
+
+a.  New bindable readline commands:  history-and-alias-expand-line and
+    alias-expand-line.  The code was always in there, there was just no
+    way to execute it.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-beta1,
+and the previous version, bash-2.01-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a problem that could cause file descriptors used for process
+    substitution to conflict with those used explicitly in redirections.
+
+b.  Made it easier to regenerate configure if the user changes configure.in.
+
+c.  ${GROUPS[0]} should always be the primary group, even on systems without
+    multiple groups.
+
+d.  Spelling correction is no longer enabled by default.
+
+e.  Fixes to quoting problems in `bashbug'.
+
+f.  OS-specific configuration changes were made for: Irix 6.
+
+g.  OS-specific code changes were made for: QNX.
+
+h.  A more meaningful message is now printed when the file in /tmp for a
+    here document cannot be created.
+
+i.  Many changes to the shell's variable initialization code to speed
+    non-interactive startup.
+
+j.  Changes to the non-job-control code so that it does not try to open
+    /dev/tty.
+
+k.  The output of `set' and `export' is once again sorted, as POSIX wants.
+
+l.  Fixed a problem caused by a recursive call reparsing the value of
+    $SHELLOPTS.
+
+m.  The tilde code no longer calls getenv() when it's compiled as part of
+    the shell, which should eliminate problems on systems that cannot
+    redefine getenv(), like the NeXT OS.
+
+n.  Fixed a problem that caused `bash -o' or `bash +o' to not list all
+    the shell options.
+
+o.  Fixed `ulimit' to convert RLIM_INFINITY to the appropriate hard limit
+    only if the hard limit is greater than the current (soft) limit.
+
+p.  Fixed a problem that arose when building bash in a different directory
+    than the source and y.tab.[ch] were remade with something other than
+    bison.  This came up most often on NetBSD.
+
+q.  Fixed a problem with completion -- it thought that `pwd`/[TAB] indicated
+    an unfinished command completion (`/), which generated errors.
+
+r.  The bash special tilde expansions (~-, ~+) are now attempted before
+    calling the standard tilde expansion code, which should eliminate the
+    problems people have been seeing with this on Solaris 2.5.1.
+
+s.  Added support for <stdarg.h> to places where it was missing.
+
+t.  Changed the code that reads the output of a command substitution to not
+    go through stdio.  This reduces the memory requirements and is faster.
+
+u.  A number of changes to speed up export environment creation were made.
+
+v.  A number of memory leaks were fixed as the result of running the test
+    scripts through Purify.
+
+w.  Fixed a bug that caused subshells forked to interpret executable
+    scripts without a leading `#!' to not reinitialize the values of
+    the shell options.
+
+2.  Changes to Readline
+
+a.  History library has less `#ifdef SHELL' code -- abstracted stuff out
+    into application-specific function hooks.
+
+b.  Readline no longer calls getenv() if it's compiled as part of the shell,
+    which should eliminate problems on systems that cannot redefine getenv(),
+    like the NeXT OS.
+
+c.  Fixed translation of ESC when `untranslating' macro values.
+
+d.  The region kill operation now fixes the mark if it ends up beyond the
+    boundaries of the line after the region is deleted.
+
+3.  New Features in Bash
+
+a.  New argument for `configure':  `--with-curses'.  This can be used to
+    override the selection of the termcap library on systems where it is
+    deficient.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-alpha1,
+and the previous version, bash-2.0-release.
+
+1.  Changes to Bash
+
+a.  System-specific configuration changes for: FreeBSD, SunOS4, Irix,
+    MachTen, QNX 4.2, Harris Night Hawk, SunOS5.
+
+b.  System-specific code changes were made for: Linux, 4.4 BSD, QNX 4.2,
+    HP-UX, AIX 4.2.
+
+c.  A bug that caused the exec builtin to fail because the full pathname of
+    the command could not be found was fixed.
+
+d.  The code that performs output redirections is now more resistant to
+    race conditions and possible security exploits.
+
+e.  A bug that caused the shell to dump core when performing pattern
+    substitutions on variable values was fixed.
+
+f.  More hosts are now recognized by the auto-configuration mechanism
+    (OpenBSD, QNX, others).
+
+g.  Assignments to read-only variables that attempt to convert them to
+    arrays are now errors.
+
+h.  A bug that caused shell scripts using array assignments in POSIX mode
+    to exit after the assignment was performed was fixed.
+
+i.  The substring expansion code is now more careful about running off the
+    ends of the expanded variable value.
+
+j.  A bug that caused completion to fail if a backquoted command substitution
+    appeared anywhere on the line was fixed.
+
+k.  The `source' builtin no longer turns off history if it has been enabled
+    in a non-interactive shell.
+
+l.  A bug that caused the shell to crash when `disown' was given a pid
+    instead of a job number was fixed.
+
+m.  The `cd' spelling correction code will not try to change to `.' if no
+    directory entries match a single-character argument.
+
+n.  A bad variable name supplied to `declare', `export', or `readonly' no
+    longer causes a non-interactive shell in POSIX mode to exit.
+
+o.  Some fixes were made to the test suite to handle peculiarities of
+    various Unix versions.
+
+p.  The bash completion code now quotes characters that readline would
+    treat as word breaks for completion but are not shell metacharacters.
+
+q.  Bad options supplied at invocation now cause a usage message to be
+    displayed.
+
+r.  Fixes were made to the code that handles DEBUG traps so that the trap
+    string is not freed inappropriately.
+
+s.  Some changes were made to the bash debugger in examples/bashdb -- it
+    should be closer to working now.
+
+t.  A problem that caused the default filename used for mail checking to be
+    wrong was fixed.
+
+u.  A fix was made to the `echo' builtin so that NUL characters printed with
+    `echo -e' do not cause the output to be truncated.
+
+v.  A fix was made to the job control code so that the shell behaves better
+    when monitor mode is enabled in a non-interactive shell.
+
+w.  Bash no longer catches all of the terminating signals in a non-
+    interactive shell until a trap is set on EXIT, which should result in
+    quicker startup.
+
+x.  A fix was made to the command timing code so that `time' can be used in
+    a loop.
+
+y.  A fix was made to the parser so that `((cmd); cmd2)' is now parsed as
+    a nested subshell rather than strictly as an (erroneous) arithmetic
+    command.
+
+z.  A fix was made to the globbing code so that it correctly matches quoted
+    filenames beginning with a `.'.
+
+aa. A bug in `fc' that caused some multi-line commands to not be stored as
+    one command in the history when they were re-executed after editing
+    (with `fc -e') was fixed.
+
+bb. The `ulimit' builtin now attempts to catch some classes of integer
+    overflows.
+
+cc. The command-oriented-history code no longer attempts to add `;'
+    inappropriately when a newline appears while reading a $(...) command
+    substitution.
+
+dd. A bug that caused the shell to dump core when `help --' was executed
+    was fixed.
+
+ee. A bug that caused the shell to crash when an unset variable appeared
+    in the body of a here document after `set -u' had been executed was
+    fixed.
+
+ff. Implicit input redirections from /dev/null for asynchronous commands
+    are now handled better.
+
+gg. A bug that caused the shell to fail to compile when configured with
+    `--disable-readline' was fixed.
+
+hh. The globbing code should now be interruptible.
+
+ii. Bash now notices when the `kill' builtin is used to send SIGCONT to a
+    stopped job and adjusts the data structures accordingly, as if `bg' had
+    been executed instead.
+
+jj. A bug that caused the shell to crash when mixing calls to `getopts'
+    and `shift' on the same set of positional parameters was fixed.
+
+kk. The command printing code now preserves the `-p' flag to `time'.
+
+ll. The command printing code now handles here documents better when there
+    are other redirections associated with the command.
+
+mm. The special glibc environment variable (NNN_GNU_nonoption_argv_flags_)
+    is no longer placed into the environment of executed commands -- users
+    of glibc had too many problems with it.
+
+nn. Reorganized the code that generates signames.h.  The signal_names list
+    is now more complete but may be slightly different (SIGABRT is favored
+    over SIGIOT, for example).  The preferred signal names are those
+    listed in the POSIX.2 standard.
+
+oo. `bashbug' now uses a filename shorter than 14 characters for its
+    temporary file, and asks for confirmation before sending the bug
+    report.
+
+pp. A bug that caused TAB completion in vi editing mode to not be turned
+    off when `set -o posix' was executed or back on when `set +o posix'
+    was executed was fixed.
+
+qq. A bug in the brace expansion code that caused brace expansions appearing
+    in new-style $(...) command substitutions to be inappropriately expanded
+    was fixed.
+
+rr. A bug in the readline hook shell-expand-line that could cause memory to
+    be inappropriately freed was fixed.
+
+ss. A bug that caused some arithmetic expressions containing `&&' and `||'
+    to be parsed with the wrong precedence has been fixed.
+
+tt. References to unbound variables after `set -u' has been executed now
+    cause the shell to exit immediately, as they should.
+
+uu. A bug that caused the shell to exit inappropriately when `set -e' had
+    been executed and a command's return status was being inverted with the
+    `!' reserved word was fixed.
+
+vv. A bug that could occasionally cause the shell to crash with a
+    divide-by-zero error when timing a command was fixed.
+
+ww. A bug that caused parameter pattern substitution to leave stray
+    backslashes in the replacement string when the expression is in
+    double quotes was fixed.
+
+xx. The `break' and `continue' builtins now break out of all loops when an
+    invalid count argument is supplied.
+
+yy. Fixed a bug that caused PATH to be set to the empty string if
+    `command -p' is executed with PATH unset.
+
+zz. Fixed `kill -l signum' to print the signal name without the `SIG' prefix,
+    as POSIX specifies.
+
+aaa. Fixed a bug that caused the shell to crash while setting $SHELLOPTS
+     if there were no shell options set.
+
+bbb. Fixed `export -p' and `readonly -p' so that when the shell is in POSIX
+     mode, their output is as POSIX.2 specifies.
+
+ccc. Fixed a bug in `readonly' so that `readonly -a avar=(...)' actually
+     creates an array variable.
+
+ddd. Fixed a bug that prevented `time' from correctly timing background
+     pipelines.
+
+2.  Changes to Readline
+
+a.  A bug that caused an extra newline to be printed when the cursor was on
+    an otherwise empty line was fixed.
+
+b.  An instance of memory being used after it was freed was corrected.
+
+c.  The redisplay code now works when the prompt is longer than the screen
+    width.
+
+d.  `dump-macros' is now a bindable name, as it should have been all along.
+
+e.  Non-printable characters are now expanded when displaying macros and
+    their values.
+
+f.  The `dump-variables' and `dump-macros' commands now output a leading
+    newline if they're called as the result of a key sequence, rather
+    than directly by an application.
+
+3.  New Features in Bash
+
+a.  There is a new builtin array variable: GROUPS, the set of groups to which
+    the user belongs.  This is used by the test suite.
+
+4.  New Features in Readline
+
+a.  If a key sequence bound to `universal-argument' is read while reading a
+    numeric argument started with `universal-argument', it terminates the
+    argument but is otherwise ignored.  This provides a way to insert multiple
+    instances of a digit string, and is how GNU emacs does it.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-release,
+and the previous version, bash-2.0-beta3.
+
+1.  Changes to Bash
+
+a.  Fix to the `getopts' builtin so that it does the right thing when a
+    required option argument is not present.
+
+b.  The completion code now updates the common prefix of matched names
+    after FIGNORE processing is done, since any names that were removed
+    may have changed the common prefix.
+
+c.  Fixed a bug that made messages in MAILPATH entries not work correctly.
+
+d.  Fixed a serious documentation error in the description of the new
+    ${parameter:offset[:length]} expansion.
+
+e.  Fixes to make parameter substring expansion ({$param:offset[:length]})
+    work when within double quotes.
+
+f.  Fixes to make ^A (CTLESC) survive an unquoted expansion of positional
+    parameters.
+
+g.  Corrected a misspelling of `unlimited' in the output of `ulimit'.
+
+h.  Fixed a bug that caused executable scripts without a leading `#!' to
+    occasionally pick up the wrong set of positional parameters.
+
+i.  Linux systems now have a working `ulimit -v', using RLIMIT_AS.
+
+j.  Updated config.guess so that many more machine types are recognized.
+
+k.  Fixed a bug with backslash-quoted slashes in the ${param/pat[/sub]}
+    expansion.
+
+l.  If the shell is named `-su', and `-c command' is supplied, read and
+    execute the login shell startup files even though the shell is not
+    interactive.  This is to support the `-' option to `su'.
+
+m.  Fixed a bug that caused core dumps when the DEBUG trap was ignored
+    with `trap "" DEBUG' and a shell function was subsequently executed.
+
+n.  Fixed a bug that caused core dumps in the read builtin when IFS was
+    set to the null string and the input had leading whitespace.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused a numeric argument of 1024 to be ignored when
+    inserting text.
+
+b.  Fixed the display code so that the numeric argument is displayed as it's
+    being entered.
+
+c.  Fixed the numeric argument reading code so that `M-- command' is
+    equivalent to `M--1 command', as the prompt implies.
+
+3.  New Features in Bash
+
+a.  `ulimit' now sets both hard and soft limits and reports the soft limit
+    by default (when neither -H nor -S is specified).  This is compatible
+    with versions of sh and ksh that implement `ulimit'.
+
+b.  Integer constants have been extended to base 64.
+
+4.  New Features in Readline
+
+a.  The `home' and `end' keys are now bound to beginning-of-line and
+    end-of-line, respectively, if the corresponding termcap capabilities
+    are present.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-beta3,
+and the previous version, bash-2.0-beta2.
+
+1.  Changes to Bash
+
+a.  System-specific changes for: AIX 4.2, SCO 3.2v[45], HP-UX.
+
+b.  When in POSIX mode, variable assignments preceding a special builtin
+    persist in the shell environment after the builtin completes.
+
+c.  Changed all calls to getwd() to getcwd().  Improved check for systems
+    where the libc getcwd() calls popen(), since that breaks on some
+    systems when job control is being used.
+
+d.  Fixed a bug that caused seg faults when executing scripts with the
+    execute bit set but without a leading `#!'.
+
+e.  The environment passed to executed commands is never sorted.
+
+f.  A bug was fixed in the code that expands ${name[@]} to the number of
+    elements in an array variable.
+
+g.  A bug was fixed in the array compound assignment code ( A=( ... ) ).
+
+h.  Window size changes now correctly propagate down to readline if
+    the shopt `checkwinsize' option is enabled.
+
+i.  A fix was made in the code that expands to the length of a variable
+    value (${#var}).
+
+j.  A fix was made to the command builtin so that it did not turn on the
+    `no fork' flag inappropriately.
+
+k.  A fix was made to make `set -n' work more reliably.
+
+l.  A fix was made to the job control initialization code so that the
+    terminal process group is set to the shell's process group if the
+    shell changes its own process group.
+
+2.  Changes to Readline
+
+a.  System-specific changes for: SCO 3.2v[45].
+
+b.  The behavior of the vi-mode `.' when redoing an `i' command was changed
+    to insert the text previously inserted by the `i' command rather than
+    simply entering insert mode.
+
+3.  New features in Bash
+
+a.  There is a new version of the autoload function package, in
+    examples/functions/autoload.v2, that uses arrays and provides more
+    functionality.
+
+b.  Support for LC_COLLATE and locale-specific sorting of the results of
+    pathname expansion if strcoll() is available.
+
+4.  New Features in Readline
+
+a.  Support for locale-specific sorting of completion possibilities if
+    strcoll() is available.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-beta2,
+and the previous version, bash-2.0-beta1.
+
+1.  Changes to Bash
+
+a.  `pushd -' is once again equivalent to `pushd $OLDPWD'.
+
+b.  OS-specific changes for: SCO 3.2v[45].
+
+c.  A change was made to the fix for the recently-reported security hole
+    when reading characters with octal value 255 to make it work better on
+    systems with restartable system calls when not using readline.
+
+d.  Some changes were made to the test suite so that it works if you
+    configure bash with --enable-usg-echo-default.
+
+e.  A fix was made to the parsing of conditional arithmetic expressions.
+
+f.  Illegal arithmetic bases now cause an arithmetic evaluation error rather
+    than being silently reset.
+
+g.  Multiple arithmetic bases now cause an arithmetic evaluation error
+    instead of being ignored.
+
+h.  A fix was made to the evaluation of ${param?word} to conform to POSIX.2.
+
+i.  A bug that sometimes caused array indices to be evaluated twice (which
+    would cause errors when they contained assignment statements) was fixed.
+
+j.  `ulimit' was rewritten to avoid problems with getrlimit(2) returning
+    unsigned values and to simplify the code.
+
+k.  A bug in the command-oriented-history code that caused it to sometimes
+    put semicolons after right parens inappropriately was fixed.
+
+l.  The values inserted into the prompt by the \w and \W escape sequences
+    are now quoted to prevent further expansion.
+
+m.  An interactive shell invoked as `sh' now reads and executes commands
+    from the file named by $ENV when it starts up.  If it's a login shell,
+    it does this after reading /etc/profile and ~/.profile.
+
+n.  The file named by $ENV is never read by non-interactive shells.
+
+2.  Changes to Readline
+
+a.  A few changes were made to hide some macros and functions that should not
+    be public.
+
+b.  An off-by-one error that caused seg faults in the history expansion code
+    was fixed.
+
+3.  New Features in Bash
+
+a.  The ksh-style ((...)) arithmetic command was implemented.  It is exactly
+    identical to let "...".  This is controlled by a new option to configure,
+    `--enable-dparen-arithmetic', which is on by default.
+
+b.  There is a new #define available in config.h.top: SYS_BASH_LOGOUT.  If
+    defined to a filename, bash reads and executes commands from that file
+    when a login shell exits.  It's commented out by default.
+
+c.  `ulimit' has a `-l' option that reports the maximum amount of data that
+    may be locked into memory on 4.4BSD-based systems.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-beta1,
+and the previous version, bash-2.0-alpha4.
+
+1.  Changes to Bash
+
+a.  A bug that sometimes caused traps to be ignored on signals the
+    shell treats specially was fixed.
+
+b.  The internationalization code was changed to track the values of
+    LC_* variables and call setlocale() as appropriate.  The TEXTDOMAIN
+    and TEXTDOMAINDIR variables are also tracked; changes cause calls
+    to textdomain() and bindtextdomain(), if available.
+
+c.  A bug was fixed that sometimes caused double-quoted strings to be
+    parsed incorrectly.
+
+d.  Changes were made so that the siglist code compiles correctly on
+    Solaris 2.5.
+
+e.  Added `:' to the set of characters that cause word breaks for the
+    completion code so that pathnames in assignments to $PATH can be
+    completed.
+
+f.  The `select' command was fixed to print $PS3 to stderr.
+
+g.  Fixed an error in the manual page section describing the effect that
+    setting and unsetting GLOBIGNORE has on the setting of the `dotglob'
+    option.
+
+h.  The time conversion code now uses CLK_TCK rather than CLOCKS_PER_SEC
+    on systems without gettimeofday() and resources.
+
+i.  The getopt static variables are now initialized each time a subshell
+    is started, so subshells using `getopts' work right.
+
+j.  A sign-extension bug that caused a possible security hole was fixed.
+
+k.  The parser now reads characters between backquotes within a double-
+    quoted string as a single word, so double quotes in the backquoted
+    string don't terminate the enclosing double-quoted string.
+
+l.  A bug that caused `^O' to work incorrectly when typed as the first
+    thing to an interactive shell was fixed.
+
+m.  A rarely-exercised off-by-one error in the code that quotes variable
+    values was fixed.
+
+n.  Some memory and file descriptor leaks encountered when running a
+    shell script that is executable but does not have a leading `#!'
+    were plugged.
+
+2.  Changes to Readline
+
+a.  A bug that sometimes caused incorrect results when trying to read
+    typeahead on systems without FIONREAD was fixed.
+
+3.  New Features in Bash
+
+a.  The command timing code now uses the value of the TIMEFORMAT variable
+    to format and display timing statistics.
+
+b.  The `time' reserved word now accepts a `-p' option to force the
+    POSIX.2 output format.
+
+c.  There are a couple of new and updated scripts to convert csh startup
+    files to bash format.
+
+d.  There is a new builtin array variable: BASH_VERSINFO.  The various
+    members hold the parts of the version information in BASH_VERSION,
+    plus the value of MACHTYPE.
+
+4.  New Features in Readline
+
+a.  Setting LANG to `en_US.ISO8859-1' now causes readline to enter
+    eight-bit mode.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-alpha4,
+and the previous version, bash-2.0-alpha3.
+
+1.  Changes to Bash
+
+a.  There is better detection of rsh connections on Solaris 2.
+
+b.  Assignments to read-only variables preceding a command name are now
+    variable assignment errors.  Variable assignment errors cause
+    non-interactive shells running in posix mode to exit.
+
+c.  The word tokenizer was rewritten to handle nested quotes and pairs
+    ('', "", ``, ${...}, $(...), $[...], $'...', $"...", <(...), >(...))
+    correctly.  Some of the parameter expansion code was updated as a
+    consequence.
+
+d.  A fix was made to `test' when given three arguments so that a binary
+    operator is checked for first, before checking that the first argument
+    is `!'.
+
+e.  2''>/dev/null is no longer equivalent to 2>/dev/null.
+
+f.  Parser error messages were regularized, and in most cases the name of
+    the shell script being read by a non-interactive shell is not printed
+    twice.
+
+g.  A fix was made to the completion code so that it no longer removes the
+    text the user typed in some cases.
+
+h.  The special glibc `getopt' environment variable is no longer put into
+    the environment on machines with small values of ARG_MAX.
+
+i.  The expansion of ${...} now follows the POSIX.2 rules for finding the
+    closing `}'.
+
+j.  The shell no longer displays spurious status messages for background
+    jobs in shell scripts that complete successfully when the script is
+    run from a terminal.
+
+k.  `shopt -o' now correctly updates $SHELLOPTS.
+
+l.  A bug that caused the $PATH searching code to return a non-executable
+    file even when an executable file with the same name appeared later in
+    $PATH was fixed.
+
+m.  The shell now does tilde expansions on unquoted `:~' in assignment
+    statements when not in posix mode.
+
+n.  Variable assignment errors when a command consists only of assignments
+    now cause non-interactive shells to exit when in posix mode.
+
+o.  If the variable in a `for' or `select' command is read-only, or not a
+    legal shell identifier, a variable assignment error occurs.
+
+p.  `test' now handles `-a' and `-o' as binary operators when three arguments
+    are supplied, and correctly parses `( word )' as equivalent to `word'.
+
+q.  `test' was fixed so that file names of the form /dev/fd/NN mean the same
+    thing on all systems, even Linux.
+
+r.  Fixed a bug in the globbing code that caused patterns with multiple
+    consecutive `*'s to not be matched correctly.
+
+s.  Fixed a bug that caused $PS2 to not be printed when an interactive shell
+    not using readline is reading a here document.
+
+t.  Fixed a bug that caused history expansion to be performed inappropriately
+    when a single-quoted string spanned more than one line.
+
+u.  `getopts' now checks that the variable name passed by the user as the
+    second argument is a legal shell identifier and that the variable is
+    not read-only.
+
+v.  Fixed `getopts' to obey POSIX.2 rules for setting $OPTIND when it
+    encounters an error.
+
+w.  Fixed `set' to display variable values in a form that can be re-read.
+
+x.  Fixed a bug in the code that keeps track of whether or not local variables
+    have been declared at the current level of function nesting.
+
+y.  Non-interactive shells in posix mode now exit if the name in a function
+    declaration is not a legal identifier.
+
+z.  The job control code now ignores stopped children when the shell is not
+    interactive.
+
+aa. The `cd' builtin no longer attempts spelling correction on the directory
+    name if the shell is not interactive, regardless of the setting of the
+    `cdspell' option.
+
+bb. Some OS-specific changes were made for SCO 3.2v[45] and AIX 4.2.
+
+cc. `time' now prints its output to stderr, as POSIX.2 specifies.
+
+2.  Fixes to Readline
+
+a.  After printing possible completions, all lines of a multi-line prompt
+    are redisplayed.
+
+b.  Some changes were made to the terminal handling code in rltty.c to
+    work around AIX 4.2 bugs.
+
+3.  New Features in Bash
+
+a.  There is a new loadable builtin: sprintf, with calling syntax
+               sprintf var format [args]
+    This provides an easy way to simulate ksh left- and right-justified
+    variable values.
+
+b.  The expansions of \h and \H in prompt strings were swapped.  \h now
+    expands to the hostname up to the first `.', as in bash-1.14.
+
+4.  New Features in Readline
+
+a.  The bash-1.14 behavior when ^M is typed while doing an incremental
+    search was restored.  ^J may now be used to terminate the search without
+    accepting the line.
+
+b.  There is a new bindable variable: disable-completion.  This inhibits
+    word completion and causes the completion character to be inserted as
+    if it had been bound to self-insert.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-alpha3,
+and the previous version, bash-2.0-alpha2.
+
+There is now a file `COMPAT' included in the distribution that lists the
+user-visible incompatibilities between 1.14 and 2.0.
+
+1. Changes to Bash
+
+a. Some work was done so that word splitting of the rhs of assignment
+   statements conforms more closely to historical practice.
+
+b. A couple of errant memory frees were fixed.
+
+c. A fix was made to the test builtin so it recognizes `<' and `>' as
+   binary operators.
+
+d. The GNU malloc in lib/malloc/malloc.c now scrambles memory as it's
+   allocated and freed.  This is to catch callers that refer to freed
+   memory or assume something about newly-allocated memory.
+
+e. Fixed a problem with conversion to 12-hour time in the prompt
+   expansion code.
+
+f. Fixed a problem with configure's argument parsing order.  Now you can
+   correctly turn on specific options after using --enable-minimal-config.
+
+g. The configure script now automatically disables the use of GNU malloc
+   on systems where it's appropriate (better than having people read the
+   NOTES file and do it manually).
+
+h. There are new prompt expansions (\v and \V) to insert version information
+   into the prompt strings.
+
+i. The default prompt string now includes the version number.
+
+j. Most of the builtins that take no options were changed to use the
+   internal getopt so they can produce proper error messages for -?
+   and incorrect options.
+
+k. Some system-specific changes were made for SVR4.2 and Solaris 2.5.
+
+l. Bash now uses PATH_MAX instead of MAXPATHLEN and NAME_MAX instead of
+   MAXNAMLEN.
+
+m. A couple of problems caused by uninitialized variables were fixed.
+
+n. There are a number of new loadable builtin examples: logname, basename,
+   dirname, tty, pathchk, tee, head, and rmdir.  All of these conform to
+   POSIX.2.
+
+o. Bash now notices changes in TZ and calls tzset() if present, so
+   changing TZ will alter the time printed by prompt expansions.
+
+p. The source was reorganized a bit so I don't have to wait so long for
+   some files to compile, and to facilitate the creation of a `shell
+   library' at some future point.
+
+q. Bash no longer turns off job control if called as `sh', since the
+   POSIX.2 spec includes job control as a standard feature.
+
+r. `bash -o posix' now works as intended.
+
+s. Fixed a problem with the completion code: when completing a filename
+   that contained globbing characters, if show-all-if-ambiguous was set,
+   the completion code would remove the user's text.
+
+t. Fixed ulimit so that (hopefully) the full range of limits is available
+   on HPUX systems.
+
+u. A new `shopt' option (`hostcomplete') enables and disables hostname
+   completion.
+
+v. The shell no longer attempts to save the history on an abort(),
+   which is usually called by programming_error().
+
+w. The `-s' option to `fc' was changed to echo the command to be executed
+   to stderr instead of stdout.
+
+x. If the editor invoked by `fc -e' exits with a non-zero status, no
+   commands are executed.
+
+y. Fixed a bug that made the shopt `histverify' option work incorrectly.
+
+z. There is a new variable `MACHTYPE' whose value is the GNU-style
+   `cpu-company-system' system description as set by configure.  (The
+   values of MACHTYPE and HOSTTYPE should really be swapped.)
+
+aa. The `ulimit' builtin now allows the maximum virtual memory size to be
+    set via setrlimit(2) if RLIMIT_VMEM is defined.
+
+bb. `bash -nc 'command'' no longer runs `command'.
+
+2. Changes to Readline
+
+a. Fixed a typo in the code that checked for FIONREAD in input.c.
+
+b. Fixed a bug in the code that outputs keybindings, so things like C-\
+   are quoted properly.
+
+c. Fixed a bug in the inputrc file parsing code to handle the problems
+   caused by inputrc files created from the output of `bind -p' in
+   previous versions of bash.  The problem was due to the bug fixed
+   in item b above.
+
+d. Readline no longer turns off the terminal's meta key, and turns it on
+   once the first time it's called.
+
+------------------------------------------------------------------------------
+This file documents the changes between this version, bash-2.0-alpha2,
+and the previous version, bash-2.0-alpha.
+
+1. Changes to Bash
+
+a. The shell no longer thinks directories are executable.
+
+b. `disown' has a new option, `h', which inhibits the resending of SIGHUP
+   but does not remove the job from the jobs table.
+
+c. The varargs functions in error.c now use ANSI-C `stdarg' if available.
+
+d. The build process now treats the `build version' in .build as local to
+   the build directory, so different versions built from the same source
+   tree have different `build versions'.
+
+e. Some problems with the grammar have been fixed. (It used `list' in a few
+   productions where `compound_list' was needed.  A `list' must be terminated
+   with a newline or semicolon; a `compound_list' need not be.)
+
+f. A fix was made to keep `wait' from hanging when waiting for all background
+   jobs.
+
+g. `bash --help' now writes its output to stdout, like the GNU Coding Standards
+   specify, and includes the machine type (the value of MACHTYPE).
+
+h. `bash --version' now prints more information and exits successfully, like
+   the GNU Coding Standards specify.
+
+i. The output of `time' and `times' now prints fractional seconds with three
+   places after the decimal point.
+
+j. A bug that caused process substitutions to screw up the pipeline printed
+   by `jobs' was fixed.
+
+k. Fixes were made to the code that implements $'...' and $"..." so they
+   work as documented.
+
+l. The process substitution code now opens named pipes for reading with
+   O_NONBLOCK to avoid hanging.
+
+m. Fixes were made to the trap code so the shell cleans up correctly if the
+   trap command contains a `return' and we're executing a function or
+   sourcing a script with `.'.
+
+n. Fixes to doc/Makefile.in so that it doesn't try to remake all of the
+   documentation (ps, dvi, etc.) on a `make install'.
+
+o. Fixed an auto-increment error that caused bash -c args to sometimes dump
+   core.
+
+p. Fixed a bug that caused $HISTIGNORE to fail when the history line
+   contained globbing characters.
+
+2. Changes to Readline
+
+a. There is a new string variable, rl_library_version, available for use by
+   applications.  The current value is "2.1".
+
+b. A bug encountered when expand-tilde was enabled and file completion was
+   attempted on a word beginning with `~/' was fixed.
+
+c. A slight change was made to the incremental search termination behavior.
+   ESC still terminates the search, but if input is pending or arrives
+   within 0.1 seconds (on systems with select(2)), it is used as a prefix
+   character.  This is intented to allow users to terminate searches with
+   the arrow keys and get the behavior they expect.
diff --git a/COMPAT b/COMPAT
index c7d98af6e9907581dff72a506d1cb2c0de74a505..c4af34eaaff23e763bc7b7808895a14ff567bcfd 100644 (file)
--- a/COMPAT
+++ b/COMPAT
@@ -332,6 +332,20 @@ version and versions 2.0 and above.
     > operators to the `[[' command.  This can be reverted to the previous
     behavior by setting one of the `compatNN' shopt options.
 
+45. Command substitutions now remove the caller's trap strings when trap is
+    run to set a new trap in the subshell.  Previous to bash-4.2, the old
+    trap strings persisted even though the actual signal handlers were reset.
+
+46. When in Posix mode, a single quote is not treated specially in a
+    double-quoted ${...} expansion, unless the expansion operator is
+    # or % or the new `//', `^', or `,' expansions.  In particular, it
+    does not define a new quoting context.  This is from Posix interpretation
+    221.
+
+47. Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+
 Shell Compatibility Level
 =========================
 
diff --git a/COMPAT~ b/COMPAT~
index 199461273f0191aad286ac22ea6aceac2697c691..c7d98af6e9907581dff72a506d1cb2c0de74a505 100644 (file)
--- a/COMPAT~
+++ b/COMPAT~
@@ -360,6 +360,13 @@ compat40 set
          of the entire list to be aborted (in versions before bash-4.0,
          interrupting one command in a list caused the next to be executed)
 
+compat41 set
+       - interrupting a command list such as "a ; b ; c" causes the execution
+         of the entire list to be aborted (in versions before bash-4.0,
+         interrupting one command in a list caused the next to be executed)
+       - when in posix mode, single quotes in the `word' portion of a
+         double-quoted parameter expansion define a new quoting context and
+         are treated specially
 -------------------------------------------------------------------------------
 
 Copying and distribution of this file, with or without modification,
index c00f5381c39b4054972a7d3ed9b60532e8a99296..8f1760e1487adbcfac5001e15eecf68255effa72 100644 (file)
@@ -9838,7 +9838,7 @@ doc/{bash.1,bashref.texi}
 execute_cmd.c
        - change execute_disk_command to return a status, instead of just
          leaving it in `last_command_exit_value', since the parent's return
-         value is sometimes uses (e.g., when a restricted shell refuses to
+         value is sometimes used (e.g., when a restricted shell refuses to
          run a command with a `/').  Fixes bug reported by David Pitt
          <David.Pitt@anz.com>
 
@@ -10474,3 +10474,111 @@ execute_cmd.c
          saved_redirects is non-null in the `command exec' case.  Fixes
          sh -c 'command exec; exit 1' hanging bug uncovered by FreeBSD
          sh test cases
+
+                                  10/18
+                                  -----
+subst.c
+       - when in posix mode, shell should not exit if a variable assignment
+         error (e.g., assigning to readonly variable) occurs preceding a
+         command that is not a special builtin.  Fixes bug uncovered by
+         FreeBSD sh test cases
+       - when in posix mode, the ${!?} and ${!#} expansions are not indirect
+         expansions, but posix word expansions involving the `!' variable
+
+parse.y
+       - fix parse_comsub so that it does not skip backslash-newline when
+         parsing a comment
+
+                                  10/19
+                                  -----
+subst.c
+       - fix parameter_brace_expand so that an attempt to use the % or #
+         expansions on an unset variable with -u set will cause a non-
+         interactive shell to abort.  Posix change
+       - fix parameter_brace_expand so that an attempt to use pattern
+         substitution or case modification expansions on an unset variable
+         with -u set will cause and unbound variable error and make a
+         non-interactive shell abort
+       - change parameter_brace_expand_length to return INTMAX_MIN if a
+         positional parameter is unset and -u is set
+       - if parameter_brace_expand_length returns INTMAX_MIN when -u is set,
+         treat it as an unbound variable error and make a non-interactive
+         shell abort.  Posix change
+       - change parameter_brace_expand_length to return INTMAX_MIN if an
+         implicit reference to array[0] is made ${#array} and array[0] is
+         not set when -u is set
+
+                                  10/20
+                                  -----
+builtins/cd.def
+       - Posix 2008 says that if no matching directories are found in $CDPATH,
+         use the directory name passed as an operand and go on.  Posix change
+
+doc/bashref.texi
+       - change Posix mode section with latest additions and removals
+
+                                  11/4
+                                  ----
+lib/readline/complete.c
+       - fix rl_menu_complete and rl_old_menu_complete to keep incrementing
+         match_list_index by match_list_size as long as it's < 0.  Fixes
+         bug reported by jeenuv@gmail.com
+
+braces.c
+       - make mkseq() take intmax_t arguments for sequence start and end
+         and make sure it's passed intmax_t values.  Fixes bug reported by
+         Pete Gregory <pg@bushlitt.org>
+
+sig.c
+       - if termsig_handler is called when terminate_immediately == 1,
+         assume we're being called as a signal handler and set
+         history_lines_this_session to 0 to inhibit history file being
+         written on shell exit.  Fixes long-standing bug most recently
+         observed by Andreas Schwab <schwab@linux-m68k.org>
+
+                                  11/5
+                                  ----
+redir.c
+       - add_undo_close_redirect now returns int, 0 on success, non-zero on
+         failure.  Currently always succeeds
+       - new macro REDIRECTION_ERROR to make do_redirection_internal return
+         value of errno
+       - change do_redirection_internal to call REDIRECTION_ERROR after
+         saving file descriptor and make do_redirection_internal return error
+         if add_undo_redirect or add_undo_close redirect fails.  This makes
+         failure to save a file descriptor a redirection error and the shell
+         behaves appropriately.  Fixes bug reported by Eric Blake
+         <eblake@redhat.com>
+
+bashline.c
+       - modify bash_forward_shellword to correctly handle quoted strings,
+         especially if point is in a quoted string when function is invoked.
+         Fixes bug reported by Daniel Colascione <dan.colascione@gmail.com>
+
+configure.in
+       - change version to 4.2-alpha
+
+                                  11/7
+                                  ----
+lib/readline/text.c
+       - in rl_insert, if we're not in the multibyte code path, don't try to
+         optimize and insert all of the available typeahead input if we're
+         reading input from a macro.  Fixes bug reported by Andre Majorel
+         <aym-ung@teaser.fr>
+
+lib/readline/text.c
+       - break out multibyte guts of rl_forward_char into a separate function
+         _rl_forward_char_internal that does nothing but calculate the new
+         value of point
+       - change rl_forward_char to call _rl_forward_char_internal instead of
+         having equivalent code inline
+
+lib/readline/rlprivate.h
+       - new extern declaration for _rl_forward_char_internal
+
+lib/readline/vi_mode.c
+       - change _rl_vi_append_forward to call _rl_forward_char_internal to
+         set rl_point, instead of calling rl_forward_char.  When at the end
+         of the line, rl_forward_char will ring the bell.  Fixes debian
+         bash bug 601042, reported by Alan J. Greenberger <alanjg@ptd.net>
+
index 45991fbec725da58fcac080e8879d481350f98e9..ff5d4e54dc453d2ee7cd1f009cd167be784afa7b 100644 (file)
@@ -9838,7 +9838,7 @@ doc/{bash.1,bashref.texi}
 execute_cmd.c
        - change execute_disk_command to return a status, instead of just
          leaving it in `last_command_exit_value', since the parent's return
-         value is sometimes uses (e.g., when a restricted shell refuses to
+         value is sometimes used (e.g., when a restricted shell refuses to
          run a command with a `/').  Fixes bug reported by David Pitt
          <David.Pitt@anz.com>
 
@@ -10513,3 +10513,70 @@ subst.c
 builtins/cd.def
        - Posix 2008 says that if no matching directories are found in $CDPATH,
          use the directory name passed as an operand and go on.  Posix change
+
+doc/bashref.texi
+       - change Posix mode section with latest additions and removals
+
+                                  11/4
+                                  ----
+lib/readline/complete.c
+       - fix rl_menu_complete and rl_old_menu_complete to keep incrementing
+         match_list_index by match_list_size as long as it's < 0.  Fixes
+         bug reported by jeenuv@gmail.com
+
+braces.c
+       - make mkseq() take intmax_t arguments for sequence start and end
+         and make sure it's passed intmax_t values.  Fixes bug reported by
+         Pete Gregory <pg@bushlitt.org>
+
+sig.c
+       - if termsig_handler is called when terminate_immediately == 1,
+         assume we're being called as a signal handler and set
+         history_lines_this_session to 0 to inhibit history file being
+         written on shell exit.  Fixes long-standing bug most recently
+         observed by Andreas Schwab <schwab@linux-m68k.org>
+
+                                  11/5
+                                  ----
+redir.c
+       - add_undo_close_redirect now returns int, 0 on success, non-zero on
+         failure.  Currently always succeeds
+       - new macro REDIRECTION_ERROR to make do_redirection_internal return
+         value of errno
+       - change do_redirection_internal to call REDIRECTION_ERROR after
+         saving file descriptor and make do_redirection_internal return error
+         if add_undo_redirect or add_undo_close redirect fails.  This makes
+         failure to save a file descriptor a redirection error and the shell
+         behaves appropriately.  Fixes bug reported by Eric Blake
+         <eblake@redhat.com>
+
+bashline.c
+       - modify bash_forward_shellword to correctly handle quoted strings,
+         especially if point is in a quoted string when function is invoked.
+         Fixes bug reported by Daniel Colascione <dan.colascione@gmail.com>
+
+configure.in
+       - change version to 4.2-alpha
+
+                                  11/7
+                                  ----
+lib/readline/text.c
+       - in rl_insert, if we're not in the multibyte code path, don't try to
+         optimize and insert all of the available typeahead input if we're
+         reading input from a macro.  Fixes bug reported by Andre Majorel
+         <aym-ung@teaser.fr>
+       - break out multibyte guts of rl_forward_char into a separate function
+         _rl_forward_char_internal that does nothing but calculate the new
+         value of point
+       - change rl_forward_char to call _rl_forward_char_internal instead of
+         having equivalent code inline
+
+lib/readline/rlprivate.h
+       - new extern declaration for _rl_forward_char_internal
+
+lib/readline/vi_mode.c
+       - change _rl_vi_append_forward to call _rl_forward_char_internal to
+         set rl_point, instead of calling rl_forward_char.  When at the end
+         of the line, rl_forward_char will ring the bell.  Fixes debian
+         bash bug 601042, reported by Alan J. Greenberger <alanjg@ptd.net>
+
index bb6debb832619c1fb883a18052cd4ab73313528b..9613250efa8d406d0cfcc683f05806ce64bcce29 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -948,6 +948,10 @@ tests/posix2.tests f
 tests/posix2.right     f
 tests/posixexp.tests   f
 tests/posixexp.right   f
+tests/posixexp1.sub    f
+tests/posixexp2.sub    f
+tests/posixexp2.tests  f
+tests/posixexp2.right  f
 tests/posixpat.tests   f
 tests/posixpat.right   f
 tests/posixpipe.tests  f
@@ -1043,6 +1047,7 @@ tests/run-nquote4 f
 tests/run-nquote5      f
 tests/run-posix2       f
 tests/run-posixexp     f
+tests/run-posixexp2    f
 tests/run-posixpat     f
 tests/run-posixpipe    f
 tests/run-precedence   f
index 0b0aed2f5ccd58126eb4d56c473a6bebd5b3de22..cb81bb045083b2bbc0861e9118064dfdebb05996 100644 (file)
--- a/MANIFEST~
+++ b/MANIFEST~
@@ -929,6 +929,7 @@ tests/new-exp4.sub  f
 tests/new-exp5.sub     f
 tests/new-exp6.sub     f
 tests/new-exp7.sub     f
+tests/new-exp8.sub     f
 tests/new-exp.right    f
 tests/nquote.tests     f
 tests/nquote.right     f
@@ -947,6 +948,8 @@ tests/posix2.tests  f
 tests/posix2.right     f
 tests/posixexp.tests   f
 tests/posixexp.right   f
+tests/posixexp1.sub    f
+tests/posixexp2.sub    f
 tests/posixpat.tests   f
 tests/posixpat.right   f
 tests/posixpipe.tests  f
diff --git a/NEWS b/NEWS
index 8b1b7bcd3419dbdd11039f883436e6992f18255c..d98fae2c945387d5b709c6bc45dd94735e6593dd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,99 @@
+This is a terse description of the new features added to bash-4.2 since
+the release of bash-4.1.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+b.  Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+c.  `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e.  declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+f.  test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+g.  Posix parsing changes to allow `! time command' and multiple consecutive
+    instances of `!' (which toggle) and `time' (which have no cumulative
+    effect).
+
+h.  Posix change to allow `time' as a command by itself to print the elapsed
+    user, system, and real times for the shell and its children.
+
+j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
+    a potential nested command substitution, as Posix requires.
+
+k.  A new FUNCNEST variable to allow the user to control the maximum shell
+    function nesting (recursive execution) level.
+
+l.  The mapfile builtin now supplies a third argument to the callback command:
+    the line about to be assigned to the supplied array index.
+
+m.  The printf builtin has as new %(fmt)T specifier, which allows time values
+    to use strftime-like formatting.
+
+n.  There is a new `compat41' shell option.
+
+o.  The cd builtin has a new Posix-mandated `-e' option.
+
+p.  Negative subscripts to indexed arrays, previously errors, now are treated
+    as offsets from the maximum assigned index + 1.
+
+q.  Negative length specifications in the ${var:offset:length} expansion,
+    previously errors, are now treated as offsets from the end of the variable.
+
+r.  Parsing change to allow `time -p --'.
+
+s.  Posix-mode parsing change to not recognize `time' as a keyword if the
+    following token begins with a `-'.  This means no more Posix-mode
+    `time -p'.  Posix interpretation 267.
+
+t.  There is a new `lastpipe' shell option that runs the last command of a
+    pipeline in the current shell context.  The lastpipe option has no
+    effect if job control is enabled.
+
+u.  History expansion no longer expands the `$!' variable expansion.
+
+v.  Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+w.  Non-interactive mode shells exit if -u is enabled an an attempt is made
+    to use an unset variable with the % or # expansions, the `//', `^', or
+    `,' expansions, or the parameter length expansion.
+
+x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+    fails, effectively searching the current directory.  Posix-2008 change.
+
+2.  New Features in Readline
+
+a.  The history library does not try to write the history filename in the
+    current directory if $HOME is unset.  This closes a potential security
+    problem if the application does not specify a history filename.
+
+b.  New bindable variable `completion-display-width' to set the number of
+    columns used when displaying completions.
+
+c.  New bindable variable `completion-case-map' to cause case-insensitive
+    completion to treat `-' and `_' as identical.
+
+d.  There are new bindable vi-mode command names to avoid readline's case-
+    insensitive matching not allowing them to be bound separately.
+
+e.  New bindable variable `menu-complete-display-prefix' causes the menu
+    completion code to display the common prefix of the possible completions
+    before cycling through the list, instead of after.
+
+-------------------------------------------------------------------------------
 This is a terse description of the new features added to bash-4.1 since
 the release of bash-4.0.  As always, the manual page (doc/bash.1) is
 the place to look for complete descriptions.
diff --git a/NEWS-4.2 b/NEWS-4.2
new file mode 100644 (file)
index 0000000..7df83d1
--- /dev/null
+++ b/NEWS-4.2
@@ -0,0 +1,91 @@
+
+1.  New Features in Bash
+
+a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+b.  Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+c.  `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e.  declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+f.  test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+g.  Posix parsing changes to allow `! time command' and multiple consecutive
+    instances of `!' (which toggle) and `time' (which have no cumulative
+    effect).
+
+h.  Posix change to allow `time' as a command by itself to print the elapsed
+    user, system, and real times for the shell and its children.
+
+j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
+    a potential nested command substitution, as Posix requires.
+
+k.  A new FUNCNEST variable to allow the user to control the maximum shell
+    function nesting (recursive execution) level.
+
+l.  The mapfile builtin now supplies a third argument to the callback command:
+    the line about to be assigned to the supplied array index.
+
+m.  The printf builtin has as new %(fmt)T specifier, which allows time values
+    to use strftime-like formatting.
+
+n.  There is a new `compat41' shell option.
+
+o.  The cd builtin has a new Posix-mandated `-e' option.
+
+p.  Negative subscripts to indexed arrays, previously errors, now are treated
+    as offsets from the maximum assigned index + 1.
+
+q.  Negative length specifications in the ${var:offset:length} expansion,
+    previously errors, are now treated as offsets from the end of the variable.
+
+r.  Parsing change to allow `time -p --'.
+
+s.  Posix-mode parsing change to not recognize `time' as a keyword if the
+    following token begins with a `-'.  This means no more Posix-mode
+    `time -p'.  Posix interpretation 267.
+
+t.  There is a new `lastpipe' shell option that runs the last command of a
+    pipeline in the current shell context.  The lastpipe option has no
+    effect if job control is enabled.
+
+u.  History expansion no longer expands the `$!' variable expansion.
+
+v.  Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+w.  Non-interactive mode shells exit if -u is enabled an an attempt is made
+    to use an unset variable with the % or # expansions, the `//', `^', or
+    `,' expansions, or the parameter length expansion.
+
+x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+    fails, effectively searching the current directory.  Posix-2008 change.
+
+2.  New Features in Readline
+
+a.  The history library does not try to write the history filename in the
+    current directory if $HOME is unset.  This closes a potential security
+    problem if the application does not specify a history filename.
+
+b.  New bindable variable `completion-display-width' to set the number of
+    columns used when displaying completions.
+
+c.  New bindable variable `completion-case-map' to cause case-insensitive
+    completion to treat `-' and `_' as identical.
+
+d.  There are new bindable vi-mode command names to avoid readline's case-
+    insensitive matching not allowing them to be bound separately.
+
+e.  New bindable variable `menu-complete-display-prefix' causes the menu
+    completion code to display the common prefix of the possible completions
+    before cycling through the list, instead of after.
diff --git a/NEWS-4.2~ b/NEWS-4.2~
new file mode 100644 (file)
index 0000000..2b5ac32
--- /dev/null
+++ b/NEWS-4.2~
@@ -0,0 +1,6886 @@
+This document details the changes between this version, bash-4.2-alpha,
+and the previous version, bash-4.1-release.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the parser when processing alias expansions containing
+    quoted newlines.
+
+b.  Fixed a memory leak in associative array expansion.
+
+c.  Fixed a bug that caused quoted here-strings to be requoted when printed.
+
+d.  Fixed a bug in arithmetic expansion that caused the index in an array
+    expansion to be evaluated twice under certain circumstances.
+
+e.  Fixed several bugs with the expansion and display of variables that have
+    been given attributes but not values and are technically unset.
+
+f.  Fixed a bug that caused core dumps when using filename completion that
+    expands to a filename containing a globbing character.
+
+g.  Fixed a bug that caused assignment statements preceding a special builtin
+    when running in Posix mode to not persist after the builtin completed
+    when the special builtin was executed in a shell function without any
+    local variables.
+
+h.  Fixed a bug that caused a command to remain in the hash table even after
+    `hash command' did not find anything if there was already an existing
+    hashed pathname.
+
+i.  Fixed several bugs caused by executing unsafe functions from a signal
+    handler in the cases where a signal handler is executed immediately
+    rather than setting a flag for later execution.
+
+j.  Fixed a bug that caused some internal flag variables to be set
+    incorrectly if `read -t' timed out.
+
+k.  Fixed a Posix compatibility issue by making sure that a backslash escaping
+    a `}' within a double-quoted ${...} parameter expansion is removed as part
+    of the parameter expansion.
+
+l.  Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
+
+m.  Fixed a bug that caused here documents to not be displayed correctly
+    when attached to commands inside compound commands.
+
+n.  Fixed a bug that caused the printf builtin to use the wrong precision
+    when using the `*' modifier.
+
+o.  Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
+    like those invoked by echo or printf.
+
+p.  Changed to use a more robust mechanism than eaccess(2) when test is
+    checking filenames for execution permission.
+
+q.  Fixed a bug that caused spurious semicolons to be added into the command
+    history in certain cases.
+
+r.  Fixed a bug that caused the shell to free non-allocated memory when
+    unsetting element 0 of an associative array after it was assigned
+    implicitly.
+
+s.  Fixed a bug that could cause the shell to dump core if using the `v'
+    vi editing command on a multi-line command.
+
+t.  Fixed a bug that left FIFOs opened by process substitutions open long
+    enough to potentially cause file descriptor exhaustion when running a
+    shell function or shell builtin.
+
+u.  Fixed a bug that caused the history expansion functions to not recognize
+    process substitution or extended glob patterns as single words.
+
+v.  Fixed a bug that caused restricted shells to set a restricted command's
+    exit status incorrectly.
+
+w.  Fixed a bug that caused bash to ignore the wrong set of filenames when
+    completing a command using the `complete-filename' readline command.
+
+x.  Fixed a bug that caused a -PID argument following a -s sig or -n sig to
+    not be interpreted as a signal specification.
+
+y.  Changed posix-mode behavior of a parse error in a `.' script or `eval'
+    command to exit the shell under Posix-specified conditions.  Previous
+    versions printed a warning.
+
+z.  Fixed a bug in \W prompt expansion that resulted in incorrect expansion
+    in the event of overlapping strings.
+
+aa. Fixed a bug that caused the := parameter expansion operator to return the
+    wrong value as the result of the expansion.
+
+bb. When in Posix mode, a single quote is not treated specially in a
+    double-quoted ${...} expansion, unless the expansion operator is
+    # or % or the non-Posix `//', `^', and `,'.  In particular, it does
+    not define a new quoting context.  This is from Posix interpretation 221.
+
+cc. Fixed a bug that inadvertently allowed program names containing slashes
+    to be entered into the command hash table.
+
+dd. Fixed a bug that caused the select builtin to incorrectly compute the
+    display width of the arguments in the presence of multibyte characters.
+
+ee. Fixed a bug that caused bash to not change the xtrace file descriptor if
+    BASH_XTRACEFD was found in the shell environment at startup.
+
+ff. Fixed a memory leak in the pattern removal parameter expansion.
+
+gg. Fixed a bug that caused SIGINT to fail to interrupt a nested loop if the
+    loop was in a pipeline.
+
+hh. Fixed a problem in $(...) parsing that caused the parser to add an extra
+    space to a here-document delimiter if the first word contained a `/'.
+
+ii. Fixed a bug that caused functions defined with the `function' reserved
+    word to require braces around the function body.
+
+jj. Fixed a bug that caused bash to dump core when a variable expansion being
+    used as an array subscript failed.
+
+kk. Fixed a bug that caused bash to dump core if the case-modification
+    expansions were used on a variable with a null value.
+
+ll. Fixed a bug that caused partially-quoted strings to be split incorrectly
+    if a variable with a null value was expanded within double quotes.
+
+mm. The pattern substitution word expansion has been sped up dramatically
+    when running in a locale with multibyte characters.
+
+nn. Fixed a bug that caused history -a to not write the correct lines to
+    the history file if all the new lines in the history list were added
+    since the last time the history file was read or written.
+
+oo. Fixed a bug that caused completion of a word with an unclosed `` command
+    substitution to set the prompt incorrectly.
+
+pp. Fixed a bug that caused extended globbing patterns in $HISTIGNORE or
+    $GLOBIGNORE to be incorrectly scanned.
+
+qq. Fixed a bug caused by closing file descriptors 3-20 on shell startup.  The
+    shell now sets them to close-on-exec.
+
+rr. Fixed a bug that caused the exit status of `exec file' to be set incorrectly
+    if `file' was a directory.
+
+ss. Fixed a bug in the `.' builtin to make a non-interactive posix-mode shell
+    exit if the file argument to `.' is not found.  Prefixing exec with 
+    `command' makes the shell not exit. Posix requires this behavior.
+
+tt. Fixed a bug that caused `sh -c 'command exec; exit 1' to hang.
+
+uu. Fixed a bug in $(...) command substitution parsing that caused the shell
+    to treat backslash-newline incorrectly when parsing a comment.
+
+vv. Fixed bug that caused brace expansion sequence generation to misbehave
+    when supplied integers greater than 2**31 - 1.
+
+ww. Fixed a bug that caused failure to save file descriptors for redirections
+    to corrupt shell file descriptors.
+
+xx. Fixed a bug that caused bash-forward-shellword to not correctly handle
+    quoted strings.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused the unconverted filename to be added to the list of
+    completions when the application specified filename conversion functions.
+
+b.  Fixed a bug that caused the wrong filename to be passed to opendir when the
+    application has specified a filename dequoting function.
+
+c.  Fixed a bug when repeating a character search in vi mode in the case where
+    there was no search to repeat.
+
+d.  When show-all-if-ambiguous is set, the completion routines no longer insert
+    a common match prefix that is shorter than the text being completed.
+
+e.  The full set of vi editing commands may now be used in callback mode.
+
+f.  Fixed a bug that caused readline to not update its idea of the terminal
+    dimensions while running in `no-echo' mode.
+
+h.  Fixed a bug that caused readline to dump core if an application called
+    rl_prep_terminal without setting rl_instream.
+
+i.  Fixed a bug that caused meta-prefixed characters bound to incremental
+    search forward or backward to not be recognized if they were typed
+    subsequently.
+
+j.  The incremental search code treats key sequences that map to the same
+    functions as (default) ^G, ^W, and ^Y as equivalent to those characters.
+
+k.  Fixed a bug in menu-complete that caused it to misbehave with large
+    negative argument.
+
+l.  Fixed a bug that caused vi-mode yank-last-arg to ring the bell when invoked
+    at the end of the line.
+
+3.  New Features in Bash
+
+a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+b.  Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+c.  `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e.  declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+f.  test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+g.  Posix parsing changes to allow `! time command' and multiple consecutive
+    instances of `!' (which toggle) and `time' (which have no cumulative
+    effect).
+
+h.  Posix change to allow `time' as a command by itself to print the elapsed
+    user, system, and real times for the shell and its children.
+
+j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
+    a potential nested command substitution, as Posix requires.
+
+k.  A new FUNCNEST variable to allow the user to control the maximum shell
+    function nesting (recursive execution) level.
+
+l.  The mapfile builtin now supplies a third argument to the callback command:
+    the line about to be assigned to the supplied array index.
+
+m.  The printf builtin has as new %(fmt)T specifier, which allows time values
+    to use strftime-like formatting.
+
+n.  There is a new `compat41' shell option.
+
+o.  The cd builtin has a new Posix-mandated `-e' option.
+
+p.  Negative subscripts to indexed arrays, previously errors, now are treated
+    as offsets from the maximum assigned index + 1.
+
+q.  Negative length specifications in the ${var:offset:length} expansion,
+    previously errors, are now treated as offsets from the end of the variable.
+
+r.  Parsing change to allow `time -p --'.
+
+s.  Posix-mode parsing change to not recognize `time' as a keyword if the
+    following token begins with a `-'.  This means no more Posix-mode
+    `time -p'.  Posix interpretation 267.
+
+t.  There is a new `lastpipe' shell option that runs the last command of a
+    pipeline in the current shell context.  The lastpipe option has no
+    effect if job control is enabled.
+
+u.  History expansion no longer expands the `$!' variable expansion.
+
+v.  Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+w.  Non-interactive mode shells exit if -u is enabled an an attempt is made
+    to use an unset variable with the % or # expansions, the `//', `^', or
+    `,' expansions, or the parameter length expansion.
+
+x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+    fails, effectively searching the current directory.  Posix-2008 change.
+
+4.  New Features in Readline
+
+a.  The history library does not try to write the history filename in the
+    current directory if $HOME is unset.  This closes a potential security
+    problem if the application does not specify a history filename.
+
+b.  New bindable variable `completion-display-width' to set the number of
+    columns used when displaying completions.
+
+c.  New bindable variable `completion-case-map' to cause case-insensitive
+    completion to treat `-' and `_' as identical.
+
+d.  There are new bindable vi-mode command names to avoid readline's case-
+    insensitive matching not allowing them to be bound separately.
+
+e.  New bindable variable `menu-complete-display-prefix' causes the menu
+    completion code to display the common prefix of the possible completions
+    before cycling through the list, instead of after.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-rc,
+and the previous version, bash-4.1-beta.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused printf to not return a partial value when it
+    encountered an error while converting an integer argument.
+
+b.  Fixed a bug that caused setting one of the compatNN options to not
+    turn off the others.
+
+c.  The (undocumented) --wordexp option is no longer included by default.
+
+d.  Fixed a bug in conditional command execution that caused it to not
+    correctly ignore the exit status under certain circumstances.
+
+e.  Added a configure-time check for correctly-working asprintf/snprintf.
+
+f.  Fixed some problems with line number calculation and display when sourcing
+    a file in an interactive shell.
+
+g.  Fixed a bug that caused the shell to crash when using `declare -A foo=bar'.
+
+h.  Fixed a bug that caused an off-by-one error when calculating the directories
+    to display with the PROMPT_DIRTRIM option.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused applications using the callback interface to not
+    react to SIGINT (or other signals) until another character arrived.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-beta,
+and the previous version, bash-4.1-alpha.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in mapfile that caused the shell to crash if it was passed the
+    name of an associative array.
+
+b.  Fixed a bug that caused the shell to incorrectly split case patterns if
+    they contained characters in $IFS.
+
+c.  Fixed a bug that caused the shell to set $? to the wrong value when using
+    a construct ending with a variable assignment with set -x enabled and PS4
+    containing a command substitution.
+
+d.  Fixed a bug that caused the shell to read commands incorrectly if an
+    expansion error occurred under certain conditions in a user-specified
+    subshell.
+
+e.  Fixed a bug that caused the shell to set $? incorrectly if a parse error
+    occurred in an evaluation context ("eval", trap command, dot script, etc.)
+
+f.  Fixed a bug that caused the shell to attempt command substitution
+    completion within a single-quoted string.
+
+g.  Fixed a bug that caused the shell to insert an extra single quote during
+    word completion.
+
+h.  Fixed a bug that caused the shell to crash if invoked with the environment
+    variable EMACS having a null value.
+
+i.  Fixed a bug that caused bash to incorrectly report the presence of new
+    mail in a `maildir' environment.
+
+j.  Fixed a bug that caused the shell to not recognize a here-document ending
+    delimiter inside a command substitution.
+
+k.  Fixed a bug that caused the shell to crash when a a dynamic array variable
+    was assigned a scalar value.
+
+2.  Changes to Readline
+
+3.  New Features in Bash
+
+a.  The mapfile/readarray builtin no longer stores the commands it invokes via
+    callbacks in the history list.
+
+b.  There is a new `compat40' shopt option.
+
+c.  The < and > operators to [[ do string comparisons using the current locale
+    only if the compatibility level is greater than 40 (set to 41 by default).
+
+4.  New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-alpha,
+and the previous version, bash-4.0-release.
+
+1.  Changes to Bash
+
+a.  Fixed bugs in the parser involving new parsing of the commands contained
+    in command substitution when the substitution is read.
+
+b.  Fixed a bug that caused the shell to dump core when performing programmable
+    completion using a shell function.
+
+c.  Fixed a bug in `mapfile' that caused it to invoke callbacks at the wrong
+    time.
+
+d.  Fixed a bug that caused the shell to dump core when listing jobs in the
+    `exit' builtin.
+
+e.  Fixed several bugs encountered when reading subscripts in associative
+    array assignments and expansions.
+
+f.  Fixed a bug that under some circumstances caused an associative array to
+    be converted to an indexed array.
+
+g.  Fixed a bug that caused syntax errors and SIGINT interrupts to not set
+    $? to a value > 128.
+
+h.  Fixed a bug that caused the shell to remove FIFOs associated with process
+    substitution inside shell functions.
+
+i.  Fixed a bug that caused terminal attributes to not be reset when the
+    `read' builtin timed out.
+
+j.  Fixed a bug in brace expansion that caused unwanted zero padding of the
+    expanded terms.
+
+k.  Fixed a bug that prevented the |& construct from working as intended when
+    used with a simple command with additional redirections.
+
+l.  Fixed a bug with the case statment ;& terminator that caused the shell to
+    dereference a NULL pointer.
+
+m.  Fixed a bug that caused assignment statements or redirections preceding
+    a simple command name to inhibit alias expansion.
+
+n.  Fixed the behavior of `set -u' to conform to the latest Posix interpretation:
+    every expansion of an unset variable except $@ and $* will cause the
+    shell to exit.
+
+o.  Fixed a bug that caused double-quoted expansions of $* inside word
+    expansions like ${x#$*} to not expand properly when $IFS is empty.
+
+p.  Fixed a bug that caused traps to set $LINENO to the wrong value when they
+    execute.
+
+q.  Fixed a bug that caused off-by-one errors when computing history lines in
+    the `fc' builtin.
+
+r.  Fixed a bug that caused some terminating signals to not exit the shell
+    quickly enough, forcing the kernel to send the signal (e.g., SIGSEGV)
+    multiple times.
+
+s.  Fixed a bug that caused the shell to attempt to add empty lines to the
+    history list when reading here documents.
+
+t.  Made some internal changes that dramatically speeds up sequential indexed
+    array access.
+
+u.  Fixed a bug that caused the shell to write past the end of a string when
+    completing a double-quoted string ending in a backslash.
+
+v.  Fixed a bug that caused the shell to replace too many characters when a
+    pattern match was null in a ${foo//bar} expansion.
+
+w.  Fixed bugs in the expansion of ** that caused duplicate directory names
+    and the contents of the current directory to be omitted.
+
+x.  Fixed a bug that caused $? to not be set correctly when referencing an
+    unset variable with set -u and set -e enabled.
+
+y.  Fixed a bug caused by executing an external program from the DEBUG trap
+    while a pipeline was running.  The effect was to disturb the pipeline
+    state, occasionally causing it to hang.
+
+z.  Fixed a bug that caused the ** glob expansion to dump core if it
+    encountered an unsearchable directory.
+
+aa. Fixed a bug that caused `command -v' and `command -V' to not honor the
+    path set by the -p option.
+
+bb. Fixed a bug that caused brace expansion to take place too soon in some
+    compound array assignments.
+
+cc. Fixed a bug that caused programmable completion functions' changes to
+    READLINE_POINT to not be reflected back to readline.
+
+dd. Fixed a bug that caused the shell to dump core if a trap was executed
+    during a shell assignment statement.
+
+ee. Fixed an off-by-one error when computing the number of positional
+    parameters for the ${@:0:n} expansion.
+
+ff. Fixed a problem with setting COMP_CWORD for programmable completion
+    functions that could leave it set to -1.
+
+gg. Fixed a bug that caused the ERR trap to be triggered in some cases where
+    `set -e' would not have caused the shell to exit.
+
+hh. Fixed a bug that caused changes made by `compopt' to not persist past the
+    completion function in which compopt was executed.
+
+ii. Fixed a bug that caused the list of hostname completions to not be cleared
+    when HOSTNAME was unset.
+
+jj. Fixed a bug that caused variable expansion in here documents to look in
+    any temporary environment.
+
+kk. Bash and readline can now convert file names between precomposed and
+    decomposed Unicode on Mac OS X ("keyboard" and file system forms,
+    respectively).  This affects filename completion (using new
+    rl_filename_rewrite_hook), globbing, and readline redisplay.
+
+ll. The ERR and EXIT traps now see a non-zero value for $? when a parser
+    error after set -e has been enabled causes the shell to exit.
+
+mm. Fixed a bug that in brace expansion that caused zero-prefixed terms to
+    not contain the correct number of digits.
+
+nn. Fixed a bug that caused the shell to free non-allocated memory when
+    unsetting an associative array which had had a value implicitly assigned
+    to index "0".
+
+oo. Fixed a memory leak in the ${!prefix@} expansion.
+
+pp. Fixed a bug that caused printf to not correctly report all write errors.
+
+qq. Fixed a bug that caused single and double quotes to act as delimiters
+    when splitting a command line into words for programmable completion.
+
+rr. Fixed a bug that caused ** globbing that caused **/path/* to match every
+    directory, not just those matching `path'.
+
+ss. Fixed a bug that caused the shell to dump core when running `help' without
+    arguments if the terminal width was fewer than 7 characters.
+
+2.  Changes to Readline
+
+a.  The SIGWINCH signal handler now avoids calling the redisplay code if
+    one arrives while in the middle of redisplay.
+
+b.  Changes to the timeout code to make sure that timeout values greater
+    than one second are handled better.
+
+c.  Fixed a bug in the redisplay code that was triggered by a prompt
+    containing invisible characters exactly the width of the screen.
+
+d.  Fixed a bug in the redisplay code encountered when running in horizontal
+    scroll mode.
+
+e.  Fixed a bug that prevented menu completion from properly completing
+    filenames.
+
+f.  Fixed a redisplay bug caused by a multibyte character causing a line to
+    wrap.
+
+g.  Fixed a bug that caused key sequences of two characters to not be
+    recognized when a longer sequence identical in the first two characters
+    was bound.
+
+h.  Fixed a bug that caused history expansion to be attempted on $'...'
+    single-quoted strings.
+
+i.  Fixed a bug that caused incorrect redisplay when the prompt contained
+    multibyte characters in an `invisible' sequence bracketed by \[ and
+    \].
+
+j.  Fixed a bug that caused history expansion to short-circuit after
+    encountering a multibyte character.
+
+3.  New Features in Bash
+
+a.  Here-documents within $(...) command substitutions may once more be
+    delimited by the closing right paren, instead of requiring a newline.
+
+b.  Bash's file status checks (executable, readable, etc.) now take file
+    system ACLs into account on file systems that support them.
+
+c.  Bash now passes environment variables with names that are not valid
+    shell variable names through into the environment passed to child
+    processes.
+
+d.  The `execute-unix-command' readline function now attempts to clear and
+    reuse the current line rather than move to a new one after the command
+    executes.
+
+e.  `printf -v' can now assign values to array indices.
+
+f.  New `complete -E' and `compopt -E' options that work on the "empty"
+    completion: completion attempted on an empty command line.
+
+g.  New complete/compgen/compopt -D option to define a `default' completion:
+    a completion to be invoked on command for which no completion has been
+    defined.  If this function returns 124, programmable completion is
+    attempted again, allowing a user to dynamically build a set of completions
+    as completion is attempted by having the default completion function
+    install individual completion functions each time it is invoked.
+
+h.  When displaying associative arrays, subscripts are now quoted.
+
+i.  Changes to dabbrev-expand to make it more `emacs-like': no space appended
+    after matches, completions are not sorted, and most recent history entries
+    are presented first.
+
+j.  The [[ and (( commands are now subject to the setting of `set -e' and the
+    ERR trap.
+
+k.  The source/. builtin now removes NUL bytes from the file before attempting
+    to parse commands.
+
+l.  There is a new configuration option (in config-top.h) that forces bash to
+    forward all history entries to syslog.
+
+m.  A new variable $BASHOPTS to export shell options settable using `shopt' to
+    child processes.
+
+n.  There is a new confgure option that forces the extglob option to be
+    enabled by default.
+
+o.  New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
+    output to that file descriptor.
+
+p.  If the optional left-hand-side of a redirection is of the form {var}, the
+    shell assigns the file descriptor used to $var or uses $var as the file
+    descriptor to move or close, depending on the redirection operator.
+
+q.  The < and > operators to the [[ conditional command now do string
+    comparison according to the current locale.
+
+r.  Programmable completion now uses the completion for `b' instead of `a'
+    when completion is attempted on a line like: a $(b c.
+
+s.  Force extglob on temporarily when parsing the pattern argument to
+    the == and != operators to the [[ command, for compatibility.
+
+t.  Changed the behavior of interrupting the wait builtin when a SIGCHLD is
+    received and a trap on SIGCHLD is set to be Posix-mode only.
+
+u.  The read builtin has a new `-N nchars' option, which reads exactly NCHARS
+    characters, ignoring delimiters like newline.
+
+4.  New Features in Readline
+
+a.  New bindable function: menu-complete-backward.
+
+b.  In the vi insertion keymap, C-n is now bound to menu-complete by default,
+    and C-p to menu-complete-backward.
+
+c.  When in vi command mode, repeatedly hitting ESC now does nothing, even
+    when ESC introduces a bound key sequence.  This is closer to how
+    historical vi behaves.
+
+d.  New bindable function: skip-csi-sequence.  Can be used as a default to
+    consume key sequences generated by keys like Home and End without having
+    to bind all keys.
+
+e.  New application-settable function: rl_filename_rewrite_hook.  Can be used
+    to rewite or modify filenames read from the file system before they are
+    compared to the word to be completed.
+
+f.  New bindable variable: skip-completed-text, active when completing in the
+    middle of a word.  If enabled, it means that characters in the completion
+    that match characters in the remainder of the word are "skipped" rather
+    than inserted into the line.
+
+g.  The pre-readline-6.0 version of menu completion is available as
+    "old-menu-complete" for users who do not like the readline-6.0 version.
+
+h.  New bindable variable: echo-control-characters.  If enabled, and the
+    tty ECHOCTL bit is set, controls the echoing of characters corresponding
+    to keyboard-generated signals.
+
+i.  New bindable variable: enable-meta-key.  Controls whether or not readline
+    sends the smm/rmm sequences if the terminal indicates it has a meta key
+    that enables eight-bit characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-release,
+and the previous version, bash-4.0-rc1.
+
+1.  Changes to Bash
+
+a.  Changed the message printed when setlocale(3) fails to only include the
+    strerror error text if the call changes errno.
+
+b.  Changed trap command execution to reset the line number before running a
+    trap (except DEBUG and RETURN traps).
+
+c.  Fixed behavior of case-modifiying word expansions to not work on
+    individual words within a variable's value.
+
+d.  Fixed a bug that caused mapfile to not be interruptible when run in an
+    interactive shell.
+
+e.  Fixed a bug that caused mapfile to not run callbacks for the first line
+    read.
+
+f.  Fixed a bug that caused mapfile to not honor EOF typed in an interactive
+    shell.
+
+g.  Fixed the coprocess reaping code to not run straight from a signal handler.
+
+h.  Fixed a bug that caused printf -b to ignore the first % conversion specifier
+    in the format string on 64-bit systems.
+
+i.  Fixed a bug that caused incorrect word splitting when `:', `=', or `~'
+    appeared in $IFS.
+
+j.  Fixed a bug that caused data corruption in the programmable completion code
+    when a shell function called from a completion aborted execution.
+
+k.  Fixed a bug that caused the CPU usage reported by the `time' builtin to be
+    capped at 100%.
+
+l.  Changed behavior of shell when -e option is in effect to reflect consensus
+    of Posix shell standardization working group.
+
+m.  Fixed a bug introduced in bash-4.0-alpha that caused redirections to not
+    be displayed by `type' or `declare' when appearing in functions under
+    certain circumstances.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused !(...) extended glob patterns to inhibit later
+    history expansion.
+
+b.  Reworked the signal handling to avoid calling disallowed functions from a
+    signal handler.
+
+3.  New Features in Bash
+
+a.  `readarray' is now a synonym for `mapfile'.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-rc1,
+and the previous version, bash-4.0-beta2.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused parsing errors when a $()-style command
+    substitution was follwed immediately by a quoted newline.
+
+b.  Fixed a bug that caused extended shell globbing patterns beginning with
+    `*(' to not work when used with pattern substitution word expansions.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-beta2,
+and the previous version, bash-4.0-beta.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused failed word expansions to set $? but not
+    PIPESTATUS.
+
+b.  Changed filename completion to quote the tilde in a filename with a
+    leading tilde that exists in the current directory.
+
+c.  Fixed a bug that caused a file descriptor leak when performing
+    redirections attached to a compound command.
+
+d.  Fixed a bug that caused expansions of $@ and $* to not exit the shell if
+    the -u option was enabled and there were no posititional parameters.
+
+e.  Fixed a bug that resulted in bash not terminating immediately if a
+    terminating signal was received while performing output.
+
+f.  Fixed a bug that caused the shell to crash after creating 256 process
+    substitutions during word completion.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused redisplay errors when using prompts with invisible
+    characters and numeric arguments to a command in a multibyte locale.
+
+b.  Fixed a bug that caused redisplay errors when using prompts with invisible
+    characters spanning more than two physical screen lines.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-beta,
+and the previous version, bash-4.0-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.
+
+o.  Fixed a bug that could cause NULL pointer dereferences when COMP_WORDBREAKS
+    was unset.
+
+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.
+
+1.  Changes to Bash
+
+a.  Fixed several bugs in old-style `` command substitution parsing, including
+    comment parsing and quoted string handling.
+
+b.  Fixed problems parsing arguments to the [[ command's =~ regular expression
+    matching operator:  metacharacter and whitespace parsing.
+
+c.  Fixed a bug that caused the shell to inappropriately reuse high-numbered
+    file descriptors it used internally.
+
+d.  Fixed a bug in pattern replacement word expansions that caused a `/' as
+    the first character of an expanded pattern to be mistaken for a global
+    replacement specifier.
+
+e.  Fixed several problems with the asprintf and snprintf replacement functions
+    that caused hangs and crashes.
+
+f.  Fixed a bug in the calculation of the current and previous job that caused
+    it to refer to incorrect jobs.
+
+g.  Fixed a bug in the check for the validity of a hashed command pathname that
+    caused unnecessary hash table deletions and additions.
+
+h.  Fixed a bug that caused child processes to inherit the wrong value for $!.
+
+i.  Fixed a bug that caused `.' to fail to read and execute commands from non-
+    regular files such as devices or named pipes.
+
+j.  Fixed a bug in printf formatting for the %x and %X expansions that occurred
+    on some systems.
+
+k.  Fixed a bug that caused the shell to crash when creating temporary files if
+    $TMPDIR named a non-writable directory.
+
+l.  Fixed a bug that caused the shell to ignore $TMPDIR when creating temporary
+    files under some circumstances.
+
+m.  Fixed a bug that caused named pipes created by process substitution to not
+    be cleaned up.
+
+n.  Fixed a bug that caused HISTTIMEFORMAT to not be honored when it appeared
+    in the initial shell environment.
+
+o.  Fixed several bugs in the expansion of $* and $@ (quoted and unquoted)
+    when IFS is null or contains non-whitespace characters; the same changes
+    apply to arrays subscripted with * or @.
+
+p.  Fixed several problems with pattern substitution expansions on the
+    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.
+
+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.
+
+v.  Fixed a bug that caused the shell to not display $PS2 when the read builtin
+    reads a line continued with a backslash.
+
+w.  Fixed a bug that caused errors in word splitting when $IFS contained
+    characters used for internal quoting.
+
+x.  Fixed bugs that caused problems with output from shell builtins not being
+    completely displayed on some systems.
+
+y.  Fixed a bug that caused output to be lost when a redirection is acting on
+    the shell's output file descriptor.
+
+z.  Fixed bugs caused by shell builtins not checking for all write errors.
+
+aa. Fixed a problem that caused the shell to dump core if expansions on the
+    pattern passed to the pattern removal word expansions resulted in expansion
+    errors.
+
+bb. Fixed a bug that caused bash to loop infinitely after creating and
+    waiting for 4096 jobs.
+
+cc. Fixed a bug that caused bash to lose the status of a background job under
+    certain circumstances.
+
+dd. Fixed a bug that caused bash to not look in the temporary environment
+    when performing variable lookup under certain circumstances.
+
+ee. Fixed a bug that caused bash to close file descriptors greater than 10
+    when they were used in redirections.
+
+ff. Fixed a problem that caused the shell to attempt to read from the standard
+    input when called as `bash -i script'.
+
+gg. Fixed a memory leak and variable initialization problems when the -v option
+    was supplied to `printf' that could cause incorrect results.
+
+hh. Fixed a bug that caused the `read' builtin to count bytes when the -n option
+    was supplied, rather than (possibly multibyte) characters.
+
+ii. Fixed a bug when displaying a function due to not converting the function
+    to an external form.
+
+jj. Changed job control initialization to ensure that the shell has a tty
+    as its controlling terminal before enabling job control.
+
+kk. Fixed a bug with the `test' builtin that caused it to misinterpret
+    arguments beginning with `-' but containing more than one character.
+
+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 (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.
+
+oo. Fixed a bug in pathname expansion that caused it to interpret backslashes
+    in the pathname as quoting characters.
+
+pp. Fixed a bug in the replacement getcwd() implementation that could cause
+    memory to be overwritten.
+
+qq. When in Posix mode, the `ulimit' builtin now uses a block size of 512 for
+    the `-c' and `-f' options.
+
+rr. Brace expansion now allows process substitutions to pass through unchanged.
+
+ss. Fixed a problem in the command name completion code to avoid quoting
+    escaped special characters twice when the command name begins with a tilde.
+
+tt. Fixed a problem in the printf builtin that resulted in single-byte
+    output for the "'" escape, even when using multibyte characters.
+
+uu. Fixed a bug that caused the failure exit status to be lost when redirections
+    attached to a compound command failed.
+
+vv. Fixed a bug that caused the internal random number generator to not be
+    re-seeded correctly when creating a subshell.
+
+ww. Fixed a bug that could cause the bash replacement getcwd to overwrite
+    memory.
+
+xx. Fixed a bug that caused the shell to not receive SIGINT if it was sent
+    while the shell was waiting for a command substitution to terminate, and
+    make sure the exit status is correct when it does.
+
+yy. Fixed a bug that resulted in the second and subsequent children spawned
+    by a shell begun to run a command substitution being placed into the
+    wrong process group.
+
+zz. Fixed a bug that caused the results of successful tilde expansion to be
+    subject to pathname expansion and word splitting.
+
+aaa. Fixed a bug that could cause the shell to hang if it encountered an
+     error that caused it to jump back to the top processing loop during a
+     command substitution or `eval' command.
+
+bbb. Fixed a bug that caused the `read' builtin to use the tty's attributes
+     instead of those of the file descriptor passed with the -u option when
+     processing the -n and -d options.
+
+ccc. Fixed a bug that caused incorrect expansion of ${array[@]:foo} if the
+     first character of $IFS was not whitespace.
+
+ddd. Fixed a bug that occurred when scanning for the ending delimiter of a
+     ${parameter/pat/sub} expansion.
+
+eee. Fixed a bug that caused the shell to inappropriately expand command
+     substitutions in words when expanding directory names for completion.
+
+fff. Fixed a bug that caused the `fc' builtin to look too far back in the
+     history list under certain circumstances.
+
+ggg. Fixed a bug that caused a shell running in Posix mode to search $PWD for
+     a file specified as an argument to source/. when the file was not found
+     in $PATH.
+
+hhh. Fixed a bug that caused the shell to modify the case of a command word
+     found via command completion when the shell was performing case-
+     insensitive completion.
+
+iii. Fixed a bug that caused the shell to search $PATH for an argument to
+     source/. even when it contained a `/'.
+
+jjj. Fixed a bug that caused brace expansion to misorder expansions when the
+     locale did not have a collating order like aAbBcC...zZ.
+
+kkk. Fixed a bug that did not allow `set +o history' to have any effect when
+     run in a startup file or from a sourced file.
+
+lll. Fixed a bug with the precedence of the ?: conditional arithmetic operator.
+
+mmm. Fixed a bug that caused side effects of temporary variable assignments
+     to persist in the shell environment.
+
+nnn. Fixed a bug that caused the terminal to be left in non-canonical mode
+     when using editing commands that invoke the an editor on the current
+     command line.
+
+ooo. Fixed a bug that caused globbing characters and characters in $IFS to not
+     be quoted appropriately when displaying assignment statements.
+
+ppp. Fixed a bug that caused the `-e' option to be inherited when sourcing a
+     file or evaluating a command with `eval' even if the return value of the
+     command was supposed to be ignored.
+
+qqq. Fixed a bug that caused the shell to attempt to created variables with
+     invalid names if such names appeared in the initial environment.
+
+rrr. Fixed a bug with quote removal in strings where the final character is a
+     backslash.
+
+sss. Fixed a bug that caused the effects of special variables to persist even
+     when the variables were unset as part of the shell reinitializing itself
+     to execute a shell script.
+
+ttt. Fixed a bug that caused the history to not be saved after `history -c' or
+     `history -d' was executed until a sufficient number of commands had been
+     saved to the history.
+
+uuu. Bash now parses command substitutions according to Posix rules: parsing
+     the command contained in $() to find the closing delimiter.
+
+vvv. Fixed a bug that caused traps on SIGCHLD set in a SIGCHLD handler to
+     not persist.
+
+www. Fixed a bug that didn't allow SIGCHLD to interrupt the `wait' builtin
+     as Posix specifies.
+
+xxx. Invalid numeric arguments to shell builtins no longer cause the shell to
+     short-circuit any executing compound command.
+
+yyy. Fixed a bug that caused the exit status to be lost when `break' was
+     used to short-circuit a loop's execution.
+
+zzz. Fixed a bug that caused stray ^? characters to be left in expansions of
+     "${array[*]}".
+
+aaaa. Bash now prints better error messages for here documents terminated by
+      EOF and for identifying the incorrect token in an invalid arithmetic
+      expression.
+
+bbbb. Fixed a bug in the variable length word expansion that caused it to
+      incorrectly calculate the number of multibyte characters.
+
+cccc. Fixed a race condition that could result in the top-level shell setting
+      the terminal's process group to an incorrect value if the process
+      group was changed by a child of a child of the shell.
+
+dddd. Fixed a bug that caused here documents belonging to commands within a
+      compound command to be displayed in a syntactially-incorrect form, which
+      prevented them from being re-read as input.
+
+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 
+    characters.
+
+b.  Fixed bugs in vi command mode that caused motion commands to inappropriately
+    set the mark.
+
+c.  When using the arrow keys in vi insertion mode, readline allows movement
+    beyond the current end of the line (unlike command mode).
+
+d.  Fixed bugs that caused readline to loop when the terminal has been taken
+    away and reads return -1/EIO.
+
+e.  Fixed bugs in redisplay occurring when displaying prompts containing
+    invisible characters.
+
+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 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.
+
+i.  Fixed a bug that resulted in SIGTERM not being caught or cleaned up.
+
+j.  Fixed redisplay bugs caused by multiline prompts with invisible characters
+    or no characters following the final newline.
+
+k.  Fixed redisplay bug caused by prompts consisting solely of invisible
+    characters.
+
+l.  Fixed a bug in the code that buffers characters received very quickly in
+    succession which caused characters to be dropped.
+
+m.  Fixed a bug that caused readline to reference uninitialized data structures
+    if it received a SIGWINCH before completing initialzation.
+
+n.  Fixed a bug that caused the vi-mode `last command' to be set incorrectly
+    and therefore unrepeatable.
+
+o.  Fixed a bug that caused readline to disable echoing when it was being used
+    with an output file descriptor that was not a terminal.
+
+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
+    index of 0 now causes $0 to be prefixed to the list.
+
+b.  The `help' builtin now prints its columns with entries sorted vertically
+    rather than horizontally.
+
+c.  There is a new variable, $BASHPID, which always returns the process id of
+    the current shell.
+
+d.  There is a new `autocd' option that, when enabled, causes bash to attempt
+    to `cd' to a directory name that is supplied as the first word of a
+    simple command.
+
+e.  There is a new `checkjobs' option that causes the shell to check for and
+    report any running or stopped jobs at exit.
+
+f.  The programmable completion code exports a new COMP_TYPE variable, set to
+    a character describing the type of completion being attempted.
+
+g.  The programmable completion code exports a new COMP_KEY variable, set to
+    the character that caused the completion to be invoked (e.g., TAB).
+
+h.  If creation of a child process fails due to insufficient resources, bash
+    will try again several times before reporting failure.
+
+i.  The programmable completion code now uses the same set of characters as
+    readline when breaking the command line into a list of words.
+
+j.  The block multiplier for the ulimit -c and -f options is now 512 when in
+    Posix mode, as Posix specifies.
+
+k.  Changed the behavior of the read builtin to save any partial input received
+    in the specified variable when the read builtin times out.  This also
+    results in variables specified as arguments to read to be set to the empty
+    string when there is no input available.  When the read builtin times out,
+    it returns an exit status greater than 128.
+
+l.  The shell now has the notion of a `compatibility level', controlled by
+    new variables settable by `shopt'.  Setting this variable currently
+    restores the bash-3.1 behavior when processing quoted strings on the rhs
+    of the `=~' operator to the `[[' command.
+
+m.  The `ulimit' builtin now has new -b (socket buffer size) and -T (number
+    of threads) options.
+
+n.  The -p option to `declare' now displays all variable values and attributes
+    (or function values and attributes if used with -f).
+
+o.  There is a new `compopt' builtin that allows completion functions to modify
+    completion options for existing completions or the completion currently
+    being executed.
+
+p.  The `read' builtin has a new -i option which inserts text into the reply
+    buffer when using readline.
+
+q.  A new `-E' option to the complete builtin allows control of the default
+    behavior for completion on an empty line.
+
+r.  There is now limited support for completing command name words containing
+    globbing characters.
+
+s.  Changed format of internal help documentation for all builtins to roughly
+    follow man page format.
+
+t.  The `help' builtin now has a new -d option, to display a short description,
+    and a -m option, to print help information in a man page-like format.
+
+u.  There is a new `mapfile' builtin to populate an array with lines from a
+    given file.
+
+v.  If a command is not found, the shell attempts to execute a shell function
+    named `command_not_found_handle', supplying the command words as the
+    function arguments.
+
+w.  There is a new shell option: `globstar'.  When enabled, the globbing code
+    treats `**' specially -- it matches all directories (and files within
+    them, when appropriate) recursively.
+
+x.  There is a new shell option: `dirspell'.  When enabled, the filename
+    completion code performs spelling correction on directory names during
+    completion.
+
+y.  The `-t' option to the `read' builtin now supports fractional timeout
+    values.
+
+z.  Brace expansion now allows zero-padding of expanded numeric values and
+    will add the proper number of zeroes to make sure all values contain the
+    same number of digits.
+
+aa. There is a new bash-specific bindable readline function: `dabbrev-expand'.
+    It uses menu completion on a set of words taken from the history list.
+
+bb. The command assigned to a key sequence with `bind -x' now sets two new
+    variables in the environment of the executed command:  READLINE_LINE_BUFFER
+    and READLINE_POINT.  The command can change the current readline line
+    and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT,
+    respectively.
+
+cc. There is a new &>> redirection operator, which appends the standard output
+    and standard error to the named file.
+
+dd. The parser now understands `|&' as a synonym for `2>&1 |', which redirects
+    the standard error for a command through a pipe.
+
+ee. The new `;&' case statement action list terminator causes execution to
+    continue with the action associated with the next pattern in the
+    statement rather than terminating the command.
+
+ff. The new `;;&' case statement action list terminator causes the shell to
+    test the next set of patterns after completing execution of the current
+    action, rather than terminating the command.
+
+gg. The shell understands a new variable: PROMPT_DIRTRIM.  When set to an
+    integer value greater than zero, prompt expansion of \w and \W  will
+    retain only that number of trailing pathname components and replace
+    the intervening characters with `...'.
+
+hh. There are new case-modifying word expansions: uppercase (^[^]) and
+    lowercase (,[,]).  They can work on either the first character or
+    array element, or globally.  They accept an optional shell pattern
+    that determines which characters to modify.  There is an optionally-
+    configured feature to include capitalization operators.
+
+ii. The shell provides associative array variables, with the appropriate
+    support to create, delete, assign values to, and expand them.
+
+jj. The `declare' builtin now has new -l (convert value to lowercase upon
+    assignment) and -u (convert value to uppercase upon assignment) options.
+    There is an optionally-configurable -c option to capitalize a value at
+    assignment.
+
+kk. There is a new `coproc' reserved word that specifies a coprocess: an
+    asynchronous command run with two pipes connected to the creating shell.
+    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.
+
+4.  New Features in Readline
+
+a.  A new variable, rl_sort_completion_matches; allows applications to inhibit
+    match list sorting (but beware: some things don't work right if
+    applications do this).
+
+b.  A new variable, rl_completion_invoking_key; allows applications to discover
+    the key that invoked rl_complete or rl_menu_complete.
+
+c.  The functions rl_block_sigint and rl_release_sigint are now public and
+    available to calling applications who want to protect critical sections
+    (like redisplay).
+
+d.  The functions rl_save_state and rl_restore_state are now public and
+    available to calling applications; documented rest of readline's state
+    flag values.
+
+e.  A new user-settable variable, `history-size', allows setting the maximum
+    number of entries in the history list.
+
+f.  There is a new implementation of menu completion, with several improvements
+    over the old; the most notable improvement is a better `completions
+    browsing' mode.
+
+g.  The menu completion code now uses the rl_menu_completion_entry_function
+    variable, allowing applications to provide their own menu completion
+    generators.
+
+h.  There is support for replacing a prefix  of a pathname with a `...' when
+    displaying possible completions.  This is controllable by setting the
+    `completion-prefix-display-length' variable.  Matches with a common prefix
+    longer than this value have the common prefix replaced with `...'.
+
+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.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.2-release,
+and the previous version, bash-3.2-beta.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused the temporary environment passed to a command to
+    affect the shell's environment under certain circumstances.
+
+b.  Fixed a bug in the printf builtin that caused the %q format specifier to
+    ignore empty string arguments.
+
+c.  Improved multibyte character environment detection at configuration time.
+
+d.  Fixed a bug in the read builtin that left spurious escape characters in the
+    input after processing backslashes when assigning to an array variable.
+
+2.  Changes to Readline
+
+a.  Fixed a redisplay bug that occurred in multibyte-capable locales when the
+    prompt was one character longer than the screen width.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.2-beta,
+and the previous version, bash-3.2-alpha.
+
+1.  Changes to Bash
+
+a.  Changed the lexical analyzer to treat locale-specific blank characters as
+    white space.
+
+b.  Fixed a bug in command printing to avoid confusion between redirections and
+    process substitution.
+
+c.  Fixed problems with cross-compiling originating from inherited environment
+    variables.
+
+d.  Added write error reporting to printf builtin.
+
+e.  Fixed a bug in the variable expansion code that could cause a core dump in
+    a multi-byte locale.
+
+f.  Fixed a bug that caused substring expansion of a null string to return
+    incorrect results.
+
+g.  BASH_COMMAND now retains its previous value while executing commands as the
+    result of a trap, as the documentation states.
+
+2.  Changes to Readline
+
+a.  Fixed a bug with prompt redisplay in a multi-byte locale to avoid redrawing
+    the prompt and input line multiple times.
+
+b.  Fixed history expansion to not be confused by here-string redirection.
+
+c.  Readline no longer treats read errors by converting them to newlines, as
+    it does with EOF.  This caused partial lines to be returned from readline().
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.2-alpha,
+and the previous version, bash-3.1-release.
+
+1.  Changes to Bash
+
+a.  Fixed a source bug that caused the minimal configuration to not compile.
+
+b.  Fixed memory leaks in error handling for the `read' builtin.
+
+c.  Changed the [[ and (( compound commands to set PIPESTATUS with their exit
+    status.
+
+d.  Fixed some parsing problems with compound array assignments.
+
+e.  Added additional configuration changes for: NetBSD (incomplete multibyte
+    character support)
+
+f.  Fixed two bugs with local array variable creation when shadowing a variable
+    of the same name from a previous context.
+
+g.  Fixed the `read' builtin to restore the correct set of completion functions
+    if a timeout occurs.
+
+h.  Added code to defer the initialization of HISTSIZE (and its stifling of the
+    history list) until the history file is loaded, allowing a startup file to
+    override the default value.
+
+i.  Tightened up the arithmetic expression parsing to produce better error
+    messages when presented with invalid operators.
+
+j.  Fixed the cross-compilation support to build the signal list at shell
+    invocation rather than compile time if cross-compiling.
+
+k.  Fixed multibyte support for non-gcc compilers (or compilers that do not
+    allow automatic array variable sizing based on a non-constant value).
+
+l.  Several fixes to the code that manages the list of terminated jobs and
+    their exit statuses, and the list of active and recently-terminated jobs
+    to avoid pid aliasing/wraparound and allocation errors.
+
+m.  Fixed a problem that allowed scripts to die due to SIGINT while waiting
+    for children, even when started in the background or otherwise ignoring
+    SIGINT.
+
+n.  Fixed a bug that caused shells invoked as -/bin/bash from not being
+    recognized as login shells.
+
+o.  Fixed a problem that caused shells in the background to give the terminal
+    to a process group other than the foreground shell process group.
+
+p.  Fixed a problem with extracting the `varname' in ${#varname}.
+
+q.  Fixed the code that handles SIGQUIT to not exit immediately -- thereby
+    calling functions that may not be called in a signal handler context --
+    but set a flag and exit afterward (like SIGINT).
+
+r.  Changed the brace expansion code to skip over braces that don't begin a
+    valid matched brace expansion construct.
+
+s.  Fixed `typeset' and `declare' to not require that their shell function
+    operands to be valid shell identifiers.
+
+t.  Changed `test' to use access(2) with a temporary uid/euid swap when testing
+    file attributes and running setuid, and access(2) in most other cases.
+
+u.  Changed completion code to not attempt command name completion on a line
+    consisting solely of whitespace when no_empty_command_completion is set.
+
+v.  The `hash' builtin now prints nothing in posix mode when the hash table is
+    empty, and prints a message to that effect to stdout instead of stderr
+    when not in posix mode.
+
+w.  Fixed a bug in the extended pattern matching code that caused it to fail to
+    match periods with certain patterns.
+
+x.  Fixed a bug that caused the shell to dump core when performing filename
+    generation in directories with thousands of files.
+
+y.  Returned to the original Bourne shell rules for parsing ``:  no recursive
+    parsing of embedded quoted strings or ${...} constructs.
+
+z.  The inheritence of the DEBUG, RETURN, and ERR traps is now dependent only
+    on the settings of the `functrace' and `errtrace' shell options, rather
+    than whether or not the shell is in debugging mode.
+
+aa. Fixed a problem with $HOME being converted to ~ in the expansion of
+    members of the DIRSTACK array.
+
+bb. Fixed a problem with quoted arguments to arithmetic expansions in certain
+    constructs.
+
+cc. The command word completion code now no longer returns matching directories
+    while searching $PATH.
+
+dd. Fixed a bug with zero-padding and precision handling in snprintf()
+    replacement.
+
+ee. Fixed a bug that caused the command substitution code not to take embedded
+    shell comments into account.
+
+ff. Fixed a bug that caused $((...);(...)) to be misinterpreted as an
+    arithmetic substitution.
+
+gg. Fixed a bug in the prompt expansion code that inappropriately added a
+    \001 before a \002 under certain circumstances.
+
+hh. Fixed a bug that caused `unset LANG' to not properly reset the locale
+    (previous versions would set the locale back to what it was when bash
+    was started rather than the system's "native" locale).
+
+ii. Fixed a bug that could cause file descriptors > 10 to not be closed even
+    when closed explicitly by a script.
+
+jj. Fixed a bug that caused single quotes to be stripped from ANSI-C quoting
+    inside double-quoted command substitutions.
+
+kk. Fixed a bug that could cause core dumps when `return' was executed as the
+    last element of a pipeline inside a shell function.
+
+ll. Fixed a bug that caused DEBUG trap strings to overwrite commands stored in
+    the jobs list.
+
+2.  Changes to Readline
+
+a.  Fixed a problem that caused segmentation faults when using readline in
+    callback mode and typing consecutive DEL characters on an empty line.
+
+b.  Fixed several redisplay problems with multibyte characters, all having to
+    do with the different code paths and variable meanings between single-byte
+    and multibyte character redisplay.
+
+c.  Fixed a problem with key sequence translation when presented with the
+    sequence \M-\C-x.
+
+d.  Fixed a problem that prevented the `a' command in vi mode from being
+    undone and redone properly.
+
+e.  Fixed a problem that prevented empty inserts in vi mode from being undone
+    properly.
+
+f.  Fixed a problem that caused readline to initialize with an incorrect idea
+    of whether or not the terminal can autowrap.
+
+g.  Fixed output of key bindings (like bash `bind -p') to honor the setting of
+    convert-meta and use \e where appropriate.
+
+h.  Changed the default filename completion function to call the filename
+    dequoting function if the directory completion hook isn't set.  This means
+    that any directory completion hooks need to dequote the directory name,
+    since application-specific hooks need to know how the word was quoted,
+    even if no other changes are made.
+
+i.  Fixed a bug with creating the prompt for a non-interactive search string
+    when there are non-printing characters in the primary prompt.
+
+j.  Fixed a bug that caused prompts with invisible characters to be redrawn
+    multiple times in a multibyte locale.
+
+k.  Fixed a bug that could cause the key sequence scanning code to return the
+    wrong function.
+
+l.  Fixed a problem with the callback interface that caused it to fail when
+    using multi-character keyboard macros.
+
+m.  Fixed a bug that could cause a core dump when an edited history entry was
+    re-executed under certain conditions.
+
+n.  Fixed a bug that caused readline to reference freed memory when attmpting
+    to display a portion of the prompt.
+
+3.  New Features in Bash
+
+a.  Changed the parameter pattern replacement functions to not anchor the
+    pattern at the beginning of the string if doing global replacement - that
+    combination doesn't make any sense.
+
+b.  When running in `word expansion only' mode (--wordexp option), inhibit
+    process substitution.
+
+c.  Loadable builtins now work on MacOS X 10.[34].
+
+d.  Shells running in posix mode no longer set $HOME, as POSIX requires.
+
+e.  The code that checks for binary files being executed as shell scripts now
+    checks only for NUL rather than any non-printing character.
+
+f.  Quoting the string argument to the [[ command's  =~ operator now forces
+    string matching, as with the other pattern-matching operators.
+
+4.  New Features in Readline
+
+a.  Calling applications can now set the keyboard timeout to 0, allowing
+    poll-like behavior.
+
+b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
+    the default last-ditch startup file.
+
+c.  The history file reading functions now allow windows-like \r\n line
+    terminators.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-release,
+and the previous version, bash-3.1-rc2.
+
+1.  Changes to Readline
+
+a.  Several changes to the multibyte redisplay code to fix problems with
+    prompts containing invisible characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-rc2,
+and the previous version, bash-3.1-rc1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused a DEBUG trap to overwrite a command string that's
+    eventually attached to a background job.
+
+b.  Changed some code so that filenames with leading tildes with spaces in the
+    name aren't tilde-expanded by the bash completion code.
+
+c.  Fixed a bug that caused the pushd builtin to fail to change to
+    directories with leading `-'.
+
+d.  Fixed a small memory leak in the programmable completion code.
+
+2.  Changes to Readline
+
+a.  Fixed a redisplay bug caused by moving the cursor vertically to a line
+    with invisible characters in the prompt in a multibyte locale.
+
+b.  Fixed a bug that could cause the terminal special chars to be bound in the
+    wrong keymap in vi mode.
+
+3.  New Features in Bash
+
+a.  If compiled for strict POSIX conformance, LINES and COLUMNS may now
+    override the true terminal size.
+
+4.  New Features in Readline
+
+a.  A new external application-controllable variable that allows the LINES
+    and COLUMNS environment variables to set the window size regardless of
+    what the kernel returns.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-rc1,
+and the previous version, bash-3.1-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that could cause core dumps due to accessing the current
+    pipeline while in the middle of modifying it.
+
+b.  Fixed a bug that caused pathnames with backslashes still quoting characters
+    to be passed to opendir().
+
+c.  Command word completion now obeys the setting of completion-ignore-case.
+
+d.  Fixed a problem with redirection that caused file descriptors greater than
+    2 to be inappropriately marked as close-on-exec.
+
+e.  In Posix mode, after `wait' is called to wait for a particular process
+    explicitly, that process is removed from the list of processes known to
+    the shell, and subsequent attempts to wait for it return errors.
+
+f.  Fixed a bug that caused extended pattern matching to incorrectly scan
+    backslash-escaped pattern characters.
+
+g.  Fixed a synchronization problem that could cause core dumps when handling
+    a SIGWINCH.
+
+h.  Fixed a bug that caused an unmatched backquote to be accepted without an
+    error when processing here documents.
+
+i.  Fixed a small memory leak in the `cd' builtin.
+
+j.  Fix for MacOS X so it gets the values for the HOSTTYPE, MACHTYPE, and
+    OSTYPE variables at build time, to support universal binaries.
+
+k.  Fixed a bug that could cause an exit trap to return the exit status of
+    the trap command rather than the status as it was before the trap was
+    run as the shell's exit status.
+
+2.  New Features in Bash
+
+3.  Changes to Readline
+
+a.  Fixed a bug that caused reversing the incremental search direction to
+    not work correctly.
+
+b.  Fixed the vi-mode `U' command to only undo up to the first time insert mode
+    was entered, as Posix specifies.
+
+c.  Fixed a bug in the vi-mode `r' command that left the cursor in the wrong
+    place.
+
+4.  New Features in Readline
+
+a.  New application-callable auxiliary function, rl_variable_value, returns
+    a string corresponding to a readline variable's value.
+
+b.  When parsing inputrc files and variable binding commands, the parser
+    strips trailing whitespace from values assigned to boolean variables
+    before checking them.
+
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-beta1,
+and the previous version, bash-3.1-alpha1.
+
+1.  Changes to Bash
+
+a.  Added some system-specific signal names.
+
+b.  Fixed a typo in the ulimit builtin to make `x' the right option to
+    maniuplate the limit on file locks.
+
+c.  Fixed a problem with using += to append to index 0 of an array variable
+    when not using subscript syntax.
+
+d.  A few changes to configure.in to remove calls to obsolete or outdated
+    macros.
+
+e.  Make sure changes to variables bash handles specially (e.g., LC_ALL) are
+    made when the variable is set in the temporary environment to a command.
+
+f.  Make sure changes to variables bash handles specially (e.g., LC_ALL) are
+    made when the variable is modified using `printf -v'.
+
+g.  The export environment is now remade on cygwin when HOME is changed, so
+    DLLs bash is linked against pick up the new value.  This fixes problems
+    with tilde expansion when linking against and already-installed readline.
+
+h.  Small fix to the logic for performing tilde expansion in posix mode, so
+    expansion on the right-hand side of an assignment statement takes place.
+
+i.  Fixed a bug that prevented redirections associated with a shell function
+    from being executed when in a subshell.
+
+j.  Fixed `source' and `.' builtins to not require an executable file when
+    searching $PATH for a file to source.
+
+k.  Fixed a bug that caused incorrect word splitting in a function when IFS
+    was declared local, then unset.
+
+l.  Fixed a problem with the `kill' builtin that prevented sending signals
+    to a process group under certain circumstances when providing a pid < 0.
+
+m.  When in POSIX mode, `pwd' now checks that the value it prints is the same
+    directory as `.', even when displaying $PWD.
+
+n.  Fixed a problem with the `read' builtin when reading a script from standard
+    input and reading data from the same file.
+
+o.  Fixed a problem with the `type' and `command' builtins that caused absolute
+    pathnames to be displayed incorrectly.
+
+p.  Some changes to the `bg' builtin for POSIX conformance.
+
+q.  The `fc' builtin now removes the `fc' command that caused it to invoke an
+    editor on specified history entries from the history entirely, rather than
+    simply ignoring it.
+
+r.  When in POSIX mode, the `v' command in vi editing mode simply invokes vi
+    on the current command, rather than checking $FCEDIT and $EDITOR.
+
+s.  Fixed a small memory leak in the pathname canonicalization code.
+
+t.  Fixed a bug that caused the expanded value of a $'...' string to be
+    incorrectly re-quoted if it occurred within a double-quoted ${...}
+    parameter expansion.
+
+u.  Restored default emacs-mode key binding of M-TAB to dynamic-complete-history.
+
+v.  Fixed a bug that caused core dumps when interrupting loops running builtins
+    on some systems.
+
+w.  Make sure that some of the functions bash provides replacements for are
+    not cpp defines.
+
+x.  The code that scans embedded commands for the parser (`...` and $(...)) is
+    now more aware of embedded comments and their effect on quoted strings.
+
+y.  Changed the `-n' option to the `history' builtin to not reset the number of
+    history lines read in the current session after reading the new lines from
+    the history file if the history is being appended when it is written to
+    the file, since the appending takes care of the problem that the adjustment
+    was intended to solve.
+
+z.  Improved the error message displayed when a shell script fails to execute
+    because the environment and size of command line arguments are too large.
+
+aa. A small fix to make sure that $HISTCMD is evaluated whenever the shell is
+    saving commands to the history list, not just when HISTSIZE is defined.
+
+2.  Changes to Readline
+
+a.  The `change-case' command now correctly changes the case of multibyte
+    characters.
+
+b.  Changes to the shared library construction scripts to deal with Windows
+    DLL naming conventions for Cygwin.
+
+c.  Fixed the redisplay code to avoid core dumps resulting from a poorly-timed
+    SIGWINCH.
+
+d.  Fixed the non-incremental search code in vi mode to dispose of any current
+    undo list when copying a line from the history into the current editing
+    buffer.
+
+e.  The variable assignment code now ignores whitespace at the end of lines
+    when assigning to boolean variables.
+
+f.  The `C-w' binding in incremental search now understands multibyte
+    characters.
+
+3.  New Features in Bash
+
+a.  A new configuration option, `--enable-strict-posix-default', which will
+    build bash to be POSIX conforming by default.
+
+4.  New Features in Readline
+
+a.  If the rl_completion_query_items is set to a value < 0, readline never
+    asks the user whether or not to view the possible completions.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.1-alpha1,
+and the previous version, bash-3.0-release.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused bash to crash if referencing an unset local array.
+
+b.  Fixed a problem that caused tilde expansion to not be performed before
+    attempting globbing word completion.
+
+c.  Fixed an incompatibility so that a first argument to trap that's a valid
+    signal number will be trated as a signal rather than a command to execute.
+
+d.  Fixed ${#word} expansion to correctly compute the length of a string
+    containing multibyte characters.
+
+e.  Fixed a bug that caused bash to not pass the correct flags for signal
+    disposition to child processes.
+
+f.  Fixed a bug that caused `fc -l' to list one too many history entries.
+
+g.  Some fixes to `fc' for POSIX conformance.
+
+h.  Some fixes to job status display for POSIX conformance.
+
+i.  Fixed a bug that caused `command -v' to display output if a command was not
+    found -- it should be silent.
+
+j.  In POSIX mode, `type' and `command -[vV]' do not report non-executable
+    files, even if the shell will attempt to execute them.
+
+k.  Fixed a bug that caused the `==' operator to the [[ command to not attempt
+    extended pattern matching.
+
+l.  Fixed the brace expansion code to handle characters whose value exceeds 128.
+
+m.  Fixed `printf' to handle strings with a leading `\0' whose length is
+    non-zero.
+
+n.  Fixed a couple of problems with brace expansion where `${' was handled
+    incorrectly.
+
+o.  Fixed off-by-one error when calculating the upper bound of `offset' when
+    processing the ${array[@]:offset:length} expansion.
+
+p.  System-specific configuration changes for: FreeBSD 5.x, Interix, MacOS X
+    10.4, Linux 2.4+ kernels, Linux 3.x kernels, Dragonfly BSD, QNX 6.x,
+    Cygwin
+
+q.  Fixed a bug that caused the shell to ignore the status of the rightmost
+    command in a pipeline when the `pipefail' option was enabled.
+
+r.  Fixed a completion bug that caused core dumps when expanding a directory
+    name.
+
+s.  Fixed a bug that prevented `hash -d' from removing commands from the hash
+    table.
+
+t.  Fixed word splitting to avoid really bad quadratic performance when
+    expanding long lists.
+
+u.  Fixed a bug that caused negative offsets in substring expansion to use the
+    wrong values.
+
+v.  Fixed a bug in printf that caused it to not return failure on write errors.
+
+w.  Fixed a bug that caused commands in subshells to not be properly timed.
+
+x.  The shell parser no longer attempts to parse a compound assignment specially
+    unless in a position where an assignment statement is acceptable or parsing
+    arguments to a builtin that accepts assignment statements.
+
+y.  Fixed a problem that caused a `case' statement to be added to the history
+    incorrectly as a single command if the `case word' was on one line and the
+    `in' on another.
+
+z.  Fixed a problem that caused internal shell quoting characters to be
+    incorrectly quoted with backslashes under some circumstances.
+
+aa. The shell now performs correct word splitting when IFS contains multibyte
+    characters.
+
+bb. The mail checking code now resets the cached file information if the size
+    drops to 0, even if the times don't change.
+
+cc. A completed command name that is found in $PATH as well as the name of a
+    directory in the current directory no longer has a slash appended in certain
+    circumstances:  a single instance found in $PATH when `.' is not in $PATH,
+    and multiple instances found in $PATH, even when `.' is in $PATH.
+
+dd. Incorporated tilde expansion into the word expansion code rather than as a
+    separately-called function, fixing some cases where it was performed
+    inappropriately (e.g., after the second `=' in an assignment statement or
+    in a double-quoted parameter expansion).
+
+ee. Fixed several bugs encountered when parsing compound assignment statements,
+    so that compound assignments appearing as arguments to builtins are no
+    longer double-expanded.
+
+ff. Fixed a bug in the command execution code that caused asynchronous commands
+    containing command substitutions to not put the terminal in the wrong
+    process group.
+
+gg. Bash now handles the case where the WCONTINUED flag causes waitpid() to
+    return -1/EINVAL at runtime as well as configuration time.
+
+hh. Fixed parser to generate an error when the pipeline `argument' to `!' or
+    `time' is NULL.
+
+ii. The shell now takes a little more care when manipulating file descriptors
+    greater than 9 with the `exec' builtin.
+
+jj. Fixed a bug that caused variable assignments preceding the `command' builtin
+    preceding a special builtin to be preserved after the command completed in
+    POSIX mode.
+
+kk. Fixed a bug that allowed variables beginning with a digit to be created.
+
+ll. Fixed a bug that caused a \<newline> to be removed when parsing a $'...'
+    construct.
+
+mm. A shell whose name begins with `-' will now be a restricted shell if the
+    remainder of the name indicates it should be restricted.
+
+nn. Fixed a bug that could cause a core dump if FUNCNAME were changed or unset
+    during a function's execution.
+
+oo. Fixed a bug that caused executing a `return' in a function to not execute
+    a RETURN trap.  The RETURN trap is inherited by shell functions only if
+    function tracing is globally enabled or has been enabled for that function.
+
+pp. Fixed cases where var[@] was not handled exactly like var, when var is a
+    scalar variable.
+
+qq. Fixed a bug that caused the first character after a SIGINT to be discarded
+    under certain circumstances.
+
+rr. Fixed exit status code so that a suspended job returns 128+signal as its
+    exit status (preventing commands after it in `&&' lists from being
+    executed).
+
+ss. Fixed a bug that caused the shell parser state to be changed by executing
+    a shell function as a result of word completion.
+
+tt. Fixed a long-standing bug that caused '\177' characters in variable
+    values to be discarded when expanded in double-quoted strings.
+
+uu. Fixed a bug that caused $RANDOM to be re-seeded multiple times in a
+    subshell environment.
+
+vv. Extensive changes to the job management code to avoid the pid-reuse and
+    pid-aliasing problems caused by retaining the exit status of too many jobs,
+    but still retain as many background job statuses as POSIX requires.
+
+ww. Fixed a parser bug in processing \<newline> that caused things like
+
+               ((echo 5) \
+                (echo 6))
+
+    to not work correctly.
+
+xx. `pwd -P' now sets $PWD to a directory name containing no symbolic links
+    when in posix mode, as POSIX requires.
+
+yy. In posix mode, bash no longer sets $PWD to a name containing no symbolic
+    links if a directory is chosen from $CDPATH.
+
+zz. The word splitting code now treats an IFS character that is not space,
+    tab, or newline and any adjacent IFS white space as a single delimiter, as
+    SUSv3/XPG6 require.
+
+aaa. The `read' builtin now checks whether or not the number of fields read is
+     exactly the same as the number of variables instead of just assigning the
+     rest of the line (minus any trailing IFS white space) to the last
+     variable.  This is what POSIX/SUS/XPG all require.
+
+bbb. Fixed a bug that caused `read' to always check whether or not fd 0 was a
+     pipe, even when reading from another file descriptor.
+
+ccc. Fixed a bug that caused short-circuiting of execution even if the return
+     value was being inverted.
+
+ddd. Fixed a bug that caused a core dump while decoding \W escapes in PS1 if
+     PWD was unset.
+
+eee. Fixed a bug in `read' that counted internal quoting characters for the
+     purposes of `read -n'.
+
+fff. Fixed a bug so that a function definition in a pipeline causes a child
+     process to be forked at the right time.
+
+ggg. Bash will not attempt to link against a readline library that doesn't
+     have rl_gnu_readline_p == 1.
+
+hhh. Fixed a bug that caused `read' to consume one too many characters when
+     reading a fixed number of characters and the Nth character is a backslash.
+
+iii. Fixed a bug that caused `unset' on variables in the temporary environment
+     to leave them set when `unset' completed.
+
+jjj. Fixed a bug that caused bash to close fd 2 if an `exec' failed and the
+     shell didn't exit.
+
+kkk. The completion code is more careful to not turn `/' or `///' into `//',
+     for those systems on which `//' has special meaning.
+
+lll. Fixed a bug that caused command substitution in asynchronous commands to
+     close the wrong file descriptors.
+
+mmm. The shell no longer prints status messages about terminated background
+     processes unless job control is active.
+
+nnn. Fixed a bug that prevented multiple consecutive invocations of `history -s'
+     from adding all the commands to the history list.
+
+ooo. Added a couple of changes to make arithmetic expansion more consistent in
+     all its contexts (still not perfect).
+
+ppp. Fixed a bug that caused the parser to occasionally not find the right
+     terminating "`" in an old-style command substitution.
+
+qqq. Fixed a bug that caused core dumps when the shell was reading its non-
+     interactive input from fd 0 and fd 0 was duplicated and restored using a
+     combination of `exec' (to save) and redirection (to restore).
+
+rrr. Fixed a problem that caused loops in sourced scripts to not be cleaned
+     up properly when a `return' is executed.
+
+sss. Change internal command substitution completion function to append a slash
+     to directory names in the command.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused multiliine prompts to be wrapped and displayed
+    incorrectly.
+
+b.  Fixed a bug that caused ^P/^N in emacs mode to fail to display the current
+    line correctly.
+
+c.  Fixed a problem in computing the number of invisible characters on the first
+    line of a prompt whose length exceeds the screen width.
+
+d.  Fixed vi-mode searching so that failure preserves the current line rather
+    than the last line in the history list.
+
+e.  Fixed the vi-mode `~' command (change-case) to have the correct behavior at
+    end-of-line when manipulating multibyte characters.
+
+f.  Fixed the vi-mode `r' command (change-char) to have the correct behavior at
+    end-of-line when manipulating multibyte characters.
+
+g.  Fixed multiple bugs in the redisplay of multibyte characters:  displaying
+    prompts longer than the screen width containing multibyte characters, 
+
+h.  Fix the calculation of the number of physical characters in the prompt
+    string when it contains multibyte characters.
+
+i.  A non-zero value for the `rl_complete_suppress_append' variable now causes
+    no `/' to be appended to a directory name.
+
+j.  Fixed forward-word and backward-word to work when words contained
+    multibyte characters.
+
+k.  Fixed a bug in finding the delimiter of a `?' substring when performing
+    history expansion in a locale that supports multibyte characters.
+
+l.  Fixed a memory leak caused by not freeing the timestamp in a history entry.
+
+m.  Fixed a bug that caused "\M-x" style key bindings to not obey the setting
+    of the `convert-meta' variable.
+
+n.  Fixed saving and restoring primary prompt when prompting for incremental
+    and non-incremental searches; search prompts now display multibyte
+    characters correctly.
+
+o.  Fixed a bug that caused keys originally bound to self-insert but shadowed
+    by a multi-character key sequence to not be inserted.
+
+p.  Fixed code so rl_prep_term_function and rl_deprep_term_function aren't
+    dereferenced if NULL (matching the documentation).
+
+q.  Extensive changes to readline to add enough state so that commands
+    requiring additional characters (searches, multi-key sequences, numeric
+    arguments, commands requiring an additional specifier character like
+    vi-mode change-char, etc.) work without synchronously waiting for
+    additional input.
+
+r.  Lots of changes so readline builds and runs on MinGW.
+
+s.  Readline no longer tries to modify the terminal settings when running in
+    callback mode.
+
+t.  The Readline display code no longer sets the location of the last invisible
+    character in the prompt if the \[\] sequence is empty.
+
+3.  New Features in Bash
+
+a.  Bash now understands LC_TIME as a special variable so that time display
+    tracks the current locale.
+
+b.  BASH_ARGC, BASH_ARGV, BASH_SOURCE, and BASH_LINENO are no longer created
+    as `invisible' variables and may not be unset.
+
+c.  In POSIX mode, if `xpg_echo' option is enabled, the `echo' builtin doesn't
+    try to interpret any options at all, as POSIX requires.
+
+d.  The `bg' builtin now accepts multiple arguments, as POSIX seems to specify.
+
+e.  Fixed vi-mode word completion and glob expansion to perform tilde
+    expansion.
+
+f.  The `**' mathematic exponentiation operator is now right-associative.
+
+g.  The `ulimit' builtin has new options: -i (max number of pending signals),
+    -q (max size of POSIX message queues), and -x (max number of file locks).
+
+h.  A bare `%' once again expands to the current job when used as a job
+    specifier.
+
+i.  The `+=' assignment operator (append to the value of a string or array) is
+    now supported for assignment statements and arguments to builtin commands
+    that accept assignment statements.
+
+j.  BASH_COMMAND now preserves its value when a DEBUG trap is executed.
+
+k.  The `gnu_errfmt' option is enabled automatically if the shell is running
+    in an emacs terminal window.
+
+l.  New configuration option:  --single-help-strings.  Causes long help text
+    to be written as a single string; intended to ease translation.
+
+m.  The COMP_WORDBREAKS variable now causes the list of word break characters
+    to be emptied when the variable is unset.
+
+n.  An unquoted expansion of $* when $IFS is empty now causes the positional
+    parameters to be concatenated if the expansion doesn't undergo word
+    splitting.
+
+o.  Bash now inherits $_ from the environment if it appears there at startup.
+
+p.  New shell option: nocasematch.  If non-zero, shell pattern matching ignores
+    case when used by `case' and `[[' commands.
+
+q.  The `printf' builtin takes a new option: -v var.  That causes the output
+    to be placed into var instead of on stdout.
+
+r.  By default, the shell no longer reports processes dying from SIGPIPE.
+
+s.  Bash now sets the extern variable `environ' to the export environment it
+    creates, so C library functions that call getenv() (and can't use the
+    shell-provided replacement) get current values of environment variables.
+
+4.  New Features in Readline
+
+a.  The key sequence sent by the keypad `delete' key is now automatically
+    bound to delete-char.
+
+b.  A negative argument to menu-complete now cycles backward through the
+    completion list.
+
+c.  A new bindable readline variable:  bind-tty-special-chars.  If non-zero,
+    readline will bind the terminal special characters to their readline
+    equivalents when it's called (on by default).
+
+d.  New bindable command: vi-rubout.  Saves deleted text for possible
+    reinsertion, as with any vi-mode `text modification' command; `X' is bound
+    to this in vi command mode.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-release,
+and the previous version, bash-3.0-rc1.
+
+1.  Changes to Bash
+
+a.  Fixed a boundary overrun that could cause segmentation faults when the
+    completion code hands an incomplete construct to the word expansion
+    functions.
+
+b.  Changed posix mode behavior so that an error in a variable assignment
+    preceding a special builtin causes a non-interactive shell to exit.
+
+c.  Change the directory expansion portion of the completion code to not
+    expand embedded command substitutions if the directory name appears in
+    the file system.
+
+d.  Fixed a problem that caused `bash -r' to turn on restrictions before
+    reading the startup files.
+
+e.  Fixed a problem with the default operation of the `umask' builtin.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with readline saving the contents of the current line
+    before beginning a non-interactive search.
+
+b.  Fixed a problem with EOF detection when using rl_event_hook.
+
+c.  Fixed a problem with the vi mode `p' and `P' commands ignoring numeric
+    arguments.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-rc1,
+and the previous version, bash-3.0-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that caused incorrect behavior when referecing element 0 of
+    an array using $array, element 0 was unset, and `set -u' was enabled.
+
+b.  System-specific changes for: SCO Unix 3.2, Tandem.
+
+c.  Fixed a bug that caused inappropriate word splitting when a variable was
+    expanded within a double-quoted string that also included $@.
+
+d.  Fixed a bug that caused `pwd' to not display anything in physical mode
+    when the file system had changed underneath the shell.
+
+e.  Fixed a bug in the pre- and post- increment and decrement parsing in the
+    expression evaluator that caused errors when the operands and corresponding
+    operators were separated by whitespace.
+
+f.  Fixed a bug that caused `history -p' to add an entry to the history list,
+    counter to the documentation.  (Keeps the history expansions invoked by
+    emacs-mode command line editing from doing that as well.)
+
+g.  Fixed a bug that could cause a core dump if `cd' is asked to print out a
+    pathname longer than PATH_MAX characters.
+
+h.  Fixed a bug that caused jobs to be put into the wrong process group under
+    some circumstances after enabling job control with `set -m'.
+
+i.  `unalias' now  returns failure if no alias name arguments are supplied.
+
+j.  Documented the characters not allowed to appear in an alias name.
+
+k.  $* is no longer expanded as if in double quotes when it appears in the
+    body of a here document, as the SUS seems to require.
+
+l.  The `bashbug' script now uses a directory in $TMPDIR for exclusive
+    access rather than trying to guess how the underlying OS provides for
+    secure temporary file creation.
+
+m.  Fixed a few problems with `cd' and `pwd' when asked to operate on pathnames
+    longer than PATH_MAX characters.
+
+n.  Fixed a memory leak caused when creating multiple local array variables
+    with identical names.
+
+o.  Fixed a problem with calls to getcwd() so that bash now operates better
+    when the full pathname to the current directory is longer than PATH_MAX
+    bytes.
+
+p.  The `trap' builtin now reports an error if a single non-signal argument
+    is specified.
+
+q.  Fixed a bug that caused `umask' to not work correctly when presented
+    with a mask of all 0s.
+
+r.  When `getopts' reaches the end of options, OPTARG is unset, as POSIX
+    appears to specify.
+
+s.  Interactive mode now depends on whether or not stdin and stderr are
+    connected to a tty; formerly it  was stdin and stdout.  POSIX requires
+    this.
+
+t.  Fixed vi-mode completion to work more as POSIX specifies (e.g., doing the
+    right kind of filename generation).
+
+2.  Changes to Readline
+
+a.  Fixed a problem that could cause readline to refer to freed memory when
+    moving between history lines while doing searches.
+
+b.  Improvements to the code that expands and displays prompt strings
+    containing multibyte characters.
+
+c.  Fixed a problem with vi-mode not correctly remembering the numeric argument
+    to the last `c'hange command for later use with `.'.
+
+d.  Fixed a bug in vi-mode that caused multi-digit count arguments to work
+    incorrectly.
+
+e.  Fixed a problem in vi-mode that caused the last text modification command
+    to not be remembered across different command lines.
+
+f.  Fixed problems with changing characters and changing case at the end of
+    the line.
+
+3.  New Features in Bash
+
+a.  The `jobs', `kill', and `wait' builtins now accept job control notation
+    even if job control is not enabled.
+
+b.  The historical behavior of `trap' that allows a missing `action' argument
+    to cause each specified signal's handling to be reset to its default is
+    now only supported when `trap' is given a single non-option argument.
+
+4.  New Features in Readline
+
+a.  When listing completions, directories have a `/' appended if the
+    `mark-directories' option has been enabled.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-beta1,
+and the previous version, bash-3.0-alpha.
+
+1.  Changes to Bash
+
+a.  Fixes to build correctly when arrays are not compiled into the shell.
+
+b.  Fixed command substitution to run any exit trap defined in the command
+    substitution before returning; the exit trap is not inherited from the
+    calling shell.
+
+c.  Fixes to process group synchronization code so that every child process
+    attempts to set the terminal's process group; fixes some synchronization
+    problems on Linux kernels that schedule the child to always run before
+    the parent.
+
+d.  Fixed processing of octal and hex constants in printf builtin for POSIX.2
+    compliance.
+
+e.  Fixed a couple of core dumps in the pattern removal code.
+
+f.  Fixes to the array subrange extraction code to deal better with sparse
+    arrays.
+
+g.  Parser errors and other errors that result in the shell exiting now cause
+    the exit trap to be run.
+
+h.  Change the command substitution completion functions to not append any
+    closing quote, because it would be inserted a closing "`" or ")".
+
+i.  Fix history initialization so assignments to $histchars made in startup
+    files are honored.
+
+j.  If an exit trap does not contain a call to `exit', the shell now uses
+    the exit status of the last command executed before the trap as the exit
+    status of the shell.
+
+k.  The parser now prompts with $PS2 if it reads a newline while parsing a
+    compound array assignment statement.
+
+l.  When performing a compound array assignment, the parser doesn't treat
+    words of the form [index]=value as assignments if they're the result of
+    expansions.
+
+m.  Fixed a bug that caused `return' executed in a trap command to make the
+    shell think it was still running the trap.
+
+n.  Fixed the value of errno set by the pathname canonicalization functions.
+
+o.  Changed the grammar so that `time' alone on a line times a null command
+    rather than being a syntax error.
+
+p.  The pattern substitution code no longer performs quote removal on the
+    pattern before trying to match it, as the pattern removal functions do.
+
+q.  Fixed a bug that could cause core dumps when checking whether a quoted
+    command name was being completed.
+
+r.  Fixes to the pattern removal and pattern replacement expansions to deal
+    with multibyte characters better (and faster).
+
+s.  Fix to the substring expansion (${param:off[:len]}) to deal with (possibly
+    multibyte) characters instead of raw bytes.
+
+t.  Fixed a bug that caused some key bindings set in an inputrc to be ignored
+    at shell startup.
+
+u.  Fixed a bug that caused unsetting a local variable within a function to
+    not work correctly.
+
+v.  Fixed a bug that caused invalid variables to be created when using
+    `read -a'.
+
+w.  Fixed a bug that caused "$@" to expand incorrectly when used as the right
+    hand side of a parameter expansion such as ${word:="$@"} if the first
+    character of $IFS was not a space.
+
+x.  Fixed a slight cosmetic problem when printing commands containing a
+    `>&word' redirection.
+
+y.  Fixed a problem that could cause here documents to not be created correctly
+    if the system temporary directory did not allow writing.
+
+2.  Changes to Readline
+
+a.  Change to history expansion functions to treat `^' as equivalent to word
+    one, as the documention states.
+
+b.  Some changes to the display code to improve display and redisplay of
+    multibyte characters.
+
+c.  Changes to speed up the multibyte character redisplay code.
+
+d.  Fixed a bug in the vi-mode `E' command that caused it to skip over the
+    last character of a word if invoked while point was on the word's
+    next-to-last character.
+
+e.  Fixed a bug that could cause incorrect filename quoting when
+    case-insensitive completion was enabled and the word being completed
+    contained backslashes quoting word break characters.
+
+f.  Fixed a bug in redisplay triggered when the prompt string contains
+    invisible characters.
+
+g.  Fixed some display (and other) bugs encountered in multibyte locales
+    when a non-ascii character was the last character on a line.
+
+h.  Fixed some display bugs caused by multibyte characters in prompt strings.
+
+i.  Fixed a problem with history expansion caused by non-whitespace characters
+    used as history word delimiters.
+
+3.  New Features in Bash
+
+a.  printf builtin understands two new escape sequences:  \" and \?.
+
+b.  `echo -e' understands two new escape sequences:  \" and \?.
+
+c.  The GNU `gettext' package and libintl have been integrated; the shell's
+    messages can be translated into different languages.
+
+d.  The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'.
+
+e.  The error message printed when bash cannot open a shell script supplied
+    as argument 1 now includes the name of the shell, to better identify
+    the error as coming from bash.
+
+4.  New Features in Readline
+
+a.  New application variable, rl_completion_quote_character, set to any
+    quote character readline finds before it calls the application completion
+    function.
+
+b.  New application variable, rl_completion_suppress_quote, settable by an
+    application completion function.  If set to non-zero, readline does not
+    attempt to append a closing quote to a completed word.
+
+c.  New application variable, rl_completion_found_quote, set to a non-zero
+    value if readline determines that the word to be completed is quoted.
+    Set before readline calls any application completion function.
+
+d.  New function hook, rl_completion_word_break_hook, called when readline
+    needs to break a line into words when completion is attempted.  Allows
+    the word break characters to vary based on position in the line.
+
+e.  New bindable command: unix-filename-rubout.  Does the same thing as
+    unix-word-rubout, but adds `/' to the set of word delimiters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-3.0-alpha,
+and the previous version, bash-2.05b-release.
+
+1.  Changes to Bash
+
+a.  Fixes so that the shell will compile without some of the default options
+    defined.
+
+b.  Fixed an error message that did not pass enough arguments to printf.
+
+c.  Fixed a bug that caused input redirection to a builtin inside a script
+    being read from standard input to result in the rest of the already-
+    read and buffered script to be discarded.
+
+d.  Fixed a bug that caused subshell initialization to close the file
+    descriptor from which the shell was reading a script under certain
+    circumstances.
+
+e.  Fixed a bug that caused the shell to not advance a string pointer over
+    a null wide character when doing string operations.
+
+f.  Fixed the internal logout code so that shells that time out waiting for
+    input (using $TMOUT) run ~/.bash_logout.
+
+g.  Portability and configuration changes for: cygwin, HP/UX, GNU/FreeBSD.
+
+h.  The parser no longer adds implicit double quotes to ((...)) arithmetic
+    commands.
+
+i.  The ((...)) arithmetic command evaluation code was fixed to not dump core
+    when the expanded string is null.
+
+j.  The ((...)) arithmetic command evaluation code was fixed to not perform
+    variable assignments while expanding the expression.
+
+k.  Fixed a bug that caused word splitting to be performed incorrectly when
+    IFS is set, but null.
+
+l.  Fixed a bug in brace expansion that caused a quoted `$' preceding an
+    open brace to inhibit brace expansion.
+
+m.  Fixed a bug that caused a leading `-' in the shell's name to cause it to
+    not be recognized as a restricted shell.
+
+n.  Fixed a bug in the arithmetic evaluation code that could cause longjmps
+    to an invalid location and result in a core dump.
+
+o.  Fixed a bug in the calculation of how many history lines are new in a
+    single shell session when reading new history lines from a file with
+    `history -n'.
+
+p.  Fixed a bug in pathname canonicalization that caused the shell to dump
+    core when presented with a pathname longer than PATH_MAX.
+
+q.  Fixed the parser so that it doesn't try to compare a char variable to
+    EOF, which fails when chars are unsigned.
+
+r.  Fixed a bug in the simple command execution code that caused occasional
+    core dumps.
+
+s.  The shell does a better job of saving any partial parsing state during
+    operations which cause a command to be executed while a line is being
+    entered and parsed.
+
+t.  The completion code now splits words more like the expansion code when
+    $IFS is used to split.
+
+u.  The locale code does a better job of recomputing the various locale
+    variable values when LC_ALL is unset.
+
+v.  The programmable completion code does a better job of dequoting expanded
+    word lists before comparing them against the word to be matched.
+
+w.  The shell no longer seg faults if the expanded value of $PS4 is null
+    and `set -x' is enabled.
+
+x.  Fixed a bug that caused core dumps when a here string expanded to NULL.
+
+y.  The mail checking code now makes sure the mailbox is bigger before
+    reporting the existence of new mail.
+
+z.  The parser does not try to expand $'...' and $"..." when the appear
+    within double quotes unless the `extquote' option has been enabled with
+    `shopt'.  For backwards compatibility, it is enabled by default.
+
+aa. Fixed a bug that caused `for x; do ...' and `select x; do ... to use
+    $@ instead of "$@" for the implicit list of arguments.
+
+bb. Fixed a bug that caused a subshell of a restricted shell (e.g., one
+    spawned to execute a pipeline) to not exit immediately if attempting
+    to use a command containing a slash.
+
+cc. Fixed a problem with empty replacements for a pattern that doesn't match
+    when performing ${param/word/} expansion.
+
+dd. Word expansions performed while expanding redirections no longer search
+    a command's temporary environment to expand variable values.
+
+ee. Improvements to the alias expansion code when expanding subsequent words
+    because an aliase's value ends with a space.
+
+ff. `cd -' now prints the current working directory after a successful chdir
+    even when the shell is not interactive, as the standard requires.
+
+gg. The shell does a better job of ensuring a child process dies of SIGINT
+    before resending SIGINT to itself.
+
+hh. The arithmetic expansion variable assignment code now does the right
+    thing when assigning to `special' variables like OPTIND.
+
+ii. When history expansion verification is enabled, the bash readline helper
+    functions that do history expansion on the current line don't print
+    the results.
+
+jj. Fixed bugs with multiple consecutive alias expansion when one of the
+    expansions ends with a space.
+
+kk. Fixed a problem in the programmable completion code that could cause core
+    dumps when trying to initialize a set of possible completions from a
+    list of variables.
+
+ll. The \[ and \] escape characters are now ignored when decoding the prompt
+    string if the shell is started with editing disabled.
+
+mm. Fixed a bug that could leave extra characters in a string when doing
+    quoted null character removal.
+
+nn. Command substitution and other subshell operations no longer reset the
+    line number (aids the bash debugger).
+
+oo. Better line number management when executing simple commands, conditional
+    commands, for commands, and select commands.
+
+pp. The globbing code now uses malloc, with its better failure properties,
+    rather than alloca().
+
+qq. Fixed a bug that caused expansions like #{a[2]:=value} to create the
+    appropriate array element instead of a variable named `a[2]'.
+
+rr. Fixed a bug in the handling of a `?(...)' pattern immediately following
+    a `*' when extglob is enabled.
+
+ss. Fixed a bug that caused a `return' invoked in an exit trap when exit is
+    invoked in a function to misbehave.
+
+tt. Fixed a bug that caused CTLESC and CTLNUL characters to not be escaped
+    by the internal shell string quoting functions.
+
+uu. Fixed a bug that caused quoted null characters in an expanded word list
+    to be inappropriately assigned to an array variable when using `read -a'.
+
+vv. Fixed a bug that caused redirections accompanying a null command to persist
+    in the current shell.
+
+ww. Fixed a bug that caused the prompt to be printed when the shell was
+    expanding a multiline alias.
+
+xx. Fixed a bug that resulted in core dumps when the completion for a command
+    changed the compspec.
+
+yy. Fixed a bug that caused evaluation of programmable completions to print
+    notifications of completed jobs.
+
+zz. Bash now disables line editing when $EMACS == `t' and $TERM == `dumb'
+    (which is what emacs shell windows do).
+
+aaa. In posix mode, `kill -l' causes signal names to be displayed without
+     a leading `SIG'.
+
+bbb. Clear error flag on standard output so it doesn't persist across multiple
+     builtin commands.
+
+ccc. In posix mode, `alias' displays alias values without the leading `alias',
+     so the output cannot be used as subsequent input.
+
+ddd. In posix mode, the `trap' builtin doesn't check whether or not its
+     first argument is a signal specification and revert the signal handling
+     to its original disposition if it is.
+
+eee. Fixed several bugs in the handling of "$*" and "${array[*]}" by the
+     pattern substitution and removal expansions.
+
+fff. Fixed several problems with the handling of ${array[@]}, ${array[*]},
+     $@, and $* by the indirect variable expansion code.
+
+ggg. Fixed a bug that did not allow `time' to be aliased.
+
+hhh. Improved the mail checking code so it won't check (and possibly cause an
+     NFS file system mount) until MAILPATH or MAIL is given a value -- there
+     is no default if DEFAULT_MAIL_DIRECTORY is not defined at compile time.
+     (It is computed by configure, but can be #undef'd in config-bot.h.)
+
+iii. If the `chkwinsize' option is enabled, the shell checks for window size
+     changes if a child process exits due to a signal.
+
+jjj. Removed the attempts to avoid adding a slash at the end of a completed
+     executable name if there was a directory with the same name in the
+     current directory.
+
+kkk. Fixed PATH lookup code so it treats the permission bits separately for
+     owner, group, and other, rather than checking them all.
+
+lll. Fixed the locale code to reset the parser's idea of the character class
+     <blank>, which controls how it splits tokens, when the locale changes.
+
+mmm. The shell now binds its special readline functions and key bindings only
+     if the user's inputrc file has not already bound them.
+
+nnn. The shell now reports on processes that dump core due to signals when
+     invoked as `-c command'.
+
+2.  Changes to Readline
+
+a.  Fixes to avoid core dumps because of null pointer references in the
+    multibyte character code.
+
+b.  Fix to avoid infinite recursion caused by certain key combinations.
+
+c.  Fixed a bug that caused the vi-mode `last command' to be set incorrectly.
+
+d.  Readline no longer tries to read ahead more than one line of input, even
+    when more is available.
+
+e.  Fixed the code that adjusts the point to not mishandle null wide
+    characters.
+
+f.  Fixed a bug in the history expansion `g' modifier that caused it to skip
+    every other match.
+
+g.  Fixed a bug that caused the prompt to overwrite previous output when the
+    output doesn't contain a newline and the locale supports multibyte
+    characters.  This same change fixes the problem of readline redisplay
+    slowing down dramatically as the line gets longer in multibyte locales.
+
+h.  History traversal with arrow keys in vi insertion mode causes the cursor
+    to be placed at the end of the new line, like in emacs mode.
+
+i.  The locale initialization code does a better job of using the right
+    precedence and defaulting when checking the appropriate environment
+    variables.
+
+j.  Fixed the history word tokenizer to handle <( and >( better when used as
+    part of bash.
+
+k.  The overwrite mode code received several bug fixes to improve undo.
+
+l.  Many speedups to the multibyte character redisplay code.
+
+m.  The callback character reading interface should not hang waiting to read
+    keyboard input.
+
+n.  Fixed a bug with redoing vi-mode `s' command.
+
+o.  The code that initializes the terminal tracks changes made to the terminal
+    special characters with stty(1) (or equivalent), so that these changes
+    are reflected in the readline bindings.  New application-callable function
+    to make it work:  rl_tty_unset_default_bindings().
+
+p.  Fixed a bug that could cause garbage to be inserted in the buffer when
+    changing character case in vi mode when using a multibyte locale.
+
+q.  Fixed a bug in the redisplay code that caused problems on systems
+    supporting multibyte characters when moving between history lines when the
+    new line has more glyphs but fewer bytes.
+
+r.  Undo and redo now work better after exiting vi insertion mode.
+
+s.  Make sure system calls are restarted after a SIGWINCH is received using
+    SA_RESTART.
+
+t.  Improvements to the code that displays possible completions when using
+    multibyte characters.
+
+u.  Fixed a problem when parsing nested if statements in inputrc files.
+
+v.  The completer now takes multibyte characters into account when looking for
+    quoted substrings on which to perform completion.
+
+w.  The history search functions now perform better bounds checking on the
+    history list.
+
+3.  New Features in Bash
+
+a.  ANSI string expansion now implements the \x{hexdigits} escape.
+
+b.  There is a new loadable `strftime' builtin.
+
+c.  New variable, COMP_WORDBREAKS, which controls the readline completer's
+    idea of word break characters.
+
+d.  The `type' builtin no longer reports on aliases unless alias expansion
+    will actually be performed.    
+
+e.  HISTCONTROL is now a colon-separated list of values, which permits
+    more extensibility and backwards compatibility.
+
+f.  HISTCONTROL may now include the `erasedups' option, which causes all lines
+    matching a line being added to be removed from the history list.
+
+g.  `configure' has a new `--enable-multibyte' argument that permits multibyte
+    character support to be disabled even on systems that support it.
+
+h.  New variables to support the bash debugger:  BASH_ARGC, BASH_ARGV,
+    BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING,
+    BASH_COMMAND
+
+i.  FUNCNAME has been changed to support the debugger: it's now an array
+    variable.
+
+j.  for, case, select, arithmetic commands now keep line number information
+    for the debugger.
+
+k.  There is a new `RETURN' trap executed when a function or sourced script
+    returns (not inherited child processes; inherited by command substitution
+    if function tracing is enabled and the debugger is active).
+
+l.  New invocation option:  --debugger.  Enables debugging and turns on new
+    `extdebug' shell option.
+
+m.  New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR
+    traps, respectively, to be inherited by shell functions.  Equivalent to
+    `set -T' and `set -E' respectively.  The `functrace' option also controls
+    whether or not the DEBUG trap is inherited by sourced scripts.
+
+n.  The DEBUG trap is run before binding the variable and running the action
+    list in a `for' command, binding the selection variable and running the
+    query in a `select' command, and before attempting a match in a `case'
+    command.
+
+o.  New `--enable-debugger' option to `configure' to compile in the debugger
+    support code.
+
+p.  `declare -F' now prints out extra line number and source file information
+    if the `extdebug' option is set.
+
+q.  If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes
+    the next command to be skipped, and a return value of 2 while in a
+    function or sourced script forces a `return'.
+
+r.  New `caller' builtin to provide a call stack for the bash debugger.
+
+s.  The DEBUG trap is run just before the first command in a function body is
+    executed, for the debugger.
+
+t.  `for', `select', and `case' command heads are printed when `set -x' is
+    enabled.
+
+u.  There is a new {x..y} brace expansion, which is shorthand for {x.x+1,
+    x+2,...,y}.  x and y can be integers or single characters; the sequence
+    may ascend or descend; the increment is always 1.
+
+v.  New ksh93-like ${!array[@]} expansion, expands to all the keys (indices)
+    of array.
+
+w.  New `force_fignore' shopt option; if enabled, suffixes specified by
+    FIGNORE cause words to be ignored when performing word completion even
+    if they're the only possibilities.
+
+x.  New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu
+    style' (filename:lineno:message) format.
+
+y.  New `-o bashdefault' option to complete and compgen; if set, causes the
+    whole set of bash completions to be performed if the compspec doesn't
+    result in a match.
+
+z.  New `-o plusdirs' option to complete and compgen; if set, causes directory
+    name completion to be performed and the results added to the rest of the
+    possible completions.
+
+aa. `kill' is available as a builtin even when the shell is built without
+    job control.
+
+bb. New HISTTIMEFORMAT variable; value is a format string to pass to
+    strftime(3).  If set and not null, the `history' builtin prints out
+    timestamp information according to the specified format when displaying
+    history entries.  If set, bash tells the history library to write out
+    timestamp information when the history file is written.
+
+cc. The [[ ... ]] command has a new binary `=~' operator that performs
+    extended regular expression (egrep-like) matching.
+
+dd. `configure' has a new `--enable-cond-regexp' option (enabled by default)
+    to enable the =~ operator and regexp matching in [[ ... ]].
+
+ee. Subexpressions matched by the =~ operator are placed in the new
+    BASH_REMATCH array variable.
+
+ff. New `failglob' option that causes an expansion error when pathname
+    expansion fails to produce a match.
+
+gg. New `set -o pipefail' option that causes a pipeline to return a failure
+    status if any of the processes in the pipeline fail, not just the last
+    one.
+
+4.  New Features in Readline
+
+a.  History expansion has a new `a' modifier equivalent to the `g' modifier
+    for compatibility with the BSD csh.
+
+b.  History expansion has a new `G' modifier equivalent to the BSD csh `g'
+    modifier, which performs a substitution once per word.
+
+c.  All non-incremental search operations may now undo the operation of
+    replacing the current line with the history line.
+
+d.  The text inserted by an `a' command in vi mode can be reinserted with
+    `.'.
+
+e.  New bindable variable, `show-all-if-unmodified'.  If set, the readline
+    completer will list possible completions immediately if there is more
+    than one completion and partial completion cannot be performed.
+
+f.  There is a new application-callable `free_history_entry()' function.
+
+g.  History list entries now contain timestamp information; the history file
+    functions know how to read and write timestamp information associated
+    with each entry.
+
+h.  Four new key binding functions have been added:
+
+       rl_bind_key_if_unbound()
+       rl_bind_key_if_unbound_in_map()
+       rl_bind_keyseq_if_unbound()
+       rl_bind_keyseq_if_unbound_in_map()
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-release,
+and the previous version, bash-2.05b-beta2.
+
+1.  Changes to Bash
+
+a.  Fixed an off-by-one error in the function that translates job
+    specifications.
+
+b.  Note that we're running under Emacs and disable line editing if
+    $EMACS == `t'.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-beta2,
+and the previous version, bash-2.05b-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed the /= and %= arithmetic operators to catch division by zero.
+
+b.  Added putenv, setenv, unsetenv to getenv replacement for completeness.
+
+c.  Fixed a bug that could cause the -O expand_aliases invocation option
+    to not take effect.
+
+d.  Fixed a problem with process substitution that resulted in incorrect
+    behavior when the number of process substitutions in an individual
+    command approached 64.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with backward-char-search when on a system with support
+    for multibyte characters when running in a locale without any multibyte
+    characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-beta1,
+and the previous version, bash-2.05b-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a problem when parsing a POSIX.2 character class name while
+    evaluating a bracket expression containing multibyte characters.
+
+b.  Changed the help text for `bind' to make it clear that any command
+    that may be placed in ~/.inputrc is a valid argument to `bind'.
+
+c.  Added `help' builtin entries for `((', `[[', and arithmetic for.
+
+d.  malloc updated again:
+       o slightly better overflow and underflow detection by putting the
+         chunk size at the beginning and end of the chunk and making
+         sure they match in free/realloc
+       o partial page allocated to make things page-aligned no longer
+         completely wasted
+       o block coalescing now enabled by default
+       o splitting and coalescing enabled for 32-byte chunks, the most
+         common size requested
+       o fixed a problem that resulted in spurious underflow messages and
+         aborts
+       o bin sizes are precomputed and stored in an array rather than
+         being computed at run time
+       o malloc will return memory blocks back to the system if the block
+         being freed is at the top of the heap and of sufficient size to
+         make it worthwhile
+       o malloc/free/realloc now inline memset instead of calling the
+         libc function; uses Duff's device for good performance
+
+e.  Check for getservent(); make the service name completion code dependent
+    on its presence.
+
+f.  Changed the readline callback that executes a command bound to a key
+    sequence to not save the executed command on the history list and to
+    save and restore the parsing state.
+
+g.  Changes to lib/sh/snprintf.c:  fixed some bugs in the `g' and `G'
+    floating point format display; implemented the "'" flag character
+    that turns on thousands' grouping; fixed behavior on systems where
+    MB_CUR_MAX does not evaluate to a constant.
+
+h.  The `unset' builtin no longer returns a failure status when asked to
+    unset a previously-unset variable or function.
+
+i.  Changes to the build system to make it easier to cross-compile bash
+    for different systems.
+
+j.  Added `,' to  the characters that are backslash-escaped during filename
+    completion, to avoid problems with complete-into-braces and RCS filenames
+    containing commas.
+
+k.  Some changes to the multibyte character support code to avoid many calls
+    to strlen().
+
+l.  Bash now correctly honors setting LANG to some value when LC_ALL does not
+    already have a value.
+
+m.  Fixed a bug that could cause SIGSEGV when processing nested traps with
+    trap handlers.
+
+n.  The `source/.' builtin now restores the positional parameters when it
+    returns unless they were changed using the `set' builtin during the file's
+    execution.
+
+o.  Fixed a bug that caused a syntax error when a command was terminated by
+    EOF.
+
+2.  New Features in Bash
+
+a.  There is now support for placing the long help text into separate files
+    installed into ${datadir}/bash.  Not enabled by default; can be turned
+    on with `--enable-separate-helpfiles' option to configure.
+
+b.  All builtins that take operands accept a `--' pseudo-option, except
+    `echo'.
+
+c.  The `echo' builtin now accepts \0xxx (zero to three octal digits following
+    the `0') in addition to \xxx (one to three octal digits) for SUSv3/XPG6/
+    POSIX.1-2001 compliance.
+
+3.  Changes to Readline
+
+a.  Fixed a small problem in _rl_insert_char with multibyte characters.
+
+b.  Fixes from IBM for line wrapping problems when using multibyte characters.
+
+c.  Fixed a problem which caused the display to be messed up when the last
+    line of a multi-line prompt (possibly containing invisible characters)
+    was longer than the screen width.
+
+d.  Fixed a problem with the vi-mode `r' command that ocurred on systems with
+    support for multibyte characters when running in a locale without any
+    multibyte characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05b-alpha1,
+and the previous version, bash-2.05a-release.
+
+1.  Changes to Bash
+
+a.  Some changes to work around inlining differences between compilers.
+
+b.  Added more prototypes for internal shell typedefs, to catch argument
+    passing errors when using pointers to functions.
+
+c.  The `cd' builtin now fails in posix mode when a valid directory cannot be
+    constructed from a relative pathname argument and the $PWD using pathname
+    canonicalization, and the -P option has not been supplied.  Previously,
+    the shell would attempt to use what the user typed, leading to weird
+    values for $PWD and discrepancies between the value of $PWD and the
+    actual working directory.
+
+d.  The `cd' builtin now resets $PWD when canonicalization fails but a chdir
+    to the pathname passed as an argument succeeds (when not in posix mode).
+
+e.  The `fc' builtin has been fixed, as POSIX requires, to use the closest
+    history position in range when given an out-of-range argument.
+
+f.  The history file loading code was changed to allow lines to be saved in
+    the history list from the shell startup files.
+
+g.  `history -s args' now works better in compound commands.
+
+h.  The tilde expansion code was fixed to better recognize when it's being
+    invoked in an assignment context, which enables expansion after `='
+    and `:'.
+
+i.  Fixed the command name completion code so a slash is no longer appended
+    to a single match if there happens to be a directory with that name in
+    $PWD.
+
+j.  Fixed compound array assignment to no longer perform alias expansion, to
+    allow reserved words as array members, and to not produce extra output
+    when the `-v' option had been enabled.
+
+k.  Fixed the programmable completion code to better handle newlines in lists
+    of possible completions (e.g., `complete -W').
+
+l.  Removed the reserved words from the `bash-builtins' manual page.
+
+m.  Parser error reporting now attempts to do a better job of identifying the
+    token in error rather than doing straight textual analysis.
+
+n.  Fixes for Inf/NaN, locales, wide/multibyte characters and zero-length
+    arguments in the library snprintf(3) replacement.
+
+o.  `read -e' no longer does command name completion on the first word on
+    the line being read.
+
+p.  `select' now returns failure if the read of the user's selection fails.
+
+q.  Fixed a bug that could cause a core dump when setting $PIPESTATUS.
+
+r.  Fixes to not allocate so many job slots when the shell is running a loop
+    with job control enabled in a subshell of an interactive shell.
+
+s.  Fixed a bug in the trap code that caused traps to be inherited by
+    command substitutions in some cases.
+
+t.  Fixed a bug that could cause alias expansion to inappropriately expand
+    the word following the alias.
+
+u.  Fixed a bug in the `kill' builtin that mishandled negative pid arguments.
+
+v.  The parser is less lenient when parsing assignment statements where the
+    characters before the `=' don't comprise a valid identifier.
+
+w.  The arithmetic expression evaluation code now honors the setting of the
+    `-u' option when expanding variable names.
+
+x.  Fixed the arithmetic evaluation code to allow array subscripts to be
+    assigned (`let b[7]=42') and auto-incremented and auto-decremented
+    (e.g., b[7]++).
+
+y.  Reimplemented the existing prompt string date and time expansions using
+    strftime(3), which changed the output of \@ in some locales.
+
+z.  Fixed a bug that could cause a core dump when a special shell variable
+    (like RANDOM) was converted to an array with a variable assignment.
+
+aa. Fixed a bug that would reset the handler for a signal the user had
+    trapped to a function that would exit the shell when setting the exit
+    trap in a non-interactive shell.
+
+bb. Changed the execve(2) wrapper code to check whether or not a failing
+    command is a directory before looking at whether a `#!' interpreter
+    failed for some reason.
+
+cc. Fixed a bug in the command printing code so it no longer inserts a `;'
+    after a newline, which produces a syntax error when reused as input.
+
+dd. The code that expands $PS4 no longer inherits the `-x' flag.
+
+ee. The bash-specific completion functions may now take advantage of the
+    double-TAB and M-?  features of the standard readline completion
+    functions.
+
+ff. The mail checking code no longer prints a message if the checked file's
+    size has not increased, even if the access time is less than the modification time.
+
+gg. Rewrote the variable symbol table code: there is now a stack of
+    contexts, each possibly including a separate symbol table; there can
+    be more than one temporary environment supplied to nested invocations
+    of `./source'; the temporary environments no longer require so much
+    special-case code; shell functions now handle the temporary environment
+    and local variables more consistently; function scope exit is faster now
+    that the entire symbol table does not have to be traversed to dispose of
+    local variables; it is now easier to push vars from the temporary
+    environment to the shell's variable table in posix mode; some duplicated
+    code has been removed.
+
+hh. Regularized the error message printing code; builtin_error is now called
+    more consistently, and common error message strings are handled by small
+    functions.  This should make eventual message translation easier.
+
+ii. Error messages now include the line number in a script when the shell
+    is not interactive.
+
+jj. Array subscript expansion now takes place even when the array variable is
+    unset, so side effects will take place.
+
+kk. Fixed a bug in the SICGHLD child-reaping code so that it won't find
+    jobs already marked as terminated if the OS reuses pids quickly enough.
+
+ll. Fixed a bug that could cause a signal to not interrupt the `wait'
+    builtin while it was waiting for a background process to terminate.
+
+mm. A couple of changes to make it easier for multiple shells to share history
+    files using `history -n', `history -r', and `history -w'.
+
+nn. The `getopts' builtin always increments OPTIND to point to the next
+    option to be handled when an option is returned, whether it's valid
+    or not, as POSIX 1003.x-2001 requires.
+
+oo. Changed some parts of the expansion code to avoid allocating and
+    immediately freeing memory without using the results for anything.
+
+pp. The shell now keeps track of $IFS internally, updating its internal map
+    each time the variable is assigned a new value (or at local scope exit).
+    This saves thousands of hash lookups for IFS, which, while individually
+    cheap, add up.
+
+qq. Rewrote the hash table code:  searching and insertion are much faster now,
+    and it uses a better string hashing function; augmented the function
+    interface to simplify other parts of the code and remove duplicated code
+
+rr. The shell now uses a simple, generic `object cache' for allocating and
+    caching words and word lists, which were the major users of
+    malloc/free.
+
+ss. Fixed the assignment statement parsing code to allow whitespace and
+    newlines in subscripts when performing array element assignment.
+
+tt. The shell now issues many fewer calls to sigprocmask and other signal
+    masking system calls.
+
+uu. Fixed the `test' and conditional command file comparison operators to
+    work right when one file has a non-positive timestamp and the other
+    does not exist.
+
+vv. Fixed some cases where the special characters '\001' and '\177' in the
+    values of variables or positional parameters caused incorrect expansion
+    results.
+
+2.  Changes to Readline
+
+a.  Fixed output of comment-begin character when listing variable values.
+
+b.  Added some default key bindings for common escape sequences produced by
+    HOME and END keys.
+
+c.  Fixed the mark handling code to be more emacs-compatible.
+
+d.  A bug was fixed in the code that prints possible completions to keep it
+    from printing empty strings in certain circumstances.
+
+e.  Change the key sequence printing code to print ESC as M\- if ESC is a
+    meta-prefix character -- it's easier for users to understand than \e.
+
+f.  Fixed unstifle_history() to return values that match the documentation.
+
+g.  Fixed the event loop (rl_event_hook) to handle the case where the input
+    file descriptor is invalidated.
+
+h.  Fixed the prompt display code to work better when the application has a
+    custom redisplay function.
+
+i.  Changes to make reading and writing the history file a little faster, and
+    to cope with huge history files without calling abort(3) from xmalloc.
+
+j.  The vi-mode `S' and `s' commands are now undone correctly.
+
+3.  New Features in Bash
+
+a.  If set, TMOUT is the default timeout for the `read' builtin.
+
+b.  `type' has two new options:  `-f' suppresses shell function lookup, and
+    `-P' forces a $PATH search.
+
+c.  New code to handle multibyte characters.
+
+d.  `select' was changed to be more ksh-compatible, in that the menu is
+    reprinted each time through the loop only if REPLY is set to NULL.
+    The previous behavior is available as a compile-time option.
+
+e.  `complete -d' and `complete -o dirnames' now force a slash to be
+    appended to names which are symlinks to directories.
+
+f.  There is now a bindable edit-and-execute-command readline command,
+    like the vi-mode `v' command, bound to C-xC-e in emacs mode.
+
+g.  Added support for ksh93-like [:word:] character class in pattern matching.
+
+h.  The  $'...' quoting construct now expands \cX to Control-X.
+
+i.  A new \D{...} prompt expansion; passes the `...' to strftime and inserts
+    the result into the expanded prompt.
+
+j.  The shell now performs arithmetic in the largest integer size the
+    machine supports (intmax_t), instead of long.
+
+k.  If a numeric argument is supplied to one of the bash globbing completion
+    functions, a `*' is appended to the word before expansion is attempted.
+
+l.  The bash globbing completion functions now allow completions to be listed
+    with double tabs or if `show-all-if-ambiguous' is set.
+
+m.  New `-o nospace' option for `complete' and `compgen' builtins; suppresses
+    readline's appending a space to the completed word.
+
+n.  New `here-string' redirection operator:  <<< word.
+
+o.  When displaying variables, function attributes and definitions are shown
+    separately, allowing them to be re-used as input (attempting to re-use
+    the old output would result in syntax errors).
+
+p.  There is a new configuration option `--enable-mem-scramble', controls
+    bash malloc behavior of writing garbage characters into memory at
+    allocation and free time.
+
+q.  The `complete' and `compgen' builtins now have a new `-s/-A service'
+    option to complete on names from /etc/services.
+
+r.  `read' has a new `-u fd' option to read from a specified file descriptor.
+
+s.  Fix the completion code so that expansion errors in a directory name
+    don't cause a longjmp back to the command loop.
+
+t.  Fixed word completion inside command substitution to work a little more
+    intuitively.
+
+u.  The `printf' %q format specifier now uses $'...' quoting to print the
+    argument if it contains non-printing characters.
+
+v.  The `declare' and `typeset' builtins have a new `-t' option.  When applied
+    to functions, it causes the DEBUG trap to be inherited by the named
+    function.  Currently has no effect on variables.
+
+w.  The DEBUG trap is now run *before* simple commands, ((...)) commands,
+    [[...]] conditional commands, and for ((...)) loops.
+
+x.  The expansion of $LINENO inside a shell function is only relative to the
+    function start if the shell is interactive -- if the shell is running a
+    script, $LINENO expands to the line number in the script.  This is as
+    POSIX-2001 requires.
+
+y.  The bash debugger in examples/bashdb has been modified to work with the
+    new DEBUG trap semantics, the command set has been made more gdb-like,
+    and the changes to $LINENO make debugging functions work better.  Code
+    from Gary Vaughan.
+
+z.  New [n]<&word- and [n]>&word- redirections from ksh93 -- move fds (dup
+    and close).
+
+aa. There is a new `-l' invocation option, equivalent to `--login'.
+
+bb. The `hash' builtin has a new `-l' option to list contents in a reusable
+    format, and a `-d' option to remove a name from the hash table.
+
+4.  New Features in Readline
+
+a.  Support for key `subsequences':  allows, e.g., ESC and ESC-a to both
+    be bound to readline functions.  Now the arrow keys may be used in vi
+    insert mode.
+
+b.  When listing completions, and the number of lines displayed is more than
+    the screen length, readline uses an internal pager to display the results.
+    This is controlled by the `page-completions' variable (default on).
+
+c.  New code to handle editing and displaying multibyte characters.
+
+d.  The behavior introduced in bash-2.05a of deciding whether or not to
+    append a slash to a completed name that is a symlink to a directory has
+    been made optional, controlled by the `mark-symlinked-directories'
+    variable (default is the 2.05a behavior).
+
+e.  The `insert-comment' command now acts as a toggle if given a numeric
+    argument:  if the first characters on the line don't specify a
+    comment, insert one; if they do, delete the comment text
+
+f.  New application-settable completion variable:
+    rl_completion_mark_symlink_dirs, allows an application's completion
+    function to temporarily override the user's preference for appending
+    slashes to names which are symlinks to directories.
+
+g.  New function available to application completion functions:
+    rl_completion_mode, to tell how the completion function was invoked
+    and decide which argument to supply to rl_complete_internal (to list
+    completions, etc.).
+
+h.  Readline now has an overwrite mode, toggled by the `overwrite-mode'
+    bindable command, which could be bound to `Insert'.
+
+i.  New application-settable completion variable:
+    rl_completion_suppress_append, inhibits appending of
+    rl_completion_append_character to completed words.
+
+j.  New key bindings when reading an incremental search string:  ^W yanks
+    the currently-matched word out of the current line into the search
+    string; ^Y yanks the rest of the current line into the search string,
+    DEL or ^H deletes characters from the search string.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-release,
+and the previous version, bash-2.05a-rc1.
+
+1.  Changes to Bash
+
+a.  Fixed the `printf' builtin so that the variable name supplied as an
+    argument to a %n conversion must be a valid shell identifier.
+
+b.  Improved the random number generator slightly.
+
+c.  Changes to configuration to not put -I/usr/include into $CFLAGS, since
+    it messes up some includes.
+
+d.  Corrected description of POSIXLY_CORRECT in man page and info manual.
+
+e.  Fixed a couple of cases of incorrect function prototypes that sneaked
+    through and caused compilation problems.
+
+f.  A few changes to avoid potential core dumps in the programmable completion
+    code.
+
+g.  Fixed a configure problem that could cause a non-existent file to show
+    up in LIBOBJS.
+
+h.  Fixed a configure problem that could cause siglist.o to not be built when
+    required.
+
+i.  Changes to the strtoimax and strtoumax replacement functions to work
+    around buggy compilers.
+
+j.  Fixed a problem with the snprintf replacement function that could
+    potentially cause a core dump.
+
+2.  Changes to Readline
+
+a.  Fixed a locale-specific problem in the vi-mode `goto mark' command.
+
+b.  Fixed Makefile to not put -I/usr/include into CFLAGS, since it can cause
+    include file problems.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-rc1,
+and the previous version, bash-2.05a-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed the snprintf replacement to correctly implement the `alternate form'
+    of the %g and %G conversions.
+
+b.  Fixed snprintf to correctly handle the optional precision with the %g and
+    %G conversions.
+
+c.  Fixed the arithmetic evaluation code to correct the values of `@' and `_'
+    when translating base-64 constants (they were backwards).
+
+d.  New library functions for formatting long and long long ints.
+
+e.  Fixed a few places where negative array subscripts could have occurred,
+    mostly as the result of systems using signed characters.
+
+f.  Fixed a few places that assumed a pid_t was no wider than an int.
+
+g.  Fixed the `maildir' mail checking code to work on systems where a
+    `struct stat' doesn't include an `st_blocks' member.
+
+h.  Fixed snprintf to make `unsigned long long' conversion formats (%llu)
+    work better.
+
+i.  Fixed snprintf to not print a sign when asked to do an unsigned conversion.
+
+j.  Made configure changes to avoid compiling empty source files in lib/sh.
+
+k.  New replacement functions (if necessary) for strtoull, strtoll, strtoimax,
+    strtoumax.
+
+l.  The `printf' builtin now handles the `ll' and `j' length modifiers
+    directly, since they can affect the type and width of the argument
+    passed to printf(3).
+
+m.  Renamed a number of the bash-specific autoconf macros in aclocal.m4 to
+    have more sytematic naming, with accompanying changes to configure.in.
+
+n.  Fixed snprintf to handle long doubles and the %a/%A conversions by
+    falling back to sprintf, as long as sprintf supports them.
+
+o.  Fixed return value from vsnprintf/snprintf to be the number of characters
+    that would have been printed, even if that number exceeds the buffer
+    size passed as an argument.
+
+p.  Bash no longer attempts to define its own versions of some ctype macros
+    if they are implemented as functions in libc but not as macros in
+    <ctype.h>.
+
+q.  Changed the variable printing code (used by `set', `export', etc.) to
+    not use the $'...' syntax when in posix mode, since that caused
+    interoperability problems with other shells (most notably with autoconf).
+    When not in posix mode, it uses $'...' if the string to be printed
+    contains non-printing characters and regular single quotes otherwise.
+
+r.  snprintf now recognizes the %F conversion.
+
+s.  Fixed a bug that could cause the wrong status to be returned by a shell
+    function when the shell is compiled without job control and a null
+    command containing a command substutition was executed in the function.
+
+t.  When in posix mode, the default value for MAILCHECK is 600.
+
+u.  Bash only initializes FUNCNAME, GROUPS, and DIRSTACK as special variables
+    if they're not in the initial environment.
+
+v.  If SECONDS appears in the initial environment with a valid integer value,
+    bash uses that as the starting value, as if an assignment had been
+    performed.
+
+w.  Bash no longer auto-exports HOME, PATH, SHELL, or TERM, even though it
+    gives them default values if they don't appear in the initial environment.
+
+x.  Bash no longer auto-exports HOSTNAME, HOSTTYPE, MACHTYPE, or OSTYPE,
+    even if it assigns them default values.
+
+y.  Bash no longer removes the export attribute from SSH_CLIENT or SSH2_CLIENT
+    if they appear in the initial environment.
+
+z.  Bash no longer attempts to discover if it's being run by sshd in order to
+    run the startup files.  If the SSH_SOURCE_BASHRC is uncommented in
+    config-top.h it will attempt to do so as previously, but that's commented
+    out in the distributed version.
+
+aa. Fixed a typo in the code that tests for LC_NUMERIC.
+
+bb. The POSIXLY_CORRECT shell variable and its effects are now documented.
+
+cc. Some changes to several of the support shell scripts included in the
+    definitions to try to avoid race conditions and attacks.
+
+dd. Several changes to avoid warnings from `gcc -Wall'.
+
+ee. Fixed a problem with the `unset' builtin that could cause incorrect
+    results if asked to unset a variable and an array subscript in the
+    same command.
+
+ff. A few changes to the shell's temporary file creation code to avoid
+    potential file descriptor leaks and to prefer the system's idea of
+    the temporary directory to use.
+
+gg. Fixes to build with the C alloca in lib/malloc/alloca.c if the system
+    requires it but the shell has been configured --without-bash-malloc.
+
+hh. Updated the documentation to note that only interactive shells resend
+    SIGHUP to all jobs before exiting.
+
+ii. Fixes to only pass unquoted tilde words to tilde_expand, rather than
+    rely on tilde_expand or getpwnam(3) to handle the quotes (MacOS 10.x
+    will remove backslashes in any login name passed to getpwnam(3)).
+
+jj. Small change from Paul Eggert to make LINENO right in commands run with
+    `bash -c'.
+
+2.  New Features in Bash
+
+a.  The `printf' builtin now handles the %a and %A conversions if they're
+    implemented by printf(3).
+
+b.  The `printf' builtin now handles the %F conversion (just about like %f).
+
+c.  The `printf' builtin now handles the %n conversion like printf(3).  The
+    corresponding argument is the name of a shell variable to which the
+    value is assigned.
+
+3.  Changes to Readline
+
+a.  Fixed a few places where negative array subscripts could have occurred.
+
+b.  Fixed the vi-mode code to use a better method to determine the bounds of
+    the array used to hold the marks.
+
+c.  Fixed the defines in chardefs.h to work better when chars are signed.
+
+d.  Fixed configure.in to use the new names for bash autoconf macros.
+
+e.  Readline no longer attempts to define its own versions of some ctype
+    macros if they are implemented as functions in libc but not as macros in
+    <ctype.h>.
+
+f.  Fixed a problem where rl_backward could possibly set point to before
+    the beginning of the line.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-beta1,
+and the previous version, bash-2.05a-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the evalution of arithmetic `for' statements when the
+    expanded expression is NULL.
+
+b.  Fixed an unassigned variable problem in the redirection printing code.
+
+c.  Added more prototypes to extern function declarations in the header
+    files and to static function declarations in C source files.
+
+d.  Make sure called functions have a prototype in scope, to get the arguments
+    and return values right instead of casting.  Removed extern function
+    declarations from C source files that were already included in header
+    files.
+
+e.  Changed some function arguments to use function typedefs in general.h so
+    the prototypes can be checked.  The only use of Function and VFunction
+    now is for unwind-protects.
+
+f.  More const changes to function arguments and appropriate variables.
+
+g.  Changed the mail checking support to handle `maildir'-style mail
+    directories.
+
+h.  Augmented the bash malloc to pass in the file and line number information
+    for each malloc, realloc, and free.  This should result in better error
+    messages.
+
+i.  The `old' gnu malloc is no longer a configuration option.
+
+j.  Augmented the bash malloc with optional tracing and registering allocated
+    and freed memory.
+
+k.  Prompt string decoding now saves and restores the value of $? when it
+    expands the prompt string, so command substitutions don't change $?.
+
+i.  Array indices are now `long', since shell arithmetic is performed as long,
+    and the internal arrayind_t type is used consistently.
+
+j.  Some more `unsigned char *' fixes from Paul Eggert.
+
+k.  Fixed a bad call to builtin_error that could cause core dumps when making
+    local variables.
+
+l.  `return' may no longer be used to terminate a `select' command, for
+    compatibility with ksh.
+
+m.  Changed code that reads octal numbers to do a better job of detecting
+    overflows.
+
+n.  The time formatting code no longer uses absolute indices into a buffer,
+    because the buffer size changes depending on the size of a `time_t'.
+
+o.  `umask' now prints four digits when printing in octal mode, for
+    compatibility with other shells.
+
+p.  Lots of changes to the `printf' builtin from Paul Eggert:  it handles `L'
+    formats and long doubles better, and internal functions have been
+    simpified where appropriate.
+
+q.  Some `time_t' fixes for machines were a time_t is bigger than a long.
+
+r.  Replaced some bash-specific autoconf macros with standard equivalents.
+
+s.  Improvmed the code that constructs temporary filenames to make the
+    generated names a bit more random.
+
+t.  Added code that checks for ascii before calling any of the is* ctype
+    functions.
+
+u.  Changed some places where a `char' was used as an array subscript to use
+    `unsigned char', since a `char' can be negative if it's signed by default.
+
+v.  Lots of changes to the `ulimit' builtin from Paul Eggert to add support
+    for the new POSIX-200x RLIM_SAVED_CUR and RLIM_SAVED_MAX values and
+    simplify the code.
+
+w.  `ulimit' now prints the description of a resource in any error message
+    relating to fetching or setting that resource's limits.
+
+x.  The `snprintf' replacement now computes maximum values at compile
+    time rather than using huge constants for things like long long.
+
+y.  Interactive shells now ignore `set -n'.
+
+z.  Changed the malloc bookkeeping information so that it's now 8 bytes
+    instead of 12 on most 32-bit machines (saving 4 bytes per allocation),
+    restoring 8-byte alignment.
+
+aa. The malloc error reporting code now attempts to print the file and line
+    number of the call that caused the error.
+
+bb. Changed the redirection error reporting code to catch EBADF errors and
+    report the file descriptor number rather than the file being redirected
+    to or from (e.g., things like `exec 4242<x' where 4242 is an out-of-range
+    file descriptor).
+
+cc. `printf', `echo -e', and the $'...' code now process only two hex digits
+    after a `\x' escape sequence for compatibility with other shells, and
+    the documentation was changed to note that the octal and hex escape
+    sequences result in an eight-bit value rather than strict ASCII.
+
+2.  Changes to Readline
+
+a.  The completion code now attempts to do a better job of preserving the
+    case of the word the user typed if ignoring case in completions.
+
+b.  Readline defaults to not echoing the input and lets the terminal
+    initialization code enable echoing if there is a controlling terminal.
+
+c.  The key binding code now processes only two hex digits after a `\x'
+    escape sequence, and the documentation was changed to note that the
+    octal and hex escape sequences result in an eight-bit value rather
+    than strict ASCII.
+
+3.  New Features in Bash
+
+a.  The builtin `ulimit' now takes two new non-numeric arguments:  `hard',
+    meaning the current hard limit, and `soft', meaning the current soft
+    limit, in addition to `unlimited'
+
+b.  `ulimit' now prints the option letter associated with a particular
+    resource when printing more than one limit.
+
+c.  `ulimit' prints `hard' or `soft' when a value is not `unlimited' but is
+    one of RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively.
+
+4.  New Features in Readline
+
+a.  New bindable variable `history-preserve-point'.  If set, the history
+    code attempts to place the user at the same location on each history
+    line retrived with previous-history or next-history.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05a-alpha1,
+and the previous version, bash-2.05-release.
+
+1.  Changes to Bash
+
+a.  Better checks in the redirection code for write errors.
+
+b.  bashbug now uses $TMPDIR, defaulting to /tmp, and uses mktemp(1) more
+    portably.
+
+c.  System-specific configuration changes for:  Interix, OpenBSD, FreeBSD,
+    MacOS X.
+
+d.  Some more `const' cleanups through the code.
+
+e.  Fixed a typo in the /dev/fd redirection code, better checks for valid
+    numeric fds in /dev/fd.
+
+f.  Fixed many parts of the shell to handle integer overflow more gracefully
+    and to do more stringent checks for valid numbers.
+
+g.  Fixed mksignames to include config.h.
+
+h.  Fixed an uninitialized variable problem that could cause the shell to core
+    dump when replacing characters in a string.
+
+i.  New mechanism for updating the patch level when official patches are
+    released (patchlevel.h).
+
+j.  configure.in changed to no longer require external files _distribution and
+    _patchlevel.
+
+k.  Fixed non-interactive shell initialization problem when bash started as
+    `bash -i filename'.
+
+l.  Fixed printf builtin conversion error handling to be POSIX.2-conformant.
+
+m.  autoconf-2.52 is now used to build configure; autoconf-2.50 or newer is
+    required.  Some of the bash-specific macros were removed, since they are
+    now standard.
+
+n.  Startup files and files read with source or `.' are no longer required to
+    be regular files.
+
+o.  Fixed core dump in builtin printf when user-supplied precision or field
+    width is 0.
+
+p.  Fixed builtin printf to treat a negative field width as a positive field
+    width with left-justification.
+
+r.  New unwind-protect implementation from Paul Eggert.
+
+s.  Fixed an inadvertently-unclosed comment in the bash completion code that
+    caused programmable completions to not add trailing slashes or spaces to
+    completions.
+
+t.  Fixed the process substitution code to cope better when stdin is closed.
+
+v.  Fixes, mostly from Paul Eggert, for a few possible buffer overflows in
+    the shell.
+
+w.  Fixes from Paul Eggert to avoid most of the type casts in the shell code,
+    and use more appropriate types for a number of variables.
+
+x.  Command substition no longer inherits the DEBUG trap.
+
+y.  Some fixes to the process substition code on machines without /dev/fd so
+    that named pipes are not removed inappropriately.
+
+z.  The loadable `getconf' builtin is now much more complete, and will become
+    part of the shell in the future.
+
+aa. The select command no longer terminates on a `return', so it can be used
+    to return from an enclosing function (as ksh does it).
+
+bb. Fixed the extended pattern matching code to behave better when presented
+    with incorrectly-formed patterns.
+
+cc. Some changes were made with the intent of making cross-compilation easier.
+
+dd. The network code (/dev/tcp and /dev/udp redirections) uses getaddrinfo(3)
+    if it's available, which adds support for IPv6.
+
+ee. Subshells of login shells no longer source ~/.bash_logout when they exit.
+
+ff. Fixes so that subshells don't exit inappropriately if the -e option has
+    been set.
+
+gg. Restricted shells no longer allow functions to be exported.
+
+hh. Changes to the pattern matching code so extended pattern matching works
+    on systems with deficient shared library implementations, like MacOS X.
+
+ii. Better error messages when a script with a leading `#!interp' fails
+    to execute because of problems with `interp'.
+
+jj. Fixed `compgen' to handle the `-o default' option better.
+
+kk. Fixed the job control code to force an asynchronous process's standard
+    input to /dev/null only if job control is not active.
+
+ll. Fixed a possible infinite recursion problem when `fc ""=abc' (a null
+    pattern) is used to re-execute a previous command.
+
+mm. Fixed `declare [-a] var=value' to assign VALUE to element 0 if VAR is an
+    array variable.  Similarly for `declare [-a] var[N]=value'.  This is like
+    ksh93.
+
+nn. Fixed a bug that caused `read -a aname' to work even if ANAME had been
+    declared readonly.
+
+oo. Fixed a possible integer overflow problem when constructing names for
+    temporary files.
+
+2.  New Features in Bash
+
+a.  Added support for DESTDIR installation root prefix, so you can do a
+    `make install DESTDIR=bash-root' and do easier binary packaging.
+
+b.  Added support for builtin printf "'" flag character as per latest POSIX
+    drafts.
+
+c.  Support for POSIX.2 printf(1) length specifiers `j', `t', and `z' (from
+    ISO C99).
+
+d.  New autoconf macro, RL_LIB_READLINE_VERSION, for use by other applications
+    (bash doesn't use very much of what it returns).
+
+e.  `set [-+]o nolog' is recognized as required by the latest POSIX drafts,
+    but ignored.
+
+f.  New read-only `shopt' option:  login_shell.  Set to non-zero value if the
+    shell is a login shell.
+
+g.  New `\A' prompt string escape sequence; expands to time in 24 HH:MM format.
+
+h.  New `-A group/-g' option to complete and compgen; does group name
+    completion.
+
+i.  New `-t' option to `hash' to list hash values for each filename argument.
+
+j.  New [-+]O invocation option to set and unset `shopt' options at startup.
+
+k.  configure's `--with-installed-readline' option now takes an optional
+    `=PATH' suffix to set the root of the tree where readline is installed
+    to PATH.
+
+l.  The ksh-like `ERR' trap has been added.  The `ERR' trap will be run
+    whenever the shell would have exited if the -e option were enabled.
+    It is not inherited by shell functions.
+
+m.  `readonly', `export', and `declare' now print variables which have been
+    given attributes but not set by assigning a value as just a command and
+    a variable name (like `export foo') when listing, as the latest POSIX
+    drafts require.
+
+n.  `bashbug' now requires that the subject be changed from the default.
+
+o.  configure has a new `--enable-largefile' option, like other GNU utilities.
+
+p.  `for' loops now allow empty word lists after `in', like the latest POSIX
+    drafts require.
+
+3.  Changes to Readline
+
+a.  More `const' and type casting fixes.
+
+b.  Changed rl_message() to use vsnprintf(3) (if available) to fix buffer
+    overflow problems.
+
+c.  The completion code no longer appends a `/' or ` ' to a match when
+    completing a symbolic link that resolves to a directory name, unless
+    the match does not add anything to the word being completed.  This
+    means that a tab will complete the word up to the full name, but not
+    add anything, and a subsequent tab will add a slash.
+
+d.  Fixed a trivial typo that made the vi-mode `dT' command not work.
+
+e.  Fixed the tty code so that ^S and ^Q can be inserted with rl_quoted_insert.
+
+f.  Fixed the tty code so that ^V works more than once.
+
+g.  Changed the use of __P((...)) for function prototypes to PARAMS((...))
+    because the use of __P in typedefs conflicted g++ and glibc.
+
+4.  New Features in Readline
+
+a.  Added extern declaration for rl_get_termcap to readline.h, making it a
+    public function (it was always there, just not in readline.h).
+
+b.  New #defines in readline.h:  RL_READLINE_VERSION, currently 0x0402,
+    RL_VERSION_MAJOR, currently 4, and RL_VERSION_MINOR, currently 2.
+
+c.  New readline variable:  rl_readline_version, mirrors RL_READLINE_VERSION.
+
+d.  New bindable boolean readline variable:  match-hidden-files.  Controls
+    completion of files beginning with a `.' (on Unix).  Enabled by default.
+
+e.  The history expansion code now allows any character to terminate a
+    `:first-' modifier, like csh.
+
+f.  The incremental search code remembers the last search string and uses
+    it if ^R^R is typed without a search string.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-release,
+and the previous version, bash-2.05-beta2.
+
+1.  Changes to Bash
+
+a.  Make sure we note that the first line of a multi-line command was not
+    saved in the history if the tests for HISTCONTROL succeed, but the
+    HISTIGNORE check fails.
+
+b.  Fixed a bug in the pattern matching code that caused `[' to be treated
+    as a special character inside a `[...]' bracket expression.
+
+c.  Fixed a bug in the pattern matching code that caused `]' to terminate
+    a bracket expression even if it was the first character after the `['
+    (or a leading `!' or `^').
+
+d.  Made a small change to report a more user-friendly error message if
+    execve(2) fails because of an error with the interpreter in a script
+    with a leading `#! interpreter'.
+
+e.  If the OS does not support an exec(2) magic number of `#!', make sure we
+    have a non-null interpreter name before attempting to execute it.
+
+f.  Fixed a bug that caused the shell process to end up in a different
+    process group than the controlling terminal if a job-control shell was
+    run with `exec' in the startup files.
+
+g.  When started in POSIX mode, either by `bash --posix', `bash -o posix', or
+    `sh', $SHELLOPTS includes `posix' and POSIXLY_CORRECT is set.
+
+h.  Fixed a problem that caused the `\W' prompt string escape sequence to
+    expand to nothing when $PWD was `//'.
+
+i.  The `bashbug' shell script no longer uses $(...) command substitution.
+
+j.  When `set' is invoked without options in POSIX mode, it no longer prints
+    the names and definitions of shell functions.
+
+2.  Changes to Readline
+
+a.  rl_set_paren_blink_timeout() is now documented.
+
+b.  Corrected history.3 man page: `$' is not in the default value of
+    history_word_delimiters.
+
+c.  If a hook function assigned to rl_event_hook sets rl_done to a non-zero
+    value, rl_read_key() now immediately returns '\n' (which is assumed to
+    be bound to accept-line).
+
+3.  New Features in Bash
+
+a.  The `>&word' redirection now works in POSIX mode as it does by default,
+    since POSIX.2 leaves it unspecified.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-beta2,
+and the previous version, bash-2.05-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the arithmetic evaluation code so that a^=b is supported.
+
+b.  Fixed startup so posixly_correct is retained across subshells begun to
+    execute scripts without a leading `#!'.
+
+c.  Fixed a bug that caused $(< file) to not work in a (...) subshell.
+
+d.  Added config support for Linux running on the IBM S390.
+
+e.  Fixed a bug that caused bash to get its input pointer out of sync when
+    reading commands through a pipe and running a command with standard
+    input redirected from a file.
+
+f.  Made a change so that command completion now makes about half as many
+    stat(2) calls when searching the $PATH.
+
+g.  Fixed a bug that caused variable assignments preceding `return' to not
+    be propagated to the shell environment in POSIX mode.
+
+h.  Fixed a bug with ${parameter[:]?word} -- tilde expansion was not performed
+    on `word'.
+
+i.  In POSIX mode, `break' and `continue' do not complain and return success
+    if called when the shell is not executing a loop.
+
+j.  Fixed `bash -o posix' to work the same as `bash --posix'.
+
+k.  Fixed a bug where variable assignments preceding `eval' or `source/.'
+    would not show up in the environment exported to subshells run by the
+    commands.
+
+l.  In POSIX mode, shells started to execute command substitutions inherit
+    the value of the `-e' option from their parent shell.
+
+m.  In POSIX mode, aliases are expanded even in non-interactive shells.
+
+n.  Changed some of the job control messages to display the text required by
+    POSIX.2 when the shell is in POSIX mode.
+
+o.  Fixed a bug in `test' that caused it to occasionally return incorrect
+    results when non-numeric arguments were supplied to `-t'.
+
+2.  Changes to Readline
+
+a.  Some changes were made to avoid gcc warnings with -Wall.
+
+b.  rl_get_keymap_by_name now finds keymaps case-insensitively, so
+    `set keymap EMACS' works.
+
+c.  The history file writing and truncation functions now return a useful
+    status on error.
+
+d.  Fixed a bug that could cause applications to dereference a NULL pointer
+    if a NULL second argument was passed to history_expand().
+
+3.  New Features in Bash
+
+a.  doc/readline.3 has been moved to the readline distribution.
+
+4.  New Features in Readline
+
+a.  New function, rl_get_screen_size (int *rows, int *columns), returns
+    readline's idea of the screen dimensions.
+
+b.  The timeout in rl_gather_tyi (readline keyboard input polling function)
+    is now settable via a function (rl_set_keyboard_input_timeout()).
+
+c.  Renamed the max_input_history variable to history_max_entries; the old
+    variable is maintained for backwards compatibility.
+
+d.  The list of characters that separate words for the history tokenizer is
+    now settable with a variable:  history_word_delimiters.  The default
+    value is as before.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-beta1,
+and the previous version, bash-2.05-alpha1.
+
+1.  Changes to Bash
+
+a.  Changes to allow shared library and object building on the GNU Hurd.
+
+b.  Fixes to the way exported functions are placed into the environment and
+    cached.
+
+c.  The globbing library once again respects locales when processing ranges
+    in bracket expressions while doing pattern matching.
+
+d.  System-specific configuration changes for:  Tru 64, Interix
+
+e.  Bashbug now uses /usr/bin/editor as one of the editing alternatives, and
+    will use mktemp(1) or tempfile(1), if present, for temporary file creation.
+
+f.  Bash no longer performs a binary file check on a script argument that's
+    really a tty (like /dev/fd/0 or /dev/stdin).
+
+g.  Fixed a bug in the execution of shell scripts that caused the effects of
+    $BASH_ENV to be undone in some cases.
+
+h.  Fixed several bugs that made `bash [-i] /dev/stdin' not work correctly.
+
+i.  Several changes to the job control code to avoid some signal state
+    manipulation.
+
+j.  The Bash malloc no longer blocks signals as often, which should make it
+    faster.
+
+k.  Fixed a parsing bug that did not allow backslash to escape a single quote
+    inside a $'...' construct.
+
+l.  Fixed a bug that caused things like ${var:=$'value'} to be parsed
+    incorrectly.  This showed up in newer versions of autoconf.
+
+m.  Fixed a bug in the bash-specific readline initialization that caused
+    key bindings to bash-specific function names appearing in .inputrc to
+    not be honored.
+
+n.  Bash now sets the file descriptor it uses to save the file descriptor
+    opened on a shell script to close on exec.
+
+o.  Fixed a bug in the prompt string decoding that caused it to misbehave
+    when presented an octal sequence of fewer than three characters.
+
+p.  Fixed the `test' builtin to return an error if `[' is supplied a single
+    argument that is not `]'.
+
+q.  Fixed a bug that caused subshells started to run executable shell scripts
+    without a leading `#!' to incorrectly inherit an argument list preceding
+    a shell builtin (like such a script called from a script sourced with `.',
+    where there were variable assignments preceding the `.' command)
+
+r.  Fixed a bug that caused changes to variables supplied in an assignment
+    statement preceding a shell builtin to not be honored (like a script
+    run with `.').
+
+s.  HOSTTYPE, OSTYPE, and MACHTYPE are set only if they do not have values
+    when the shell is started.
+
+t.  Fixed a bug that caused SIGINT to kill shell scripts after the script
+    called `wait'.
+
+u.  The `fc' builtin now tries to create its temporary files in the directory
+    named by $TMPDIR.
+
+v.  Bash no longer calls any Readline functions or uses any Readline variables
+    not declared in readline.h.
+
+w.  Fixed a bug that caused some substitutions involving $@ to not be split
+    correctly, especially expansions of the form ${paramterOPword}.
+
+x.  SSH2_CLIENT is now treated like SSH_CLIENT and not auto-exported if it
+    appears in the initial environment.
+
+y.  Fixed a couple of problems with shell scripts without a leading `#!'
+    being executed out of shell functions that could cause core dumps if
+    such a script attempted to execute `return'.
+
+z.  Fixed a problem with the `-nt' and `-ot' binary operators for the
+    `test/[' builtin and the `[[' conditional command that caused wrong
+    return values if one of the file arguments did not exist.
+
+aa. Fixed a bug that caused non-interactive shells which had previously
+    executed `shopt -s expand_aliases' to fail to expand aliases in a
+    command like `(command) &'.
+2.  Changes to Readline
+
+a.  Changes to make most (but not yet all -- there is still crlf()) of the
+    exported readline functions declared in readline.h have an rl_ prefix.
+
+b.  More `const' changes in function arguments, mostly for completion
+    functions.
+
+c.  Fixed a bug in rl_forward that could cause the point to be set to before
+    the beginning of the line in vi mode.
+
+d.  Fixed a bug in the callback read-char interface to make it work when a
+    readline function pushes some input onto the input stream with
+    rl_execute_next (like the incremental search functions).
+
+e.  Fixed a file descriptor leak in the history file manipulation code that
+    was tripped when attempting to truncate a non-regular file (like
+    /dev/null).
+
+f.  Some existing variables are now documented and part of the public
+    interface (declared in readline.h):  rl_explict_arg, rl_numeric_arg,
+    rl_editing_mode, rl_last_func.
+
+g.  Renamed rltty_set_default_bindings to rl_tty_set_default_bindings and
+    crlf to rl_crlf, so there are no public functions declared in readline.h
+    without an `rl_' prefix.  The old functions still exist for backwards
+    compatibility.
+
+3.  New Features in Bash
+
+a.  A new loadable builtin, realpath, which canonicalizes and expands symlinks
+    in pathname arguments.
+
+b.  When `set' is called without options, it prints function defintions in a
+    way that allows them to be reused as input.  This affects `declare' and
+    `declare -p' as well.
+
+4.  New Features in Readline
+
+a.  New application-callable function rl_set_prompt(const char *prompt):
+    expands its prompt string argument and sets rl_prompt to the result.
+
+b.  New application-callable function rl_set_screen_size(int rows, int cols):
+    public method for applications to set readline's idea of the screen
+    dimensions.
+
+c.  The history example program (examples/histexamp.c) is now built as one
+    of the examples.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.05-alpha1,
+and the previous version, bash-2.04-release.
+
+1.  Changes to Bash
+
+a.  A fix was made to allow newlines in compond array assignments.
+
+b.  configure now checks for real-time signals with unusable values.
+
+c.  Interactive shells no longer exit if a substitution fails because of an
+    unset variable within a sourced file.
+
+d.  Fixed a problem with incorrect matching of extended glob patterns when
+    doing pattern substitution.
+
+e.  `{' is now quoted by the completion code when it appears in a filename.
+
+f.  Fixed an error in pattern matching that caused the matcher to not
+    correctly skip the rest of a bracket expression after a character
+    matched.
+
+g.  Fixed a bug in the IFS word splitting code to make a non-whitespace IFS
+    character preceded by IFS whitespace part of the current delimiter rather
+    than generating a separate field.
+
+h.  The {!prefix@} expansion now generates separate words, analogous to $@,
+    when double-quoted.
+
+i.  Command substitution now ignores NUL bytes in the command output, and the
+    parser ignores them on input.
+
+j.  A fix was made to the job control code to prevent hanging processes when
+    the shell thinks background processes are running but the kernel returns
+    -1/ECHILD from waitpid().
+
+k.  `pwd' now prints an error message if the write fails when displaying the
+    current directory.
+
+l.  When in POSIX mode, the shell prints trap dispostions without a leading
+    `SIG' in the signal specification.
+
+m.  Fixed a parser bug that caused the current command's line count to be
+    messed up by a compound array assignment.
+
+n.  Fixed a bug in the unwind-protect code that caused bad behavior on machines
+    where ints and pointers are not the same size.
+
+o.  System-specific configure changes for:  MacOS X.
+
+p.  Changes for Cygwin to translate \r\n and \r to \n and to set file
+    descriptors used for reading input to text mode in various places.
+
+q.  Fixed a bug that caused `!' to occasionally not be honored when in
+    a (...) subshell.
+
+r.  Bash no longer assumes that getcwd() will return any useful error message
+    in the buffer passed as an argument if the call fails.
+
+s.  The `source', `.', and `fc' builtins no longer check whether a file is
+    binary before reading commands from it.
+
+t.  Subshells no longer turn off job control when they exit, since that
+    sometimes resulted in the terminal being reset to the wrong process
+    group.
+
+u.  The history code no longer tries to save the second and subsequent lines
+    of a multi-line command if the first line was not saved.
+
+v.  The history saving code now does a better job of saving blank lines in a
+    multi-line command.
+
+w.  Removed a `feature' that made `ulimit' silently translate `unlimited' to
+    the current hard limit, which obscured some kernel error returns.
+
+x.  Fixed the grammar so that `}' is recognized as a reserved word after
+    another reserved word, rather than requiring a `;' or newline.  This
+    means that constructs like
+
+       { { echo a b c ; } }
+
+    work as expected.
+
+y.  Conditional commands ([[...]]) now perform tilde expansion on their
+    arguments.
+
+z.  Noted in the documentation that `set -a' will cause functions to be
+    exported if they are defined after `set -a' is executed.
+
+aa. When an interactive login shell starts, if $PWD and $HOME refer to the
+    same directory but are not the same string, $PWD is set to $HOME.
+
+bb. Fixed `printf' to handle invalid floating point numbers better.
+
+cc. Temporary files are now created with random filenames, to improve security.
+
+dd. The readline initialization code now binds the custom bash functions and
+    key bindings after the readline defaults are set up.
+
+ee. Fixed the `source' builtin to no longer overwrite a shell function's
+    argument list, even if the sourced file changes the positional parameters.
+
+ff. A bug fix was made in the expansion of `$*' in contexts where it should
+    not be split, like assignment statements.
+
+gg. Fixed a bug in the parameter substring expansion to handle conditional
+    arithmetic expressions ( exp ? val1 : val2 ) without cutting the expression
+    off at the wrong `:'.
+
+hh. The `<>' redirection is no longer subject to the current setting of
+    `noclobber', as POSIX.2 specifies.
+
+ii. Fixed a bug in the conditional command parsing code that caused expressions
+    in parentheses to occasionally be parsed incorrectly.
+
+jj. Fixed a bug in the ((...)) arithmetic command to allow do...done or
+    {...} to follow the )) without an intervening list terminator.
+
+kk. `printf' now treats `\E' the same as `\e' when performing backslash escape
+    expansion for the `%b' format specifier.
+
+ll. When in POSIX mode, the shell no longer searches the current directory for
+    a file to be sourced with `.' or `source' if `.' is not in $PATH.
+
+mm. Interactive comments are no longer turned off when POSIX mode is disabled.
+
+nn. The UID, EUID, HOSTNAME variables are not set if they are in the shell's
+    environment when it starts up.
+
+oo. Fixed a bug in the `command' builtin so the effect of a command like
+    `command exec 4<file' is as if the `command' had been omitted.
+
+pp. ${foo[@]} and ${foo[*]} now work as in ksh93 if `foo' is not an array
+    variable.
+
+qq. ${#foo[X]}, where X is 0, @, or *, now work as in ksh93 if `foo' is not
+    an array variable.
+
+rr. The shell's idea of an absolute pathname now takes into account a
+    possible drive specification on Cygwin and other Windows systems.
+
+ss. Fixed a bug which caused incorrect parsing of some multi-character
+    constructs if they were split across input lines with backslash-newline
+    line continuation.
+
+tt. Fixed a bug that caused restricted shell mode to be set inappropriately
+    when trying to execute a shell script without a leading `#!'.
+
+uu. Shell function definitions no longer require that the body be a group
+    command ( {...} ), as POSIX.2 requires.
+
+vv. The `cd' and `pwd' builtins now process symlinks in pathnames internally
+    and should require many fewer calls to getcwd().
+
+ww. Fixed a bug that caused a pipeline's process group to be set incorrectly
+    if one of the pipeline elements contained a command substitution.
+
+xx. Fixed a bug that caused core dumps when expanding the value of HISTIGNORE.
+
+yy. The output of `set' is now quoted using $'...' so invisible characters are
+    displayed as escape sequences.
+
+zz. Fixed the help text for `unset', since PATH and IFS may both be unset.
+
+aaa. The shell no longer puts directory names into the command hash table.
+
+bbb. Fixed a bug in `read' that caused it to occasionally free memory twice if
+     it was interrupted after reading a large amount of data.
+
+ccc. Assignment statements that attempt to assign values to readonly variables
+     now cause the command to return an error status.
+
+ddd. Fixed a bug that could cause incorrect output if a $(<file) construct was
+     interrupted.
+
+eee. GROUPS and FUNCNAME now return an error status when assignment is
+     attempted, but may be unset (in which case they lose their special
+     properties).  In all respects except unsetting, they are readonly.
+
+fff. The string-to-integer conversion code now ignores trailing whitespace in
+     the string, even if strtol(3) does not.
+
+ggg. The tcsh magic-space function now does a better job of inserting the
+     space close to where the point was before the history expansion, rather
+     than just appending it.
+
+hhh. Fixed a bug which caused a file sourced from an interactive shell to
+     fill up the jobs table if it ran lots of jobs.
+
+iii. Fixed a bug in the parameter pattern substitution code to avoid infinite
+     recursion on zero-length matches.
+
+2.  Changes to Readline
+
+a.  When setting the terminal attributes on systems using `struct termio',
+    readline waits for output to drain before changing the attributes.
+
+b.  A fix was made to the history word tokenization code to avoid attempts to
+    dereference a null pointer.
+
+c.  Readline now defaults rl_terminal_name to $TERM if the calling application
+    has left it unset, and tries to initialize with the resultant value.
+
+d.  Instead of calling (*rl_getc_function)() directly to get input in certain
+    places, readline now calls rl_read_key() consistently.
+
+e.  Fixed a bug in the completion code that allowed a backslash to quote a
+    single quote inside a single-quoted string.
+
+f.  rl_prompt is no longer assigned directly from the argument to readline(),
+    but uses memory allocated by readline.  This allows constant strings to
+    be passed to readline without problems arising when the prompt processing
+    code wants to modify the string.
+
+g.  Fixed a bug that caused non-interactive history searches to return the
+    wrong line when performing multiple searches backward for the same string.
+
+h.  Many variables, function arguments, and function return values are now
+    declared `const' where appropriate, to improve behavior when linking with
+    C++ code.
+
+i.  The control character detection code now works better on systems where
+    `char' is unsigned by default.
+
+j.  The vi-mode numeric argument is now capped at 999999, just like emacs mode.
+
+k.  The Function, CPFunction, CPPFunction, and VFunction typedefs have been
+    replaced with a set of specific prototyped typedefs, though they are
+    still in the readline header files for backwards compatibility.
+
+m.  Nearly all of the (undocumented) internal global variables in the library
+    now have an _rl_ prefix -- there were a number that did not, like
+    screenheight, screenwidth, alphabetic, etc.
+
+n.  The ding() convenience function has been renamed to rl_ding(), though the
+    old function is still defined for backwards compatibility.
+
+o.  The completion convenience functions filename_completion_function,
+    username_completion_function, and completion_matches now have an rl_
+    prefix, though the old names are still defined for backwards compatibility.
+
+p.  The functions shared by readline and bash (linkage is satisfied from bash
+    when compiling with bash, and internally otherwise) now have an sh_ prefix.
+
+q.  Changed the shared library creation procedure on Linux and BSD/OS 4.x so
+    that the `soname' contains only the major version number rather than the
+    major and minor numbers.
+
+r.  Fixed a redisplay bug that occurred when the prompt spanned more than one
+    physical line and contained invisible characters.
+
+3.  New Features in Bash
+
+a.  Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+    per the new GNU coding standards.
+
+b.  The /dev/tcp and /dev/udp redirections now accept service names as well as
+    port numbers.
+
+c.  `complete' and `compgen' now take a `-o value' option, which controls some
+    of the aspects of that compspec.  Valid values are:
+
+       default - perform bash default completion if programmable
+                 completion produces no matches
+       dirnames - perform directory name completion if programmable
+                  completion produces no matches
+       filenames - tell readline that the compspec produces filenames,
+                   so it can do things like append slashes to
+                   directory names and suppress trailing spaces
+
+4.  New Features in Readline
+
+a.  The blink timeout for paren matching is now settable by applications.
+
+b.  _rl_executing_macro has been renamed to rl_executing_macro, which means
+    it's now part of the public interface.
+
+c.  Readline has a new variable, rl_readline_state, which is a bitmap that
+    encapsulates the current state of the library; intended for use by
+    callbacks and hook functions.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-release,
+and the previous version, bash-2.04-beta5.
+
+1.  Changes to Bash
+
+a.  Better compile-time and configure-time checks for the necessity of
+    inet_aton().
+
+b.  A bug was fixed in the expansion of "${@:-}" when there are positional
+    parameters.
+
+c.  A typo was fixed in the output of `complete'.
+
+d.  The matches generated for a word by the `-W' argument to complete and
+    compgen are now matched against the word being completed, and only
+    matches are returned as the result.
+
+e.  Some fixes were made for systems which do not restart read(2) when a
+    signal caught by bash is received.
+
+f.  A bug was fixed which caused the umask to be set to 0 when an invalid
+    symbolic mode mask was parsed.
+
+g.  Fixed a bug that could cause a core dump if a SIGCHLD was received while
+    performing an assignment statement using command substitution.
+
+h.  Changed the word splitting function for programmable completion so cases
+    in which the cursor is between words are handled a bit better.
+
+2.  Changes to Readline
+
+a.  rl_funmap_names() is now documented.
+
+3.  New Features in Bash
+
+a.  The LC_NUMERIC variable is now treated specially, and used to set the
+    LC_NUMERIC locale category for number formatting, e.g., when `printf'
+    displays floating-point numbers.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta5,
+and the previous version, bash-2.04-beta4.
+
+1.  Changes to Bash
+
+a.  A couple of changes were made to the Makefiles for easier building on
+    non-Unix systems.
+
+b.  Fixed a bug where the current prompt would be set to $PS2 at startup.
+
+c.  The shell script that tests an already-installed version was changed to
+    remove the directory it created its test programs in at exit.
+
+d.  Several changes were made to the code that tokenizes an input line for
+    the programmable completion code.  Shell metacharacters will now appear
+    as individual words in the word list passed to the completion functions.
+    Some of the example completion shell functions were changed to understand
+    redirection operators.
+
+e.  A bug was fixed that, under obscure circumstances, could confuse the
+    parser when a shell function was run by the programmable completion code.
+
+f.  A bug was fixed in the ulimit builtin for systems not using getrlimit().
+
+g.  The execution code now propagates the correct exit status back to the rest
+    of the code if the return value of a subshell command was being inverted.
+    Some new test cases for inverting return values with the `!' reserved
+    word have been added.
+
+h.  Negative exponents in the arithmetic evaluation of v**e now return an
+    evaluation error.
+
+i.  A bug that caused bash to check the wrong process in a pipeline for
+    abnormal termination (and consequently resetting the terminal attributes)
+    was fixed.
+
+j.  Fixed a bug that caused $PS2 to be displayed after PROMPT_COMMAND was
+    executed.
+
+2.  Changes to Readline
+
+1.  Fixed a bug in a C preprocessor define that caused the keypad control
+    functions to be compiled out for all platforms except DJGPP.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta4,
+and the previous version, bash-2.04-beta3.
+
+1.  Changes to Bash
+
+a.  A couple of changes were made to the redirection to attempt to avoid
+    race conditions and malicious file replacement.
+
+2.  A change was made to the string evaluation code (used for command 
+    substitution, `eval', and the `.' builtin) to fix an obscure core
+    dump on alpha machines.
+
+3.  A bug that caused $LINENO to be wrong when executing arithmetic for
+    commands was fixed.
+
+4.  A couple of memory leaks in the programmable completion code were fixed.
+
+5.  A bug that could cause a core dump by freeing memory twice during a call
+    to `eval' if `set -u' had been enabled and an undefined variable was
+    referenced was fixed.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta3,
+and the previous version, bash-2.04-beta2.
+
+1.  Changes to Bash
+
+a.  Bash should run the appropriate startup files when invoked by ssh2.
+
+b.  Fixed a bug in the parsing of conditional commands that could cause a
+    core dump.
+
+c.  Fixed a bug in parsing job specifications that occasionally caused
+    core dumps when an out-of-range job was referenced.
+
+d.  Fixed the `type' and `command' builtins to do better reporting of
+    commands that are not found in $PATH or the hash table.
+
+e.  Fixed a POSIX.2 compliance problem in the command builtin -- commands
+    are supposed to be reported as full pathnames.
+
+f.  The `echo' builtin now returns failure if a write error occurs.
+
+g.  Fixed a bug which caused the locale to not be reset correctly when
+    LC_ALL was unset.
+
+h.  Changed description of `getopts' in man page and reference manual to make
+    it clear that option characters may be characters other than letters.
+
+i.  If the shell exits while in a function, make sure that any trap on EXIT
+    doesn't think the function is still executing.
+
+j.  Bashbug now tries harder to find a usable editor if $EDITOR is not set,
+    rather than simply defaulting to `emacs'.
+
+k.  Changes to the scripts that guess and canonicalize the system type, from
+    the latest `automake' distribution via Debian.
+
+l.  When using named pipes for process substitution, make sure the file
+    descriptors opened for reading are set to non-blocking mode.
+
+m.  Fixed a bug that caused termination of pipelines that are killed by a
+    signal to not be reported in some cases.
+
+n.  When not in literal-history mode, shell comment lines are not added to
+    the history list.
+
+o.  When running in POSIX.2 mode, bash no longer performs word splitting on
+    the expanded value of the word supplied as the filename argument to
+    redirection operators.
+
+p.  The prompt string decoding code now backslash-quotes only characters that
+    are special within double quotes when expanding the \w and \W escape
+    sequences.
+
+q.  Fixed a bug in the prompt decoding code that could cause a non-interactive
+    shell to seg fault if `\u' was used in PS4 and the shell was in xtrace
+    mode.
+
+r.  Fixed a bug that caused function definitions to be printed with any
+    redirections that should be attached to the entire function before the
+    closing brace.
+
+s.  Changed the tilde expansion code for Cygwin systems to avoid creating
+    pathnames beginning with `//' if $HOME == `/'.
+
+t.  Fixed a couple of autoconf tests to avoid creating files with fixed names
+    in /tmp.
+
+u.  The `trap' and `kill' builtins now know the names of the POSIX.1b real-
+    time signals on systems which support them.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with the single-quote quoting function that could cause
+    buffer overflows.
+
+b.  Fixed a bug that caused incorrect `stat characters' to be printed if
+    the files being completed were in the root directory and visible-stats
+    was enabled.
+
+3.  New Features in Bash
+
+a.  There is a new `rbash.1' manual page, from the Debian release.
+
+b.  The `--enable-usg-echo-default' option to `configure' has been renamed to
+    `--enable-xpg-echo-default'.  The old option is still there for backwards
+    compatibility.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta2,
+and the previous version, bash-2.04-beta1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that could cause pipes to be closed inappropriately in
+    some obscure cases.
+
+b.  Fixed a bug that caused creation of the exported environment to clobber
+    the current command string if there were any exported shell functions.
+
+c.  Some changes were made to reduce bash's memory usage.
+
+d.  Fixed a problem with programmable completion and filenames to be
+    completed containing quote characters.
+
+e.  Changed the code the removes named pipes created for the <(...) and >(...)
+    expansions to defer removal until after any current shell function has
+    finished executing.
+
+f.  Fixed a bug in `select' which caused it to not handle the `continue'
+    builtin correctly.
+
+g.  Autoconf tests added for cygwin32 and mingw32.
+
+2.  New Features in Bash
+
+a.  The `--with-bash-malloc' configure option replaces `--with-gnu-malloc'
+    (which is still there for backwards compatibility).
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-beta1,
+and the previous version, bash-2.04-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a bug in the programmable completion code that occurred when
+    trying to complete command lines containing a `;' or `@'.
+
+b.  The file descriptor from which the shell is reading a script is now
+    moved to a file descriptor above the user-addressible range.
+
+c.  Changes to `printf' so that it can handle integers beginning with 0
+    or 0x as octal and hex, respectively.
+
+d.  Fixes to the programmable completion code so it handles nonsense like
+    `compgen -C xyz' gracefully.
+
+e.  The shell no longer modifies the signal handler for SIGPROF, allowing
+    profiling again on certain systems.
+
+f.  The shell checks for a new window size, if the user has requested it,
+    after a process exits due to a signal.
+
+g.  Fixed a bug with variables with null values in a program's temporary
+    environment and the bash getenv() replacement.
+
+h.  `declare' and the other builtins that take variable assignments as
+    arguments now honor `set -a' and mark modified variables for export.
+
+i.  Some changes were made for --dump-po-strings mode when writing strings
+    with embedded newlines.
+
+j.  The code that caches export strings from the initial environment now
+    duplicates the string rather than just pointing into the environment.
+
+k.  The filename completion quoting code now uses single quotes by default
+    if the filename being completed contains newlines, since \<newline>
+    has a special meaning to the parser.
+
+l.  Bash now uses typedefs bits32_t and u_bits32_t instead of int32_t and
+    u_int32_t, respectively to avoid conflicts on certain Unix versions.
+
+m.  Configuration changes were made for: Rhapsody, Mac OS, FreeBSD-3.x.
+
+n.  Fixed a problem with hostname-to-ip-address translation in the
+    /dev/(tcp|udp)/hostname/port redirection code.
+
+o.  The texinfo manual has been reorganized slightly.
+
+p.  Filename generation (globbing) range comparisons in bracket expressions
+    no longer use strcoll(3) even if it is available, since it has unwanted
+    effects in certain locales.
+
+q.  Fixed a cosmetic problem in the source that caused the shell to not
+    compile if DPAREN_ARITHMETIC was not defined but ARITH_FOR_COMMAND was.
+
+r.  Fixed a bug in the here-document code tripped when the file descriptor
+    opened to the file containing the text of the here document was the
+    same as a redirector specified by the user.
+
+s.  Fixed a bug where the INVERT_RETURN flag was not being set for `pipeline'
+    in `time ! pipeline'.
+
+t.  Fixed a bug with the `wait' builtin which manifested itself when an
+    interrupt was received while the shell was waiting for asynchronous
+    processes in a shell script.
+
+u.  Fixed the DEBUG trap code so that it has the correct value of $?.
+
+v.  Fixed a bug in the parameter pattern substitution code that could cause
+    the shell to attempt to free unallocated memory if the pattern started
+    with `/' and an expansion error occurs.
+
+w.  Fixed a bug in the positional parameter substring code that could
+    cause the shell to loop freeing freed memory.
+
+x.  Fixed a bug in the positional parameter pattern substitution code so
+    that it correctly handles null replacement strings with a pattern
+    string prefixed with `%' or `#'.
+
+y.  The shell no longer attempts to import functions from the environment if
+    started with `-n'.
+
+z.  Fixed a bug that caused `return' in a command substitution executed in
+    a shell function to return from the function in a subshell and continue
+    execution.
+
+aa. `hash -p /pathname/with/slashes name' is no longer allowed when the shell
+    is restricted.
+
+bb. The wait* job control functions now behave better if called when there
+    are no unwaited-for children.
+
+cc. Command substitution no longer unconditionally disables job control in
+    the subshell started to run the command.
+
+dd. A bug was fixed that occasionally caused traps to mess up the parser
+    state.
+
+ee. `bashbug' now honors user headers in the mail message it sends.
+
+ff. A bug was fixed that caused the `:p' history modifier to not print the
+    history expansion if the `histverify' option was set.
+
+2.  Changes to Readline
+
+a.  Fixed a bug in the redisplay code for lines with more than 256 line
+    breaks.
+
+b.  A bug was fixed which caused invisible character markers to not be
+    stripped from the prompt string if the terminal was in no-echo mode.
+
+c.  Readline no longer tries to get the variables it needs for redisplay
+    from the termcap entry if the calling application has specified its
+    own redisplay function.  Readline treats the terminal as `dumb' in
+    this case.
+
+d.  Fixes to the SIGWINCH code so that a multiple-line prompt with escape
+    sequences is redrawn correctly.
+
+3.  New Features in Bash
+
+a.  `bashbug' now accepts `--help' and `--version' options.
+
+b.  There is a new `xpg_echo' option to `shopt' that controls the behavior
+    of echo with respect to backslash-escaped characters at runtime.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-alpha1,
+and the previous version, bash-2.04-devel.
+
+1.  Changes to Bash
+
+a.  Fixed a bug that could cause core dumps when performing substring
+    expansion.
+
+b.  Shared object configuration changes for:  Solaris, OSF/1
+
+c.  The POSIX_GLOB_LIBRARY code that uses the POSIX.2 globbing facilities
+    for pathname expansion now understands GLOBIGNORE.
+
+d.  The code that implements `eval' was changed to save the value of the
+    current prompt, so an eval in a shell function called by the programmable
+    completion code will not change the prompt to $PS2.
+
+e.  Restored the undocumented NON_INTERACTIVE_LOGIN_SHELLS #define to
+    config-top.h.  If this is defined, all login shells will read the
+    startup files, not just interactive and non-interactive started with
+    the `--login' option.
+
+f.  Fixed a bug that caused the expansion code to occasionally dump core if
+    IFS contained characters > 128.
+
+g.  Fixed a problem with the grammar so that a newline is not required
+    after the `))' in the new-style arithmetic for statement; a semicolon
+    may be used as expected.
+
+h.  Variable indirection may now reference the shell's special variables.
+
+i.  The $'...' and $"..." constructs are now added to the history correctly
+    if they contain newlines and command-oriented history is enabled.
+
+j.  It is now an error to try to assign a value to a function-local copy
+    of a readonly shell variable (declared with the `local' builtin).
+
+2.  Changes to Readline
+
+a.  The history file code now uses O_BINARY mode when reading and writing
+    the history file on cygwin32.
+
+3.  New Features in Bash
+
+a.  A new programmable completion facility, with two new builtin commands:
+    complete and compgen.
+
+b.  configure has a new option, `--enable-progcomp', to compile in the
+    programmable completion features (enabled by default).
+
+c.  `shopt' has a new option, `progcomp', to enable and disable programmable
+    completion at runtime.
+
+d.  Unsetting HOSTFILE now clears the list of hostnames used for completion.
+
+4.  New Features in Readline
+
+a.  A new variable, rl_gnu_readline_p, always 1.  The intent is that an
+    application can verify whether or not it is linked with the `real'
+    readline library or some substitute.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.04-devel,
+and the previous version, bash-2.03-release.
+
+1.  Changes to Bash
+
+a.  System-specific configuration and source changes for:  Interix, Rhapsody
+
+b.  Fixed a bug in execute_cmd.c that resulted in a compile-time error if
+    JOB_CONTROL was not defined.
+
+c.  An obscure race condition in the trap code was fixed.
+
+d.  The string resulting from $'...' is now requoted to avoid any further
+    expansion.
+
+e.  The $'...' quoting syntax now allows backslash to escape a single quote,
+    for ksh-93 compatibility.
+
+f.  The $"..." quoting syntax now escapes backslashes and double quotes in
+    the translated string when displaying them with the --dump-po-strings
+    option.
+
+g.  `echo -e' no longer converts \' to '.
+
+h.  Fixes were made to the extended globbing code to handle embedded (...)
+    patterns better.
+
+i.  Some improvements were made to the code that unsets `nodelay' mode on
+    the file descriptor from which bash is reading input.
+
+j.  Some changes were made to the replacement termcap library for better
+    operation on MS-DOS.
+
+k.  Some changes were made to the tilde expansion code to handle backslash
+    as a pathname separator on MS-DOS.
+
+l.  The source has been reorganized a little bit -- there is now an `include'
+    subdirectory, and lib/posixheaders has been removed.
+
+m.  Improvements were made to the `read' builtin so that it makes many
+    fewer read(2) system calls.
+
+n.  The expansion of $- will include `c' and `s' when those options are
+    supplied at shell invocation.
+
+o.  Several improvments were made to the completion code:  variable completion
+    now works better when there are unterminated expansions, command
+    completion understands quotes better, and completion now works in certain
+    unclosed $(... constructs.
+
+p.  The arithmetic expansion code was fixed to not need the value of a
+    variable being assigned a value (fixes the "ss=09; let ss=10" bug).
+
+q.  Some changes were made to make exported environment creation faster.
+
+r.  The html documentation will be installed into $(htmldir) if that variable
+    has a value when `make install' is run.
+
+s.  Fixed a bug that would cause the bashrc file to be sourced inappropriately
+    when bash is started by sshd.
+
+t.  The SSH_CLIENT environment variable is no longer auto-exported.
+
+u.  A bug that caused redirections with (...) subshells to be performed in
+    the wrong order was fixed.
+
+v.  A bug that occasionally caused inappropriate expansion of assignment
+    statements in compound array assignments was fixed.
+
+w.  The code that parses the words in a compound array assignment was
+    simplified considerably and should work better now.
+
+x.  Fixes to the non-job-control code in nojobs.c to make it POSIX.2-compliant
+    when a user attempts to retrieve the status of a terminated background
+    process.
+
+y.  Fixes to the `printf' builtin so that it doesn't try to expand all
+    backslash escape sequences in the format string before parsing it for
+    % format specifiers.
+
+2.  Changes to Readline
+
+a.  The history library tries to truncate the history file only if it is a
+    regular file.
+
+b.  A bug that caused _rl_dispatch to address negative array indices on
+    systems with signed chars was fixed.
+
+c.  rl-yank-nth-arg now leaves the history position the same as when it was
+    called.
+
+d.  Changes to the completion code to handle MS-DOS drive-letter:pathname
+    filenames.
+
+e.  Completion is now case-insensitive by default on MS-DOS.
+
+f.  Fixes to the history file manipulation code for MS-DOS.
+
+g.  Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS.
+
+h.  Some fixes were made to the redisplay code for better operation on MS-DOS.
+
+i.  The quoted-insert code will now insert tty special chars like ^C.
+
+j.  A bug was fixed that caused the display code to reference memory before
+    the start of the prompt string.
+
+k.  More support for __EMX__ (OS/2).
+
+l.  A bug was fixed in readline's signal handling that could cause infinite
+    recursion in signal handlers.
+
+m.  A bug was fixed that caused the point to be less than zero when rl_forward
+    was given a very large numeric argument.
+
+n.  The vi-mode code now gets characters via the application-settable value
+    of rl_getc_function rather than calling rl_getc directly.
+
+3.  New Features in Bash
+
+a.  The history builtin has a `-d offset' option to delete the history entry
+    at position `offset'.
+
+b.  The prompt expansion code has two new escape sequences: \j, the number of
+    active jobs; and \l, the basename of the shell's tty device name.
+
+c.  The `bind' builtin has a new `-x' option to bind key sequences to shell
+    commands.
+
+d.  There is a new shell option, no_empty_command_completion, which, when
+    enabled, disables command completion when TAB is typed on an empty line.
+
+e.  The `help' builtin has a `-s' option to just print a builtin's usage
+    synopsys.
+
+f.  There are several new arithmetic operators:  id++, id-- (variable
+    post-increment/decrement), ++id, --id (variabl pre-increment/decrement),
+    expr1 , expr2 (comma operator).
+
+g.  There is a new ksh-93 style arithmetic for command:
+       for ((expr1 ; expr2; expr3 )); do list; done
+
+h.  The `read' builtin has a number of new options:
+       -t timeout      only wait timeout seconds for input
+       -n nchars       only read nchars from input instead of a full line
+       -d delim        read until delim rather than newline
+       -s              don't echo input chars as they are read
+
+i.  The redirection code now handles several filenames specially:
+    /dev/fd/N, /dev/stdin, /dev/stdout, and /dev/stderr, whether or
+    not they are present in the file system.
+
+j.  The redirection code now recognizes pathnames of the form
+    /dev/tcp/host/port and /dev/udp/host/port, and tries to open a socket
+    of the appropriate type to the specified port on the specified host.
+
+k.  The ksh-93 ${!prefix*} expansion, which expands to the names of all
+    shell variables whose names start with prefix, has been implemented.
+
+l.  There is a new dynamic variable, FUNCNAME, which expands to the name of
+    a currently-executing function.  Assignments to FUNCNAME have no effect.
+
+m.  The GROUPS variable is no longer readonly; assignments to it are silently
+    discarded.  This means it can be unset.
+
+4.  New Features in Readline
+
+a.  Parentheses matching is now always compiled into readline, and enabled
+    or disabled when the value of the `blink-matching-paren' variable is
+    changed.
+
+b.  MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
+
+c.  MS-DOS systems now use ~/_history as the default history file.
+
+d.  history-search-{forward,backward} now leave the point at the end of the
+    line when the string to search for is empty, like
+    {reverse,forward}-search-history.
+
+e.  history-search-{forward,backward} now leave the last history line found
+    in the readline buffer if the second or subsequent search fails.
+
+f.  New function for use by applications:  rl_on_new_line_with_prompt, used
+    when an application displays the prompt itself before calling readline().
+
+g.  New variable for use by applications:  rl_already_prompted.  An application
+    that displays the prompt itself before calling readline() must set this to
+    a non-zero value.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-release,
+and the previous version, bash-2.03-beta2.
+
+1.  Changes to Bash
+
+a.  A file descriptor leak in the `fc' builtin was fixed.
+
+b.  A bug was fixed in the `read' builtin that caused occasional spurious
+    failures when using `read -e'.
+
+c.  The version code needed to use the value of the cpp variable
+    CONF_MACHTYPE rather than MACHTYPE.
+
+d.  A new test was added to exercise the command printing and copying code.
+
+e.  A bug was fixed that caused `time' to be recognized as a reserved word
+    if it was the first pattern in a `case' statement pattern list.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-beta2,
+and the previous version, bash-2.03-beta1.
+
+1.  Changes to Bash
+
+a.  Slight additions to support/shobj-conf, mostly for the benefit of AIX 4.2.
+
+b.  config.{guess,sub} support added for the NEC SX4.
+
+c.  Changed some of the cross-compiling sections of the configure macros in
+    aclocal.m4 so that configure won't abort.
+
+d.  Slight changes to how the HTML versions of the bash and readline manuals
+    are generated.
+
+e.  Fixed conditional command printing to avoid interpreting printf `%'-escapes
+    in arguments to [[.
+
+f.  Don't include the bash malloc on all variants of the alpha processor.
+
+g.  Changes to configure to make --enable-profiling work on Solaris 2.x.
+
+h.  Fixed a bug that manifested itself when shell functions were called
+    between calls to `getopts'.
+
+i.  Fixed pattern substitution so that a bare `#'as a pattern causes the
+    replacement string to be prefixed to the search string, and a bare
+    `%' causes the replacement string to be appended to the search string.
+
+j.  Fixed a bug in the command execution code that caused child processes
+    to occasionally have the wrong value for $!.
+
+2.  Changes to Readline
+
+a.  Added code to the history library to catch history substitutions using
+    `&' without a previous history substitution or search having been
+    performed.
+
+3.  New Features in Bash
+
+4.  New Features in Readline
+
+a.  New bindable variable: `isearch-terminators'.
+
+b.  New bindable function: `forward-backward-delete-char' (unbound by default).
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-beta1,
+and the previous version, bash-2.03-alpha.
+    
+1.  Changes to Bash
+
+a.  A change was made to the help text for `{...}' to make it clear that a
+    semicolon is required before the closing brace.
+
+b.  A fix was made to the `test' builtin so that syntax errors cause test
+    to return an exit status > 1.
+
+c.  Globbing is no longer performed on assignment statements that appear as
+    arguments to `assignment builtins' such as `export'.
+
+d.  System-specific configuration changes were made for:  Rhapsody,
+    AIX 4.2/gcc, BSD/OS 4.0.
+
+e.  New loadable builtins: ln, unlink.
+
+f.  Some fixes were made to the globbing code to handle extended glob patterns
+    which immediately follow a `*'.
+
+g.  A fix was made to the command printing code to ensure that redirections
+    following compound commands have a space separating them from the rest
+    of the command.
+
+h.  The pathname canonicalization code was changed to produce fewer leading
+    `//' sequences, since those are interpreted as network file system
+    pathnames on some systems.
+
+i.  A fix was made so that loops containing `eval' commands in commands passed
+    to `bash -c' would not exit prematurely.
+
+j.  Some changes were made to the job reaping code when the shell is not
+    interactive, so the shell will retain exit statuses longer for examination
+    by `wait'.
+
+k.  A fix was made so that `jobs | command' works again.
+
+l.  The erroneous compound array assignment var=((...)) is now a syntax error.
+
+m.  A change was made to the dynamic loading code in `enable' to support
+    Tenon's MachTen.
+
+n.  A fix was made to the globbing code so that extended globbing patterns
+    will correctly match `.' in a bracket expression.
+
+2.  Changes to Readline
+
+a.  A fix was made to the completion code in which a typo caused the wrong
+    value to be passed to the function that computed the longest common
+    prefix of the list of matches.
+
+b.  The completion code now checks the value of rl_filename_completion_desired,
+    which is set by application-supplied completion functions to indicate
+    that filename completion is being performed, to decide whether or not to
+    call an application-supplied `ignore completions' function.
+
+3.  New Features in Bash
+
+a.  A change was made to the startup file code so that any shell begun with
+    the `--login' option, even non-interactive shells, will source the login
+    shell startup files.
+
+4.  New Features in Readline
+
+a.  A new variable, rl_erase_empty_line, which, if set by an application using
+    readline, will cause readline to erase, prompt and all, lines on which the
+    only thing typed was a newline.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.03-alpha,
+and the previous version, bash-2.02.1-release.
+
+1.  Changes to Bash
+
+a.  System-specific configuration changes were made for: Irix 6.x, Unixware 7.
+
+b.  The texi2dvi and texi2html scripts were updated to the latest versions
+    from the net.
+
+c.  The configure tests that determine which native type is 32 bits were
+    changed to not require a compiled program.
+
+d.  Fixed a bug in shell_execve that could cause memory to be freed twice
+    after a failed exec.
+
+e.  The `printf' test uses `diff -a' if it's available to prevent confusion
+    due to the non-ascii output.
+
+f.  Shared object configuration is now performed by a shell script,
+    support/shobj-conf, which generates values to be substituted into
+    makefiles by configure.
+
+g.  Some changes were made to `ulimit' to avoid the use of RLIM_INVALID as a
+    return value.
+
+h.  Changes were made to `ulimit' to work around HPUX 9.x's peculiar
+    handling of RLIMIT_FILESIZE.
+
+i.  Some new loadable builtins were added: id, printenv, sync, whoami, push,
+    mkdir.  `pushd', `popd', and `dirs' can now be built as regular or
+    loadable builtins from the same source file.
+
+j.  Changes were made to `printf' to handle NUL bytes in the expanded format
+    string.
+
+k.  The various `make clean' Makefile targets now descend into lib/sh.
+
+l.  The `type' builtin was changed to use the internal `getopt' so that things
+    like `type -ap' work as expected.
+
+m.  There is a new configuration option, --with-installed-readline, to link
+    bash with a locally-installed version of readline.  Only readline version
+    4.0 and later releases can support this.  Shared and static libraries
+    are supported.  The installed include files are used.
+
+n.  There is a new autoconf macro used to find which basic type is 64 bits.
+
+o.  Dynamic linking and loadable builtins should now work on SCO 3.2v5*,
+    AIX 4.2 with gcc, Unixware 7, and many other systems using gcc, where
+    the `-shared' options works correctly.
+
+p.  A bug was fixed in the bash filename completion code that caused memory to
+    be freed twice if a directory name containing an unset variable was
+    completed and the -u option was set.
+
+q.  The prompt expansion code now quotes the `$' in the `\$' expansion so it
+    is not processed by subsequent parameter expansion.
+
+r.  Fixed a parsing bug that caused a single or double quote after a `$$' to
+    trigger ANSI C expansion or locale translation.
+
+s.  Fixed a bug in the globbing code that caused quoted filenames containing
+    no globbing characters to sometimes be incorrectly expanded.
+
+t.  Changes to the default prompt strings if prompt string decoding is not
+    compiled into the shell.
+
+u.  Added `do', `then', `else', `{', and `(' to the list of keywords that may
+    precede the `time' reserved word.
+
+v.  The shell may now be cross-built for BeOS as well as cygwin32.
+
+w.  The conditional command execution code now treats `=' the same as `=='
+    for deciding when to perform pattern matching.
+
+x.  The `-e' option no longer causes the shell to exit if a command exits
+    with a non-zero status while running the startup files.
+
+y.  The `printf' builtin no longer dumps core if a modifier is supplied in
+    the format string without a conversion character (e.g. `%h').
+
+z.  Array assignments of the form a=(...) no longer show up in the history
+    list.
+
+aa. The parser was fixed to obey the POSIX.2 rules for finding the closing
+    `}' in a ${...} expression.
+
+bb. The history file is now opened with mode 0600 rather than 0666, so bash
+    no longer relies on the user's umask being set appropriately.
+
+cc. Setting LANG no longer causes LC_ALL to be assigned a value; bash now
+    relies on proper behavior from the C library.
+
+dd. Minor changes were made to allow quoted variable expansions using
+    ${...} to be completed correctly if there is no closing `"'.
+
+ee. Changes were made to builtins/Makefile.in so that configuring the shell
+    with `--enable-profiling' works right and builtins/mkbuiltins is
+    generated.
+
+2.  Changes to Readline
+
+a.  The version number is now 4.0.
+
+b.  There is no longer any #ifdef SHELL code in the source files.
+
+c.  Some changes were made to the key binding code to fix memory leaks and
+    better support Win32 systems.
+
+d.  Fixed a silly typo in the paren matching code -- it's microseconds, not
+    milliseconds.
+
+e.  The readline library should be compilable by C++ compilers.
+
+f.  The readline.h public header file now includes function prototypes for
+    all readline functions, and some changes were made to fix errors in the
+    source files uncovered by the use of prototypes.
+
+g.  The maximum numeric argument is now clamped at 1000000.
+
+h.  Fixes to rl_yank_last_arg to make it behave better.
+
+i.  Fixed a bug in the display code that caused core dumps if the prompt
+    string length exceeded 1024 characters.
+
+j.  The menu completion code was fixed to properly insert a single completion
+    if there is only one match.
+
+k.  A bug was fixed that caused the display code to improperly display tabs
+    after newlines.
+
+3.  New Features in Bash
+
+a.  New `shopt' option, `restricted_shell', indicating whether or not the
+    shell was started in restricted mode, for use in startup files.
+
+b.  Filename generation is now performed on the words between ( and ) in
+    array assignments (which it probably should have done all along).
+
+c.  OLDPWD is now auto-exported, as POSIX.2 seems to require.
+
+d.  ENV and BASH_ENV are read-only variables in a restricted shell.
+
+4.  New Features in Readline
+
+a.  Many changes to the signal handling:
+       o Readline now catches SIGQUIT and cleans up the tty before returning;
+       o A new variable, rl_catch_signals, is available to application writers 
+         to indicate to readline whether or not it should install its own
+         signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP,
+         SIGTTIN, and SIGTTOU;
+       o A new variable, rl_catch_sigwinch, is available to application
+         writers to indicate to readline whether or not it should install its
+         own signal handler for SIGWINCH, which will chain to the calling
+         applications's SIGWINCH handler, if one is installed;
+       o There is a new function, rl_free_line_state, for application signal
+         handlers to call to free up the state associated with the current
+         line after receiving a signal;
+       o There is a new function, rl_cleanup_after_signal, to clean up the
+         display and terminal state after receiving a signal;
+       o There is a new function, rl_reset_after_signal, to reinitialize the
+         terminal and display state after an application signal handler
+         returns and readline continues
+
+b.  There is a new function, rl_resize_terminal, to reset readline's idea of
+    the screen size after a SIGWINCH.
+
+c.  New public functions: rl_save_prompt and rl_restore_prompt.  These were
+    previously private functions with a `_' prefix.
+
+d.  New function hook: rl_pre_input_hook, called just before readline starts
+    reading input, after initialization.
+
+e.  New function hook: rl_display_matches_hook, called when readline would
+    display the list of completion matches.  The new function
+    rl_display_match_list is what readline uses internally, and is available
+    for use by application functions called via this hook.
+
+f.  New bindable function, delete-char-or-list, like tcsh.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02.1-release,
+and the previous version, bash-2.02-release.
+
+1.  Changes to Bash
+
+a.  A bug that caused the bash readline support to not compile unless aliases
+    and csh-style history were configured into the shell was fixed.
+
+b.  Fixed a bug that could cause a core dump when here documents contained
+    more than 1000 characters.
+
+c.  Fixed a bug that caused a CDPATH entry of "" to not be treated the same
+    as the current directory when in POSIX mode.
+
+d.  Fixed an alignment problem with the memory returned by the bash malloc,
+    so returned memory is now 64-bit aligned.
+
+e.  Fixed a bug that caused command substitutions executed within pipelines
+    to put the terminal in the wrong process group.
+
+f.  Fixes to support/config.sub for: alphas, SCO Open Server and Open Desktop,
+    Unixware 2, and Unixware 7.
+
+g.  Fixes to the pattern matching code to make it work correctly for eight-bit
+    characters.
+
+h.  Fixed a problem that occasionally caused the shell to display the wrong
+    value for the new working directory when changing to a directory found
+    in $CDPATH when in physical mode.
+
+i.  Fixed a bug that caused core dumps when using conditional commands in
+    shell functions.
+
+j.  Fixed a bug that caused the printf builtin to loop forever if the format
+    string did not consume any of the arguments.
+
+k.  Fixed a bug in the parameter expansion code that caused "$@" to be
+    incorrectly split if $IFS did not contain a space character.
+
+l.  Fixed a bug that could cause a core dump when completing hostnames if
+    the number of matching hostnames was an exact multiple of 16.
+
+m.  Fixed a bug that caused the shell to fork too early when a command
+    such as `%2 &' was given.
+
+2.  Changes to Readline
+
+a.  Fixed a problem with redisplay that showed up when the prompt string was
+    longer than the screen width and the prompt contained invisible characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-release,
+and the previous version, bash-2.02-beta2.
+
+1.  Changes to Bash
+
+a.  A bug was fixed that caused the terminal process group to be set
+    incorrectly when performing command substitution of builtins in a
+    pipeline.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-beta2,
+and the previous version, bash-2.02-beta1.
+
+1.  Changes to Bash
+
+a.  Attempting to `wait' for stopped jobs now generates a warning message.
+
+b.  Pipelines which exit due to SIGPIPE in non-interactive shells are now
+    not reported if the shell is compiled -DDONT_REPORT_SIGPIPE.
+
+c.  Some changes were made to builtins/psize.sh and support/bashbug.sh to
+    attempt to avoid some /tmp file races and surreptitious file
+    substitutions.
+
+d.  Fixed a bug that caused the shell not to compile if configured with
+    dparen arithmetic but without aliases.
+
+e.  Fixed a bug that caused the input stream to be switched when assigning
+    empty arrays with `bash -c'.
+
+f.  A bug was fixed in the readline expansion glue code that caused bash to
+    dump core when expanding lines with an unclosed single quote.
+
+g.  A fix was made to the `cd' builtin so that using a non-empty directory
+    from $CDPATH results in an absolute pathname of the new current working
+    directory to be displayed after the current directory is changed.
+
+h.  Fixed a bug in the variable assignment code that caused the shell to
+    dump core when referencing an unset variable with `set -u' enabled in
+    an assignment statement preceding a command.
+
+i.  Fixed a bug in the exit trap code that caused reserved words to not be
+    recognized under certain circumstances.
+
+j.  Fixed a bug in the parameter pattern substitution code so that quote
+    removal is performed.
+
+k.  The shell should now configure correctly on Apple Rhapsody systems.
+
+l.  The `kill' builtin now prints a usage message if it is not passed any
+    arguments.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-beta1,
+and the previous version, bash-2.02-alpha1.
+
+1.  Changes to Bash
+
+a.  A few compilation bugs were fixed in the new extended globbing code.
+
+b.  Executing arithmetic commands now sets the command name to `((' so
+    error messages look right.
+
+c.  Fixed some build problems with various configuration options.
+
+d.  The `printf' builtin now aborts immediately if an illegal format
+    character is encountered.
+
+e.  The code that creates here-documents now behaves better if the file it's
+    trying to create already exists for some reason.
+
+f.  Fixed a problem with the extended globbing code that made patterns like
+    `x+*' expand incorrectly.
+
+g.  The prompt string expansion code no longer quotes tildes with backslashes.
+
+h.  The bash getcwd() implementation in lib/sh/getcwd.c now behaves better in
+    the presence of lstat(2) failures.
+
+i.  Fixed a bug with strsub() that caused core dumps when executing `fc -s'.
+
+j.  The mail checking code now ensures that it has a valid default mailpath.
+
+k.  A bug was fixed that caused local variables to be unset inappropriately
+    when sourcing a script from within another sourced script.
+
+l.  A bug was fixed in the history saving code so that functions are saved
+    in the history list correctly if `cmdhist' is enabled, but `lithist'
+    is not.
+
+m.  A bug was fixed that caused printf overflows when displaying error
+    messages.
+
+n.  It should be easier to build the loadble builtins in examples/loadables,
+    though some manual editing of the generated Makefile is still required.
+
+o.  The user's primary group is now always ${GROUPS[0]}.
+
+p.  Some updates were made to support/config.guess from the GNU master copy.
+
+q.  Some changes were made to the autoconf support for Solaris 2.6 large
+    files.
+
+r.  The `command' builtins now does the right thing when confstr(3) cannot
+    find a value for _CS_PATH.
+
+s.  Extended globbing expressions like `*.!(c)' are not history expanded if
+    `extglob' is enabled.
+
+t.  Using the `-P' option to `cd' will force the value that is assigned to
+    PWD to not contain any symbolic links.
+
+2.  Changes to Readline
+
+a.  The code that prints completion listings now behaves better if one or
+    more of the filenames contains non-printable characters.
+
+b.  The time delay when showing matching parentheses is now 0.5 seconds.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.02-alpha1,
+and the previous version, bash-2.01.1-release.
+
+1.  Changes to Bash
+
+a.  OS-specific configuration changes for:  BSD/OS 3.x, Minix 2.x,
+    Solaris 2.6, SINIX SVR4.
+
+b.  Changes were made to the generated `info' files so that `install-info'
+    works correctly.
+
+c.  PWD is now auto-exported.
+
+d.  A fix was made to the pipeline code to make sure that the shell forks
+    to execute simple commands consisting solely of assignment statements.
+
+e.  Changes to the test suite for systems with 14-character filenames.
+
+f.  The default sizes of some internal hash tables have been made smaller
+    to reduce the shell's memory footprint.
+
+g.  The `((...))' arithmetic command is now executed directly instead of
+    being translated into `let "..."'.
+
+h.  Fixes were made to the expansion code so that "$*", "$@", "${array[@]}",
+    and "${array[@]}" expand correctly when IFS does not contain a space
+    character, is unset, or is set to NULL.
+
+i.  The indirect expansion code (${!var}) was changed so that the only
+    valid values of `var' are variable names, positional parameters, `#',
+    `@', and `*'.
+
+j.  An arithmetic expression error in a $((...)) expansion now causes a
+    non-interactive shell running in posix mode to exit.
+
+k.  Compound array assignment now splits the words within the parentheses
+    on shell metacharacters like the parser would before expansing them
+    and performing the assignment.  This is for compatibility with ksh-93.
+
+l.  The internal shell backslash-quoting code (used in the output of `set'
+    and completion) now quotes tildes if they appear at the start of the
+    string or after a `=' or `:'.
+
+m.  A couple of bugs with `shopt -o' were fixed.
+
+n.  `bash +o' now displays the same output as `set +o' before starting an
+    interactive shell.
+
+o.  A bug that caused command substitution and the `eval' builtin to
+    occasionally free memory twice when an error was encountered was fixed.
+
+p.  The filename globbing code no longer requires read permission for a
+    directory when the filename to be matched does not contain any globbing
+    characters, as POSIX.2 specifies.
+
+q.  A bug was fixed so that the job containing the last asynchronous
+    process is not removed from the job table until a `wait' is executed
+    for that process or another asynchronous process is started.  This
+    satisfies a POSIX.2 requirement.
+
+r.  A `select' bug was fixed so that a non-numeric user response is treated
+    the same as a numeric response that is out of range.
+
+s.  The shell no longer parses the value of SHELLOPTS from the environment
+    if it is restricted, running setuid, or running in `privileged mode'.
+
+t.  Fixes were made to enable large file support on systems such as
+    Solaris 2.6, where the size of a file may be larger than can be held
+    in an `int'.
+
+u.  The filename hashing code was fixed to not add `./' to the beginning of
+    filenames which already begin with `./'.
+
+v.  The configure script was changed so that the GNU termcap library is not
+    compiled in if `prefer-curses' has been specified.
+
+w.  HISTCONTROL and HISTIGNORE are no longer applied to the second and
+    subsequent lines of a multi-line command.
+
+x.  A fix was made to `disown' so that it does a better job of catching
+    out-of-range jobs.
+
+y.  Non-interactive shells no longer report the status of processes terminated
+    due to SIGINT, even if the standard output is a terminal.
+
+z.  A bug that caused the output of `jobs' to have extra carriage returns
+    was fixed.
+
+aa. A bug that caused PIPESTATUS to not be set when builtins or shell
+    functions were executed in the foreground was fixed.
+
+bb. Bash now attempts to detect when it is being run by sshd, and treats
+    that case identically to being run by rshd.
+
+cc. A bug that caused `set -a' to export SHELLOPTS when one of the shell
+    options was changed was fixed.
+
+dd. The `kill' builtin now disallows empty or missing process id arguments
+    instead of treating them as identical to `0', which means the current
+    process.
+
+ee. `var=value declare -x var' now behaves identically to
+    `var=value export var'.  Similarly for `var=value declare -r var' and
+    `var=value readonly var'.
+
+ff. A few memory leaks were fixed.
+
+gg. `alias' and `unalias' now print error messages when passed an argument
+    that is not an alias for printing or deletion, even when the shell is
+    not interactive, as POSIX.2 specifies.
+
+hh. `alias' and `alias -p' now return a status of 0 when no aliases are
+    defined, as POSIX.2 specifes.
+
+ii. `cd -' now prints the pathname of the new working directory if the shell
+    is interactive.
+
+jj. A fix was made so that the code that binds $PWD now copes with getcwd()
+    returning NULL.
+
+kk. `unset' now checks whether or not a function name it's trying to unset
+    is a valid shell identifier only when the shell is running in posix mode.
+
+ll. A change was made to the code that generates filenames for here documents
+    to make them less prone to name collisions.
+
+mm. The parser was changed so that `time' is recognized as a reserved word
+    only at the beginning of a pipeline.
+
+nn. The pathname canonicalization code was changed so that `//' is converted
+    into `/', but all other pathnames beginning with `//' are left alone, as
+    POSIX.2 specifies.
+
+oo. The `logout' builtin will no longer exit a non-interactive non-login
+    shell.
+
+2.  Changes to Readline
+
+a.  Fixed a problem in the readline test program rltest.c that caused a core
+    dump.
+
+b.  The code that handles parser directives in inputrc files now displays
+    more error messages.
+
+c.  The history expansion code was fixed so that the appearance of the
+    history comment character at the beginning of a word inhibits history
+    expansion for that word and the rest of the input line.
+
+3.  New Features in Bash
+
+a.  A new version of malloc, based on the older GNU malloc, that has many
+    changes, is more page-based, is more conservative with memory usage,
+    and does not `orphan' large blocks when they are freed.
+
+b.  A new version of gmalloc, based on the old GLIBC malloc, with many
+    changes and range checking included by default.
+
+c.  A new implementation of fnmatch(3) that includes full POSIX.2 Basic
+    Regular Expression matching, including character classes, collating
+    symbols, equivalence classes, and support for case-insensitive pattern
+    matching.
+
+d.  ksh-88 egrep-style extended pattern matching ([@+*?!](patlist)) has been
+    implemented, controlled by a new `shopt' option, `extglob'.
+
+e.  There is a new ksh-like `[[' compound command, which implements
+    extended `test' functionality.
+
+f.  There is a new `printf' builtin, implemented according to the POSIX.2
+    specification.
+
+g.  There is a new feature for command substitution: $(< filename) now expands
+    to the contents of `filename', with any trailing newlines removed
+    (equivalent to $(cat filename)).
+
+h.  There are new tilde prefixes which expand to directories from the
+    directory stack.
+
+i.  There is a new `**' arithmetic operator to do exponentiation.
+
+j.  There are new configuration options to control how bash is linked:
+    `--enable-profiling', to allow bash to be profiled with gprof, and
+    `--enable-static-link', to allow bash to be linked statically.
+
+k.  There is a new configuration option, `--enable-cond-command', which
+    controls whether or not the `[[' command is included.  It is on by
+    default.
+
+l.  There is a new configuration option, `--enable-extended-glob', which
+    controls whether or not the ksh extended globbing feature is included.
+    It is enabled by default.
+
+m.  There is a new configuration #define in config.h.top that, when enabled,
+    will cause all login shells to source /etc/profile and one of the user-
+    specific login shell startup files, whether or not the shell is
+    interactive.
+
+n.  There is a new invocation option, `--dump-po-strings', to dump
+    a shell script's translatable strings ($"...") in GNU `po' format.
+
+o.  There is a new `shopt' option, `nocaseglob', to enable case-insensitive
+    pattern matching when globbing filenames and using the `case' construct.
+
+p.  There is a new `shopt' option, `huponexit', which, when enabled, causes
+    the shell to send SIGHUP to all jobs when an interactive login shell
+    exits.
+
+q.  `bind' has a new `-u' option, which takes a readline function name as an
+    argument and unbinds all key sequences bound to that function in a
+    specified keymap.
+
+r.  `disown' now has `-a' and `-r' options, to limit operation to all jobs
+    and running jobs, respectively.
+
+s.  The `shopt' `-p' option now causes output to be displayed in a reusable
+    format.
+
+t.  `test' has a new `-N' option, which returns true if the filename argument
+    has been modified since it was last accessed.
+
+u.  `umask' now has a `-p' option to print output in a reusable format.
+
+v.  A new escape sequence, `\xNNN', has been added to the `echo -e' and $'...'
+    translation code.  It expands to the character whose ascii code is NNN
+    in hexadecimal.
+
+w.  The prompt string expansion code has a new `\r' escape sequence.
+
+x.  The shell may now be cross-compiled for the CYGWIN32 environment on
+    a Unix machine.
+
+4.  New Features in Readline
+
+a.  There is now an option for `iterative' yank-last-arg handline, so a user
+    can keep entering `M-.', yanking the last argument of successive history
+    lines.
+
+b.  New variable, `print-completions-horizontally', which causes completion
+    matches to be displayed across the screen (like `ls -x') rather than up
+    and down the screen (like `ls').
+
+c.  New variable, `completion-ignore-case', which causes filename completion
+    and matching to be performed case-insensitively.
+
+d.  There is a new bindable command, `magic-space', which causes history
+    expansion to be performed on the current readline buffer and a space to
+    be inserted into the result.
+
+e.  There is a new bindable command, `menu-complete', which enables tcsh-like
+    menu completion (successive executions of menu-complete insert a single
+    completion match, cycling through the list of possible completions).
+
+f.  There is a new bindable command, `paste-from-clipboard', for use on Win32
+    systems, to insert the text from the Win32 clipboard into the editing
+    buffer.
+
+g.  The key sequence translation code now understands printf-style backslash
+    escape sequences, including \NNN octal escapes.  These escape sequences
+    may be used in key sequence definitions or macro values.
+
+h.  An `$include' inputrc file parser directive has been added.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01.1-release,
+and the previous version, bash-2.01-release.
+
+1.  Changes to Bash
+
+a.  The select command was fixed to check the validity of the user's
+    input more strenuously.
+
+b.  A bug was fixed that prevented `time' from timing commands correctly
+    when supplied as an argument to `bash -c'.
+
+c.  A fix was made to the mail checking code to keep from adding the same
+    mail file to the list of files to check multiple times when parsing
+    $MAILPATH.
+
+d.  Fixed an off-by-one error in the tilde expansion library.
+
+e.  When using the compound array assignment syntax, the old value of
+    the array is cleared before assigning the new value.
+
+f.  Fixed a bug that could cause a core dump when a trap handler was reset
+    to the default in the trap command associated with that signal.
+
+g.  Fixed a bug in the locale code that occurred when assigning a value
+    to LC_ALL.
+
+h.  A change was made to the parser so that words of the form xxx=(...)
+    are not considered compound assignment statements unless there are
+    characters before the `='.
+
+i.  A fix was made to the command tracing code to correctly quote each
+    word of output.
+
+j.  Some changes were made to the bash-specific autoconf tests to make them
+    more portable.
+
+k.  Completion of words with globbing characters now correctly quotes the
+    result.
+
+l.  The directory /var/spool/mail is now preferred to /usr/spool/mail when
+    configure is deciding on the default mail directory.
+
+m.  The brace completion code was fixed to not quote the `{' and `}'.
+
+n.  Some fixes were made to make $RANDOM more random in subshells.
+
+o.  System-specific changes were made to configure for: SVR4.2
+
+p.  Changes were made so that completion of words containing globbing chars
+    substitutes the result only if a single filename was matched.
+
+q.  The window size is now recomputed after a job is stopped with SIGTSTP if
+    the user has set `checkwinsize' with `shopt'.
+
+r.  When doing substring expansion, out-of-range substring specifiers now
+    cause nothing to be substituted rather than an expansion error.
+
+s.  A fix was made so that you can no longer trap `SIGEXIT' or `SIGDEBUG' --
+    only `EXIT' and `DEBUG' are accepted.
+
+t.  The display of trapped signals now uses the signal number if signals
+    for which bash does not know the name are trapped.
+
+u.  A fix was made so that `bash -r' does not turn on restricted mode until
+    after the startup files are executed.
+
+v.  A bug was fixed that occasionally caused a core dump when a variable
+    found in the temporary environment of export/declare/readonly had a
+    null value.
+
+w.  A bug that occasionally caused unallocated memory to be passed to free()
+    when doing arithmetic substitution was fixed.
+
+x.  A bug that caused a buffer overrun when expanding a prompt string
+    containing `\w' and ${#PWD} exceeded PATH_MAX was fixed.
+
+y.  A problem with the completion code that occasionally caused it to
+    refer to a character before the beginning of the readline line buffer
+    was fixed.
+
+z.  A bug was fixed so that the `read' builtin restarts reads when
+    interrupted by signals other than SIGINT.
+
+aa. Fixed a bug that caused a command to be freed twice when there was
+    an evaluation error in the `eval' command.
+
+2.  Changes to Readline
+
+a.  Added a missing `extern' to a declaration in readline.h that kept
+    readline from compiling cleanly on some systems.
+
+b.  The history file is now opened with mode 0600 when it is written for
+    better security.
+
+c.  Changes were made to the SIGWINCH handling code so that prompt redisplay
+    is done better.
+
+d.  ^G now interrupts incremental searches correctly.
+
+e.  A bug that caused a core dump when the set of characters to be quoted
+    when completing words was empty was fixed.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-release,
+and the previous version, bash-2.01-beta2.
+
+1.  Changes to Bash
+
+a.  The `distclean' target should remove the `printenv' executable if it
+    has been created.
+
+b.  The test suite was changed slightly to ensure that the error messages
+    are printed in English.
+
+c.  A bug that caused the shell to dump core when a filename containing a
+    `/' was passed to `hash' was fixed.
+
+d.  Pathname canonicalization now leaves a leading `//' intact, as POSIX.1
+    requires.
+
+e.  A memory leak when completing commands was fixed.
+
+f.  A memory leak that occurred when checking the hash table for commands
+    with relative paths was fixed.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-beta2,
+and the previous version, bash-2.01-beta1.
+
+1.  Changes to Bash
+
+a.  The `ulimit' builtin translates RLIM_INFINITY to the hard limit only if
+    the current (soft) limit is less than or equal to the hard limit.
+
+b.  Fixed a bug that caused the bash emulation of strcasecmp to produce
+    incorrect results.
+
+c.  A bug that caused memory to be freed twice when a trap handler resets
+    the trap more than once was fixed.
+
+d.  A bug that caused machines where sizeof (pointer) > sizeof (int) to
+    fail (and possibly dump core) when trying to unwind-protect a null
+    pointer was fixed.
+
+e.  The startup files should not be run with job control enabled.  This fix
+    allows SIGINT to once again interrupt startup file execution.
+
+f.  Bash should not change the SIGPROF handler if it is set to something
+    other than SIG_DFL.
+
+g.  The completion code that provides bash-specific completions for readline
+    now quotes characters that the readline code would treat as word break
+    characters if they appear in a file name.
+
+h.  The completion code now correctly quotes filenames containing a `!',
+    even if the user attempted to use double quotes when attempting
+    completion.
+
+i.  A bug that caused the shell to dump core when `disown' was called without
+    arguments and there was no current job was fixed.
+
+j.  A construct like $((foo);bar) is now processed as a command substitution
+    rather than as a bad arithmetic substitution.
+
+k.  A couple of bugs that caused `fc' to not obey the `cmdhist' and `lithist'
+    shell options when editing and re-executing a series of commands were
+    fixed.
+
+l.  A fix was made to the grammar -- the list of commands between `do' and
+    `done' in the body of a `for' command should be treated the same as a
+    while loop.
+
+2.  Changes to Readline
+
+a.  A couple of bugs that caused the history search functions to attempt to
+    free a NULL pointer were fixed.
+
+b.  If the C library provides setlocale(3), readline does not need to look
+    at various environment variables to decide whether or not to go into
+    eight-bit mode automatically -- just check whether the current locale
+    is not `C' or `POSIX'.
+
+c.  If the filename completion function finds that a directory was not closed
+    by a previous (interrupted) completion, it closes the directory with
+    closedir().
+
+3.  New Features in Bash
+
+a.  New bindable readline commands:  history-and-alias-expand-line and
+    alias-expand-line.  The code was always in there, there was just no
+    way to execute it.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-beta1,
+and the previous version, bash-2.01-alpha1.
+
+1.  Changes to Bash
+
+a.  Fixed a problem that could cause file descriptors used for process
+    substitution to conflict with those used explicitly in redirections.
+
+b.  Made it easier to regenerate configure if the user changes configure.in.
+
+c.  ${GROUPS[0]} should always be the primary group, even on systems without
+    multiple groups.
+
+d.  Spelling correction is no longer enabled by default.
+
+e.  Fixes to quoting problems in `bashbug'.
+
+f.  OS-specific configuration changes were made for: Irix 6.
+
+g.  OS-specific code changes were made for: QNX.
+
+h.  A more meaningful message is now printed when the file in /tmp for a
+    here document cannot be created.
+
+i.  Many changes to the shell's variable initialization code to speed
+    non-interactive startup.
+
+j.  Changes to the non-job-control code so that it does not try to open
+    /dev/tty.
+
+k.  The output of `set' and `export' is once again sorted, as POSIX wants.
+
+l.  Fixed a problem caused by a recursive call reparsing the value of
+    $SHELLOPTS.
+
+m.  The tilde code no longer calls getenv() when it's compiled as part of
+    the shell, which should eliminate problems on systems that cannot
+    redefine getenv(), like the NeXT OS.
+
+n.  Fixed a problem that caused `bash -o' or `bash +o' to not list all
+    the shell options.
+
+o.  Fixed `ulimit' to convert RLIM_INFINITY to the appropriate hard limit
+    only if the hard limit is greater than the current (soft) limit.
+
+p.  Fixed a problem that arose when building bash in a different directory
+    than the source and y.tab.[ch] were remade with something other than
+    bison.  This came up most often on NetBSD.
+
+q.  Fixed a problem with completion -- it thought that `pwd`/[TAB] indicated
+    an unfinished command completion (`/), which generated errors.
+
+r.  The bash special tilde expansions (~-, ~+) are now attempted before
+    calling the standard tilde expansion code, which should eliminate the
+    problems people have been seeing with this on Solaris 2.5.1.
+
+s.  Added support for <stdarg.h> to places where it was missing.
+
+t.  Changed the code that reads the output of a command substitution to not
+    go through stdio.  This reduces the memory requirements and is faster.
+
+u.  A number of changes to speed up export environment creation were made.
+
+v.  A number of memory leaks were fixed as the result of running the test
+    scripts through Purify.
+
+w.  Fixed a bug that caused subshells forked to interpret executable
+    scripts without a leading `#!' to not reinitialize the values of
+    the shell options.
+
+2.  Changes to Readline
+
+a.  History library has less `#ifdef SHELL' code -- abstracted stuff out
+    into application-specific function hooks.
+
+b.  Readline no longer calls getenv() if it's compiled as part of the shell,
+    which should eliminate problems on systems that cannot redefine getenv(),
+    like the NeXT OS.
+
+c.  Fixed translation of ESC when `untranslating' macro values.
+
+d.  The region kill operation now fixes the mark if it ends up beyond the
+    boundaries of the line after the region is deleted.
+
+3.  New Features in Bash
+
+a.  New argument for `configure':  `--with-curses'.  This can be used to
+    override the selection of the termcap library on systems where it is
+    deficient.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.01-alpha1,
+and the previous version, bash-2.0-release.
+
+1.  Changes to Bash
+
+a.  System-specific configuration changes for: FreeBSD, SunOS4, Irix,
+    MachTen, QNX 4.2, Harris Night Hawk, SunOS5.
+
+b.  System-specific code changes were made for: Linux, 4.4 BSD, QNX 4.2,
+    HP-UX, AIX 4.2.
+
+c.  A bug that caused the exec builtin to fail because the full pathname of
+    the command could not be found was fixed.
+
+d.  The code that performs output redirections is now more resistant to
+    race conditions and possible security exploits.
+
+e.  A bug that caused the shell to dump core when performing pattern
+    substitutions on variable values was fixed.
+
+f.  More hosts are now recognized by the auto-configuration mechanism
+    (OpenBSD, QNX, others).
+
+g.  Assignments to read-only variables that attempt to convert them to
+    arrays are now errors.
+
+h.  A bug that caused shell scripts using array assignments in POSIX mode
+    to exit after the assignment was performed was fixed.
+
+i.  The substring expansion code is now more careful about running off the
+    ends of the expanded variable value.
+
+j.  A bug that caused completion to fail if a backquoted command substitution
+    appeared anywhere on the line was fixed.
+
+k.  The `source' builtin no longer turns off history if it has been enabled
+    in a non-interactive shell.
+
+l.  A bug that caused the shell to crash when `disown' was given a pid
+    instead of a job number was fixed.
+
+m.  The `cd' spelling correction code will not try to change to `.' if no
+    directory entries match a single-character argument.
+
+n.  A bad variable name supplied to `declare', `export', or `readonly' no
+    longer causes a non-interactive shell in POSIX mode to exit.
+
+o.  Some fixes were made to the test suite to handle peculiarities of
+    various Unix versions.
+
+p.  The bash completion code now quotes characters that readline would
+    treat as word breaks for completion but are not shell metacharacters.
+
+q.  Bad options supplied at invocation now cause a usage message to be
+    displayed.
+
+r.  Fixes were made to the code that handles DEBUG traps so that the trap
+    string is not freed inappropriately.
+
+s.  Some changes were made to the bash debugger in examples/bashdb -- it
+    should be closer to working now.
+
+t.  A problem that caused the default filename used for mail checking to be
+    wrong was fixed.
+
+u.  A fix was made to the `echo' builtin so that NUL characters printed with
+    `echo -e' do not cause the output to be truncated.
+
+v.  A fix was made to the job control code so that the shell behaves better
+    when monitor mode is enabled in a non-interactive shell.
+
+w.  Bash no longer catches all of the terminating signals in a non-
+    interactive shell until a trap is set on EXIT, which should result in
+    quicker startup.
+
+x.  A fix was made to the command timing code so that `time' can be used in
+    a loop.
+
+y.  A fix was made to the parser so that `((cmd); cmd2)' is now parsed as
+    a nested subshell rather than strictly as an (erroneous) arithmetic
+    command.
+
+z.  A fix was made to the globbing code so that it correctly matches quoted
+    filenames beginning with a `.'.
+
+aa. A bug in `fc' that caused some multi-line commands to not be stored as
+    one command in the history when they were re-executed after editing
+    (with `fc -e') was fixed.
+
+bb. The `ulimit' builtin now attempts to catch some classes of integer
+    overflows.
+
+cc. The command-oriented-history code no longer attempts to add `;'
+    inappropriately when a newline appears while reading a $(...) command
+    substitution.
+
+dd. A bug that caused the shell to dump core when `help --' was executed
+    was fixed.
+
+ee. A bug that caused the shell to crash when an unset variable appeared
+    in the body of a here document after `set -u' had been executed was
+    fixed.
+
+ff. Implicit input redirections from /dev/null for asynchronous commands
+    are now handled better.
+
+gg. A bug that caused the shell to fail to compile when configured with
+    `--disable-readline' was fixed.
+
+hh. The globbing code should now be interruptible.
+
+ii. Bash now notices when the `kill' builtin is used to send SIGCONT to a
+    stopped job and adjusts the data structures accordingly, as if `bg' had
+    been executed instead.
+
+jj. A bug that caused the shell to crash when mixing calls to `getopts'
+    and `shift' on the same set of positional parameters was fixed.
+
+kk. The command printing code now preserves the `-p' flag to `time'.
+
+ll. The command printing code now handles here documents better when there
+    are other redirections associated with the command.
+
+mm. The special glibc environment variable (NNN_GNU_nonoption_argv_flags_)
+    is no longer placed into the environment of executed commands -- users
+    of glibc had too many problems with it.
+
+nn. Reorganized the code that generates signames.h.  The signal_names list
+    is now more complete but may be slightly different (SIGABRT is favored
+    over SIGIOT, for example).  The preferred signal names are those
+    listed in the POSIX.2 standard.
+
+oo. `bashbug' now uses a filename shorter than 14 characters for its
+    temporary file, and asks for confirmation before sending the bug
+    report.
+
+pp. A bug that caused TAB completion in vi editing mode to not be turned
+    off when `set -o posix' was executed or back on when `set +o posix'
+    was executed was fixed.
+
+qq. A bug in the brace expansion code that caused brace expansions appearing
+    in new-style $(...) command substitutions to be inappropriately expanded
+    was fixed.
+
+rr. A bug in the readline hook shell-expand-line that could cause memory to
+    be inappropriately freed was fixed.
+
+ss. A bug that caused some arithmetic expressions containing `&&' and `||'
+    to be parsed with the wrong precedence has been fixed.
+
+tt. References to unbound variables after `set -u' has been executed now
+    cause the shell to exit immediately, as they should.
+
+uu. A bug that caused the shell to exit inappropriately when `set -e' had
+    been executed and a command's return status was being inverted with the
+    `!' reserved word was fixed.
+
+vv. A bug that could occasionally cause the shell to crash with a
+    divide-by-zero error when timing a command was fixed.
+
+ww. A bug that caused parameter pattern substitution to leave stray
+    backslashes in the replacement string when the expression is in
+    double quotes was fixed.
+
+xx. The `break' and `continue' builtins now break out of all loops when an
+    invalid count argument is supplied.
+
+yy. Fixed a bug that caused PATH to be set to the empty string if
+    `command -p' is executed with PATH unset.
+
+zz. Fixed `kill -l signum' to print the signal name without the `SIG' prefix,
+    as POSIX specifies.
+
+aaa. Fixed a bug that caused the shell to crash while setting $SHELLOPTS
+     if there were no shell options set.
+
+bbb. Fixed `export -p' and `readonly -p' so that when the shell is in POSIX
+     mode, their output is as POSIX.2 specifies.
+
+ccc. Fixed a bug in `readonly' so that `readonly -a avar=(...)' actually
+     creates an array variable.
+
+ddd. Fixed a bug that prevented `time' from correctly timing background
+     pipelines.
+
+2.  Changes to Readline
+
+a.  A bug that caused an extra newline to be printed when the cursor was on
+    an otherwise empty line was fixed.
+
+b.  An instance of memory being used after it was freed was corrected.
+
+c.  The redisplay code now works when the prompt is longer than the screen
+    width.
+
+d.  `dump-macros' is now a bindable name, as it should have been all along.
+
+e.  Non-printable characters are now expanded when displaying macros and
+    their values.
+
+f.  The `dump-variables' and `dump-macros' commands now output a leading
+    newline if they're called as the result of a key sequence, rather
+    than directly by an application.
+
+3.  New Features in Bash
+
+a.  There is a new builtin array variable: GROUPS, the set of groups to which
+    the user belongs.  This is used by the test suite.
+
+4.  New Features in Readline
+
+a.  If a key sequence bound to `universal-argument' is read while reading a
+    numeric argument started with `universal-argument', it terminates the
+    argument but is otherwise ignored.  This provides a way to insert multiple
+    instances of a digit string, and is how GNU emacs does it.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-release,
+and the previous version, bash-2.0-beta3.
+
+1.  Changes to Bash
+
+a.  Fix to the `getopts' builtin so that it does the right thing when a
+    required option argument is not present.
+
+b.  The completion code now updates the common prefix of matched names
+    after FIGNORE processing is done, since any names that were removed
+    may have changed the common prefix.
+
+c.  Fixed a bug that made messages in MAILPATH entries not work correctly.
+
+d.  Fixed a serious documentation error in the description of the new
+    ${parameter:offset[:length]} expansion.
+
+e.  Fixes to make parameter substring expansion ({$param:offset[:length]})
+    work when within double quotes.
+
+f.  Fixes to make ^A (CTLESC) survive an unquoted expansion of positional
+    parameters.
+
+g.  Corrected a misspelling of `unlimited' in the output of `ulimit'.
+
+h.  Fixed a bug that caused executable scripts without a leading `#!' to
+    occasionally pick up the wrong set of positional parameters.
+
+i.  Linux systems now have a working `ulimit -v', using RLIMIT_AS.
+
+j.  Updated config.guess so that many more machine types are recognized.
+
+k.  Fixed a bug with backslash-quoted slashes in the ${param/pat[/sub]}
+    expansion.
+
+l.  If the shell is named `-su', and `-c command' is supplied, read and
+    execute the login shell startup files even though the shell is not
+    interactive.  This is to support the `-' option to `su'.
+
+m.  Fixed a bug that caused core dumps when the DEBUG trap was ignored
+    with `trap "" DEBUG' and a shell function was subsequently executed.
+
+n.  Fixed a bug that caused core dumps in the read builtin when IFS was
+    set to the null string and the input had leading whitespace.
+
+2.  Changes to Readline
+
+a.  Fixed a bug that caused a numeric argument of 1024 to be ignored when
+    inserting text.
+
+b.  Fixed the display code so that the numeric argument is displayed as it's
+    being entered.
+
+c.  Fixed the numeric argument reading code so that `M-- command' is
+    equivalent to `M--1 command', as the prompt implies.
+
+3.  New Features in Bash
+
+a.  `ulimit' now sets both hard and soft limits and reports the soft limit
+    by default (when neither -H nor -S is specified).  This is compatible
+    with versions of sh and ksh that implement `ulimit'.
+
+b.  Integer constants have been extended to base 64.
+
+4.  New Features in Readline
+
+a.  The `home' and `end' keys are now bound to beginning-of-line and
+    end-of-line, respectively, if the corresponding termcap capabilities
+    are present.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-beta3,
+and the previous version, bash-2.0-beta2.
+
+1.  Changes to Bash
+
+a.  System-specific changes for: AIX 4.2, SCO 3.2v[45], HP-UX.
+
+b.  When in POSIX mode, variable assignments preceding a special builtin
+    persist in the shell environment after the builtin completes.
+
+c.  Changed all calls to getwd() to getcwd().  Improved check for systems
+    where the libc getcwd() calls popen(), since that breaks on some
+    systems when job control is being used.
+
+d.  Fixed a bug that caused seg faults when executing scripts with the
+    execute bit set but without a leading `#!'.
+
+e.  The environment passed to executed commands is never sorted.
+
+f.  A bug was fixed in the code that expands ${name[@]} to the number of
+    elements in an array variable.
+
+g.  A bug was fixed in the array compound assignment code ( A=( ... ) ).
+
+h.  Window size changes now correctly propagate down to readline if
+    the shopt `checkwinsize' option is enabled.
+
+i.  A fix was made in the code that expands to the length of a variable
+    value (${#var}).
+
+j.  A fix was made to the command builtin so that it did not turn on the
+    `no fork' flag inappropriately.
+
+k.  A fix was made to make `set -n' work more reliably.
+
+l.  A fix was made to the job control initialization code so that the
+    terminal process group is set to the shell's process group if the
+    shell changes its own process group.
+
+2.  Changes to Readline
+
+a.  System-specific changes for: SCO 3.2v[45].
+
+b.  The behavior of the vi-mode `.' when redoing an `i' command was changed
+    to insert the text previously inserted by the `i' command rather than
+    simply entering insert mode.
+
+3.  New features in Bash
+
+a.  There is a new version of the autoload function package, in
+    examples/functions/autoload.v2, that uses arrays and provides more
+    functionality.
+
+b.  Support for LC_COLLATE and locale-specific sorting of the results of
+    pathname expansion if strcoll() is available.
+
+4.  New Features in Readline
+
+a.  Support for locale-specific sorting of completion possibilities if
+    strcoll() is available.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-beta2,
+and the previous version, bash-2.0-beta1.
+
+1.  Changes to Bash
+
+a.  `pushd -' is once again equivalent to `pushd $OLDPWD'.
+
+b.  OS-specific changes for: SCO 3.2v[45].
+
+c.  A change was made to the fix for the recently-reported security hole
+    when reading characters with octal value 255 to make it work better on
+    systems with restartable system calls when not using readline.
+
+d.  Some changes were made to the test suite so that it works if you
+    configure bash with --enable-usg-echo-default.
+
+e.  A fix was made to the parsing of conditional arithmetic expressions.
+
+f.  Illegal arithmetic bases now cause an arithmetic evaluation error rather
+    than being silently reset.
+
+g.  Multiple arithmetic bases now cause an arithmetic evaluation error
+    instead of being ignored.
+
+h.  A fix was made to the evaluation of ${param?word} to conform to POSIX.2.
+
+i.  A bug that sometimes caused array indices to be evaluated twice (which
+    would cause errors when they contained assignment statements) was fixed.
+
+j.  `ulimit' was rewritten to avoid problems with getrlimit(2) returning
+    unsigned values and to simplify the code.
+
+k.  A bug in the command-oriented-history code that caused it to sometimes
+    put semicolons after right parens inappropriately was fixed.
+
+l.  The values inserted into the prompt by the \w and \W escape sequences
+    are now quoted to prevent further expansion.
+
+m.  An interactive shell invoked as `sh' now reads and executes commands
+    from the file named by $ENV when it starts up.  If it's a login shell,
+    it does this after reading /etc/profile and ~/.profile.
+
+n.  The file named by $ENV is never read by non-interactive shells.
+
+2.  Changes to Readline
+
+a.  A few changes were made to hide some macros and functions that should not
+    be public.
+
+b.  An off-by-one error that caused seg faults in the history expansion code
+    was fixed.
+
+3.  New Features in Bash
+
+a.  The ksh-style ((...)) arithmetic command was implemented.  It is exactly
+    identical to let "...".  This is controlled by a new option to configure,
+    `--enable-dparen-arithmetic', which is on by default.
+
+b.  There is a new #define available in config.h.top: SYS_BASH_LOGOUT.  If
+    defined to a filename, bash reads and executes commands from that file
+    when a login shell exits.  It's commented out by default.
+
+c.  `ulimit' has a `-l' option that reports the maximum amount of data that
+    may be locked into memory on 4.4BSD-based systems.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-beta1,
+and the previous version, bash-2.0-alpha4.
+
+1.  Changes to Bash
+
+a.  A bug that sometimes caused traps to be ignored on signals the
+    shell treats specially was fixed.
+
+b.  The internationalization code was changed to track the values of
+    LC_* variables and call setlocale() as appropriate.  The TEXTDOMAIN
+    and TEXTDOMAINDIR variables are also tracked; changes cause calls
+    to textdomain() and bindtextdomain(), if available.
+
+c.  A bug was fixed that sometimes caused double-quoted strings to be
+    parsed incorrectly.
+
+d.  Changes were made so that the siglist code compiles correctly on
+    Solaris 2.5.
+
+e.  Added `:' to the set of characters that cause word breaks for the
+    completion code so that pathnames in assignments to $PATH can be
+    completed.
+
+f.  The `select' command was fixed to print $PS3 to stderr.
+
+g.  Fixed an error in the manual page section describing the effect that
+    setting and unsetting GLOBIGNORE has on the setting of the `dotglob'
+    option.
+
+h.  The time conversion code now uses CLK_TCK rather than CLOCKS_PER_SEC
+    on systems without gettimeofday() and resources.
+
+i.  The getopt static variables are now initialized each time a subshell
+    is started, so subshells using `getopts' work right.
+
+j.  A sign-extension bug that caused a possible security hole was fixed.
+
+k.  The parser now reads characters between backquotes within a double-
+    quoted string as a single word, so double quotes in the backquoted
+    string don't terminate the enclosing double-quoted string.
+
+l.  A bug that caused `^O' to work incorrectly when typed as the first
+    thing to an interactive shell was fixed.
+
+m.  A rarely-exercised off-by-one error in the code that quotes variable
+    values was fixed.
+
+n.  Some memory and file descriptor leaks encountered when running a
+    shell script that is executable but does not have a leading `#!'
+    were plugged.
+
+2.  Changes to Readline
+
+a.  A bug that sometimes caused incorrect results when trying to read
+    typeahead on systems without FIONREAD was fixed.
+
+3.  New Features in Bash
+
+a.  The command timing code now uses the value of the TIMEFORMAT variable
+    to format and display timing statistics.
+
+b.  The `time' reserved word now accepts a `-p' option to force the
+    POSIX.2 output format.
+
+c.  There are a couple of new and updated scripts to convert csh startup
+    files to bash format.
+
+d.  There is a new builtin array variable: BASH_VERSINFO.  The various
+    members hold the parts of the version information in BASH_VERSION,
+    plus the value of MACHTYPE.
+
+4.  New Features in Readline
+
+a.  Setting LANG to `en_US.ISO8859-1' now causes readline to enter
+    eight-bit mode.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-alpha4,
+and the previous version, bash-2.0-alpha3.
+
+1.  Changes to Bash
+
+a.  There is better detection of rsh connections on Solaris 2.
+
+b.  Assignments to read-only variables preceding a command name are now
+    variable assignment errors.  Variable assignment errors cause
+    non-interactive shells running in posix mode to exit.
+
+c.  The word tokenizer was rewritten to handle nested quotes and pairs
+    ('', "", ``, ${...}, $(...), $[...], $'...', $"...", <(...), >(...))
+    correctly.  Some of the parameter expansion code was updated as a
+    consequence.
+
+d.  A fix was made to `test' when given three arguments so that a binary
+    operator is checked for first, before checking that the first argument
+    is `!'.
+
+e.  2''>/dev/null is no longer equivalent to 2>/dev/null.
+
+f.  Parser error messages were regularized, and in most cases the name of
+    the shell script being read by a non-interactive shell is not printed
+    twice.
+
+g.  A fix was made to the completion code so that it no longer removes the
+    text the user typed in some cases.
+
+h.  The special glibc `getopt' environment variable is no longer put into
+    the environment on machines with small values of ARG_MAX.
+
+i.  The expansion of ${...} now follows the POSIX.2 rules for finding the
+    closing `}'.
+
+j.  The shell no longer displays spurious status messages for background
+    jobs in shell scripts that complete successfully when the script is
+    run from a terminal.
+
+k.  `shopt -o' now correctly updates $SHELLOPTS.
+
+l.  A bug that caused the $PATH searching code to return a non-executable
+    file even when an executable file with the same name appeared later in
+    $PATH was fixed.
+
+m.  The shell now does tilde expansions on unquoted `:~' in assignment
+    statements when not in posix mode.
+
+n.  Variable assignment errors when a command consists only of assignments
+    now cause non-interactive shells to exit when in posix mode.
+
+o.  If the variable in a `for' or `select' command is read-only, or not a
+    legal shell identifier, a variable assignment error occurs.
+
+p.  `test' now handles `-a' and `-o' as binary operators when three arguments
+    are supplied, and correctly parses `( word )' as equivalent to `word'.
+
+q.  `test' was fixed so that file names of the form /dev/fd/NN mean the same
+    thing on all systems, even Linux.
+
+r.  Fixed a bug in the globbing code that caused patterns with multiple
+    consecutive `*'s to not be matched correctly.
+
+s.  Fixed a bug that caused $PS2 to not be printed when an interactive shell
+    not using readline is reading a here document.
+
+t.  Fixed a bug that caused history expansion to be performed inappropriately
+    when a single-quoted string spanned more than one line.
+
+u.  `getopts' now checks that the variable name passed by the user as the
+    second argument is a legal shell identifier and that the variable is
+    not read-only.
+
+v.  Fixed `getopts' to obey POSIX.2 rules for setting $OPTIND when it
+    encounters an error.
+
+w.  Fixed `set' to display variable values in a form that can be re-read.
+
+x.  Fixed a bug in the code that keeps track of whether or not local variables
+    have been declared at the current level of function nesting.
+
+y.  Non-interactive shells in posix mode now exit if the name in a function
+    declaration is not a legal identifier.
+
+z.  The job control code now ignores stopped children when the shell is not
+    interactive.
+
+aa. The `cd' builtin no longer attempts spelling correction on the directory
+    name if the shell is not interactive, regardless of the setting of the
+    `cdspell' option.
+
+bb. Some OS-specific changes were made for SCO 3.2v[45] and AIX 4.2.
+
+cc. `time' now prints its output to stderr, as POSIX.2 specifies.
+
+2.  Fixes to Readline
+
+a.  After printing possible completions, all lines of a multi-line prompt
+    are redisplayed.
+
+b.  Some changes were made to the terminal handling code in rltty.c to
+    work around AIX 4.2 bugs.
+
+3.  New Features in Bash
+
+a.  There is a new loadable builtin: sprintf, with calling syntax
+               sprintf var format [args]
+    This provides an easy way to simulate ksh left- and right-justified
+    variable values.
+
+b.  The expansions of \h and \H in prompt strings were swapped.  \h now
+    expands to the hostname up to the first `.', as in bash-1.14.
+
+4.  New Features in Readline
+
+a.  The bash-1.14 behavior when ^M is typed while doing an incremental
+    search was restored.  ^J may now be used to terminate the search without
+    accepting the line.
+
+b.  There is a new bindable variable: disable-completion.  This inhibits
+    word completion and causes the completion character to be inserted as
+    if it had been bound to self-insert.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-2.0-alpha3,
+and the previous version, bash-2.0-alpha2.
+
+There is now a file `COMPAT' included in the distribution that lists the
+user-visible incompatibilities between 1.14 and 2.0.
+
+1. Changes to Bash
+
+a. Some work was done so that word splitting of the rhs of assignment
+   statements conforms more closely to historical practice.
+
+b. A couple of errant memory frees were fixed.
+
+c. A fix was made to the test builtin so it recognizes `<' and `>' as
+   binary operators.
+
+d. The GNU malloc in lib/malloc/malloc.c now scrambles memory as it's
+   allocated and freed.  This is to catch callers that refer to freed
+   memory or assume something about newly-allocated memory.
+
+e. Fixed a problem with conversion to 12-hour time in the prompt
+   expansion code.
+
+f. Fixed a problem with configure's argument parsing order.  Now you can
+   correctly turn on specific options after using --enable-minimal-config.
+
+g. The configure script now automatically disables the use of GNU malloc
+   on systems where it's appropriate (better than having people read the
+   NOTES file and do it manually).
+
+h. There are new prompt expansions (\v and \V) to insert version information
+   into the prompt strings.
+
+i. The default prompt string now includes the version number.
+
+j. Most of the builtins that take no options were changed to use the
+   internal getopt so they can produce proper error messages for -?
+   and incorrect options.
+
+k. Some system-specific changes were made for SVR4.2 and Solaris 2.5.
+
+l. Bash now uses PATH_MAX instead of MAXPATHLEN and NAME_MAX instead of
+   MAXNAMLEN.
+
+m. A couple of problems caused by uninitialized variables were fixed.
+
+n. There are a number of new loadable builtin examples: logname, basename,
+   dirname, tty, pathchk, tee, head, and rmdir.  All of these conform to
+   POSIX.2.
+
+o. Bash now notices changes in TZ and calls tzset() if present, so
+   changing TZ will alter the time printed by prompt expansions.
+
+p. The source was reorganized a bit so I don't have to wait so long for
+   some files to compile, and to facilitate the creation of a `shell
+   library' at some future point.
+
+q. Bash no longer turns off job control if called as `sh', since the
+   POSIX.2 spec includes job control as a standard feature.
+
+r. `bash -o posix' now works as intended.
+
+s. Fixed a problem with the completion code: when completing a filename
+   that contained globbing characters, if show-all-if-ambiguous was set,
+   the completion code would remove the user's text.
+
+t. Fixed ulimit so that (hopefully) the full range of limits is available
+   on HPUX systems.
+
+u. A new `shopt' option (`hostcomplete') enables and disables hostname
+   completion.
+
+v. The shell no longer attempts to save the history on an abort(),
+   which is usually called by programming_error().
+
+w. The `-s' option to `fc' was changed to echo the command to be executed
+   to stderr instead of stdout.
+
+x. If the editor invoked by `fc -e' exits with a non-zero status, no
+   commands are executed.
+
+y. Fixed a bug that made the shopt `histverify' option work incorrectly.
+
+z. There is a new variable `MACHTYPE' whose value is the GNU-style
+   `cpu-company-system' system description as set by configure.  (The
+   values of MACHTYPE and HOSTTYPE should really be swapped.)
+
+aa. The `ulimit' builtin now allows the maximum virtual memory size to be
+    set via setrlimit(2) if RLIMIT_VMEM is defined.
+
+bb. `bash -nc 'command'' no longer runs `command'.
+
+2. Changes to Readline
+
+a. Fixed a typo in the code that checked for FIONREAD in input.c.
+
+b. Fixed a bug in the code that outputs keybindings, so things like C-\
+   are quoted properly.
+
+c. Fixed a bug in the inputrc file parsing code to handle the problems
+   caused by inputrc files created from the output of `bind -p' in
+   previous versions of bash.  The problem was due to the bug fixed
+   in item b above.
+
+d. Readline no longer turns off the terminal's meta key, and turns it on
+   once the first time it's called.
+
+------------------------------------------------------------------------------
+This file documents the changes between this version, bash-2.0-alpha2,
+and the previous version, bash-2.0-alpha.
+
+1. Changes to Bash
+
+a. The shell no longer thinks directories are executable.
+
+b. `disown' has a new option, `h', which inhibits the resending of SIGHUP
+   but does not remove the job from the jobs table.
+
+c. The varargs functions in error.c now use ANSI-C `stdarg' if available.
+
+d. The build process now treats the `build version' in .build as local to
+   the build directory, so different versions built from the same source
+   tree have different `build versions'.
+
+e. Some problems with the grammar have been fixed. (It used `list' in a few
+   productions where `compound_list' was needed.  A `list' must be terminated
+   with a newline or semicolon; a `compound_list' need not be.)
+
+f. A fix was made to keep `wait' from hanging when waiting for all background
+   jobs.
+
+g. `bash --help' now writes its output to stdout, like the GNU Coding Standards
+   specify, and includes the machine type (the value of MACHTYPE).
+
+h. `bash --version' now prints more information and exits successfully, like
+   the GNU Coding Standards specify.
+
+i. The output of `time' and `times' now prints fractional seconds with three
+   places after the decimal point.
+
+j. A bug that caused process substitutions to screw up the pipeline printed
+   by `jobs' was fixed.
+
+k. Fixes were made to the code that implements $'...' and $"..." so they
+   work as documented.
+
+l. The process substitution code now opens named pipes for reading with
+   O_NONBLOCK to avoid hanging.
+
+m. Fixes were made to the trap code so the shell cleans up correctly if the
+   trap command contains a `return' and we're executing a function or
+   sourcing a script with `.'.
+
+n. Fixes to doc/Makefile.in so that it doesn't try to remake all of the
+   documentation (ps, dvi, etc.) on a `make install'.
+
+o. Fixed an auto-increment error that caused bash -c args to sometimes dump
+   core.
+
+p. Fixed a bug that caused $HISTIGNORE to fail when the history line
+   contained globbing characters.
+
+2. Changes to Readline
+
+a. There is a new string variable, rl_library_version, available for use by
+   applications.  The current value is "2.1".
+
+b. A bug encountered when expand-tilde was enabled and file completion was
+   attempted on a word beginning with `~/' was fixed.
+
+c. A slight change was made to the incremental search termination behavior.
+   ESC still terminates the search, but if input is pending or arrives
+   within 0.1 seconds (on systems with select(2)), it is used as a prefix
+   character.  This is intented to allow users to terminate searches with
+   the arrow keys and get the behavior they expect.
diff --git a/NEWS~ b/NEWS~
new file mode 100644 (file)
index 0000000..8b1b7bc
--- /dev/null
+++ b/NEWS~
@@ -0,0 +1,1535 @@
+This is a terse description of the new features added to bash-4.1 since
+the release of bash-4.0.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  Here-documents within $(...) command substitutions may once more be
+    delimited by the closing right paren, instead of requiring a newline.
+
+b.  Bash's file status checks (executable, readable, etc.) now take file
+    system ACLs into account on file systems that support them.
+
+c.  Bash now passes environment variables with names that are not valid
+    shell variable names through into the environment passed to child
+    processes.
+
+d.  The `execute-unix-command' readline function now attempts to clear and
+    reuse the current line rather than move to a new one after the command
+    executes.
+
+e.  `printf -v' can now assign values to array indices.
+
+f.  New `complete -E' and `compopt -E' options that work on the "empty"
+    completion: completion attempted on an empty command line.
+
+g.  New complete/compgen/compopt -D option to define a `default' completion:
+    a completion to be invoked on command for which no completion has been
+    defined.  If this function returns 124, programmable completion is
+    attempted again, allowing a user to dynamically build a set of completions
+    as completion is attempted by having the default completion function
+    install individual completion functions each time it is invoked.
+
+h.  When displaying associative arrays, subscripts are now quoted.
+
+i.  Changes to dabbrev-expand to make it more `emacs-like': no space appended
+    after matches, completions are not sorted, and most recent history entries
+    are presented first.
+
+j.  The [[ and (( commands are now subject to the setting of `set -e' and the
+    ERR trap.
+
+k.  The source/. builtin now removes NUL bytes from the file before attempting
+    to parse commands.
+
+l.  There is a new configuration option (in config-top.h) that forces bash to
+    forward all history entries to syslog.
+
+m.  A new variable $BASHOPTS to export shell options settable using `shopt' to
+    child processes.
+
+n.  There is a new confgure option that forces the extglob option to be
+    enabled by default.
+
+o.  New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
+    output to that file descriptor.
+
+p.  If the optional left-hand-side of a redirection is of the form {var}, the
+    shell assigns the file descriptor used to $var or uses $var as the file
+    descriptor to move or close, depending on the redirection operator.
+
+q.  The < and > operators to the [[ conditional command now do string
+    comparison according to the current locale if the compatibility level
+    is greater than 40.
+
+r.  Programmable completion now uses the completion for `b' instead of `a'
+    when completion is attempted on a line like: a $(b c.
+
+s.  Force extglob on temporarily when parsing the pattern argument to
+    the == and != operators to the [[ command, for compatibility.
+
+t.  Changed the behavior of interrupting the wait builtin when a SIGCHLD is
+    received and a trap on SIGCHLD is set to be Posix-mode only.
+
+u.  The read builtin has a new `-N nchars' option, which reads exactly NCHARS
+    characters, ignoring delimiters like newline.
+
+v.  The mapfile/readarray builtin no longer stores the commands it invokes via
+    callbacks in the history list.
+
+w.  There is a new `compat40' shopt option.
+
+2.  New Features in Readline
+
+a.  New bindable function: menu-complete-backward.
+
+b.  In the vi insertion keymap, C-n is now bound to menu-complete by default,
+    and C-p to menu-complete-backward.
+
+c.  When in vi command mode, repeatedly hitting ESC now does nothing, even
+    when ESC introduces a bound key sequence.  This is closer to how
+    historical vi behaves.
+
+d.  New bindable function: skip-csi-sequence.  Can be used as a default to
+    consume key sequences generated by keys like Home and End without having
+    to bind all keys.
+
+e.  New application-settable function: rl_filename_rewrite_hook.  Can be used
+    to rewite or modify filenames read from the file system before they are
+    compared to the word to be completed.
+
+f.  New bindable variable: skip-completed-text, active when completing in the
+    middle of a word.  If enabled, it means that characters in the completion
+    that match characters in the remainder of the word are "skipped" rather
+    than inserted into the line.
+
+g.  The pre-readline-6.0 version of menu completion is available as
+    "old-menu-complete" for users who do not like the readline-6.0 version.
+
+h.  New bindable variable: echo-control-characters.  If enabled, and the
+    tty ECHOCTL bit is set, controls the echoing of characters corresponding
+    to keyboard-generated signals.
+
+i.  New bindable variable: enable-meta-key.  Controls whether or not readline
+    sends the smm/rmm sequences if the terminal indicates it has a meta key
+    that enables eight-bit characters.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-4.0 since
+the release of bash-3.2.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  When using substring expansion on the positional parameters, a starting
+    index of 0 now causes $0 to be prefixed to the list.
+
+b.  The `help' builtin now prints its columns with entries sorted vertically
+    rather than horizontally.
+
+c.  There is a new variable, $BASHPID, which always returns the process id of
+    the current shell.
+
+d.  There is a new `autocd' option that, when enabled, causes bash to attempt
+    to `cd' to a directory name that is supplied as the first word of a
+    simple command.
+
+e.  There is a new `checkjobs' option that causes the shell to check for and
+    report any running or stopped jobs at exit.
+
+f.  The programmable completion code exports a new COMP_TYPE variable, set to
+    a character describing the type of completion being attempted.
+
+g.  The programmable completion code exports a new COMP_KEY variable, set to
+    the character that caused the completion to be invoked (e.g., TAB).
+
+h.  If creation of a child process fails due to insufficient resources, bash
+    will try again several times before reporting failure.
+
+i.  The programmable completion code now uses the same set of characters as
+    readline when breaking the command line into a list of words.
+
+j.  The block multiplier for the ulimit -c and -f options is now 512 when in
+    Posix mode, as Posix specifies.
+
+k.  Changed the behavior of the read builtin to save any partial input received
+    in the specified variable when the read builtin times out.  This also
+    results in variables specified as arguments to read to be set to the empty
+    string when there is no input available.  When the read builtin times out,
+    it returns an exit status greater than 128.
+
+l.  The shell now has the notion of a `compatibility level', controlled by
+    new variables settable by `shopt'.  Setting this variable currently
+    restores the bash-3.1 behavior when processing quoted strings on the rhs
+    of the `=~' operator to the `[[' command.
+
+m.  The `ulimit' builtin now has new -b (socket buffer size) and -T (number
+    of threads) options.
+
+n.  The -p option to `declare' now displays all variable values and attributes
+    (or function values and attributes if used with -f).
+
+o.  There is a new `compopt' builtin that allows completion functions to modify
+    completion options for existing completions or the completion currently
+    being executed.
+
+p.  The `read' builtin has a new -i option which inserts text into the reply
+    buffer when using readline.
+
+q.  A new `-E' option to the complete builtin allows control of the default
+    behavior for completion on an empty line.
+
+r.  There is now limited support for completing command name words containing
+    globbing characters.
+
+s.  Changed format of internal help documentation for all builtins to roughly
+    follow man page format.
+
+t.  The `help' builtin now has a new -d option, to display a short description,
+    and a -m option, to print help information in a man page-like format.
+
+u.  There is a new `mapfile' builtin to populate an array with lines from a
+    given file.  The name `readarray' is a synonym.
+
+v.  If a command is not found, the shell attempts to execute a shell function
+    named `command_not_found_handle', supplying the command words as the
+    function arguments.
+
+w.  There is a new shell option: `globstar'.  When enabled, the globbing code
+    treats `**' specially -- it matches all directories (and files within
+    them, when appropriate) recursively.
+
+x.  There is a new shell option: `dirspell'.  When enabled, the filename
+    completion code performs spelling correction on directory names during
+    completion.
+
+y.  The `-t' option to the `read' builtin now supports fractional timeout
+    values.
+
+z.  Brace expansion now allows zero-padding of expanded numeric values and
+    will add the proper number of zeroes to make sure all values contain the
+    same number of digits.
+
+aa. There is a new bash-specific bindable readline function: `dabbrev-expand'.
+    It uses menu completion on a set of words taken from the history list.
+
+bb. The command assigned to a key sequence with `bind -x' now sets two new
+    variables in the environment of the executed command:  READLINE_LINE_BUFFER
+    and READLINE_POINT.  The command can change the current readline line
+    and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT,
+    respectively.
+
+cc. There is a new &>> redirection operator, which appends the standard output
+    and standard error to the named file.
+
+dd. The parser now understands `|&' as a synonym for `2>&1 |', which redirects
+    the standard error for a command through a pipe.
+
+ee. The new `;&' case statement action list terminator causes execution to
+    continue with the action associated with the next pattern in the
+    statement rather than terminating the command.
+
+ff. The new `;;&' case statement action list terminator causes the shell to
+    test the next set of patterns after completing execution of the current
+    action, rather than terminating the command.
+
+gg. The shell understands a new variable: PROMPT_DIRTRIM.  When set to an
+    integer value greater than zero, prompt expansion of \w and \W  will
+    retain only that number of trailing pathname components and replace
+    the intervening characters with `...'.
+
+hh. There are new case-modifying word expansions: uppercase (^[^]) and
+    lowercase (,[,]).  They can work on either the first character or
+    array element, or globally.  They accept an optional shell pattern
+    that determines which characters to modify.  There is an optionally-
+    configured feature to include capitalization operators.
+
+ii. The shell provides associative array variables, with the appropriate
+    support to create, delete, assign values to, and expand them.
+
+jj. The `declare' builtin now has new -l (convert value to lowercase upon
+    assignment) and -u (convert value to uppercase upon assignment) options.
+    There is an optionally-configurable -c option to capitalize a value at
+    assignment.
+
+kk. There is a new `coproc' reserved word that specifies a coprocess: an
+    asynchronous command run with two pipes connected to the creating shell.
+    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.
+
+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
+    match list sorting (but beware: some things don't work right if
+    applications do this).
+
+b.  A new variable, rl_completion_invoking_key; allows applications to discover
+    the key that invoked rl_complete or rl_menu_complete.
+
+c.  The functions rl_block_sigint and rl_release_sigint are now public and
+    available to calling applications who want to protect critical sections
+    (like redisplay).
+
+d.  The functions rl_save_state and rl_restore_state are now public and
+    available to calling applications; documented rest of readline's state
+    flag values.
+
+e.  A new user-settable variable, `history-size', allows setting the maximum
+    number of entries in the history list.
+
+f.  There is a new implementation of menu completion, with several improvements
+    over the old; the most notable improvement is a better `completions
+    browsing' mode.
+
+g.  The menu completion code now uses the rl_menu_completion_entry_function
+    variable, allowing applications to provide their own menu completion
+    generators.
+
+h.  There is support for replacing a prefix  of a pathname with a `...' when
+    displaying possible completions.  This is controllable by setting the
+    `completion-prefix-display-length' variable.  Matches with a common prefix
+    longer than this value have the common prefix replaced with `...'.
+
+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
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  Changed the parameter pattern replacement functions to not anchor the
+    pattern at the beginning of the string if doing global replacement - that
+    combination doesn't make any sense.
+
+b.  When running in `word expansion only' mode (--wordexp option), inhibit
+    process substitution.
+
+c.  Loadable builtins now work on MacOS X 10.[34].
+
+d.  Shells running in posix mode no longer set $HOME, as POSIX requires.
+
+e.  The code that checks for binary files being executed as shell scripts now
+    checks only for NUL rather than any non-printing character.
+
+f.  Quoting the string argument to the [[ command's  =~ operator now forces
+    string matching, as with the other pattern-matching operators.
+
+2.  New Features in Readline
+
+a.  Calling applications can now set the keyboard timeout to 0, allowing
+    poll-like behavior.
+
+b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
+    the default last-ditch startup file.
+
+c.  The history file reading functions now allow windows-like \r\n line
+    terminators.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-3.1 since
+the release of bash-3.0.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  Bash now understands LC_TIME as a special variable so that time display
+    tracks the current locale.
+
+b.  BASH_ARGC, BASH_ARGV, BASH_SOURCE, and BASH_LINENO are no longer created
+    as `invisible' variables and may not be unset.
+
+c.  In POSIX mode, if `xpg_echo' option is enabled, the `echo' builtin doesn't
+    try to interpret any options at all, as POSIX requires.
+
+d.  The `bg' builtin now accepts multiple arguments, as POSIX seems to specify.
+
+e.  Fixed vi-mode word completion and glob expansion to perform tilde
+    expansion.
+
+f.  The `**' mathematic exponentiation operator is now right-associative.
+
+g.  The `ulimit' builtin has new options: -i (max number of pending signals),
+    -q (max size of POSIX message queues), and -x (max number of file locks).
+
+h.  A bare `%' once again expands to the current job when used as a job
+    specifier.
+
+i.  The `+=' assignment operator (append to the value of a string or array) is
+    now supported for assignment statements and arguments to builtin commands
+    that accept assignment statements.
+
+j.  BASH_COMMAND now preserves its value when a DEBUG trap is executed.
+
+k.  The `gnu_errfmt' option is enabled automatically if the shell is running
+    in an emacs terminal window.
+
+l.  New configuration option:  --single-help-strings.  Causes long help text
+    to be written as a single string; intended to ease translation.
+
+m.  The COMP_WORDBREAKS variable now causes the list of word break characters
+    to be emptied when the variable is unset.
+
+n.  An unquoted expansion of $* when $IFS is empty now causes the positional
+    parameters to be concatenated if the expansion doesn't undergo word
+    splitting.
+
+o.  Bash now inherits $_ from the environment if it appears there at startup.
+
+p.  New shell option: nocasematch.  If non-zero, shell pattern matching ignores
+    case when used by `case' and `[[' commands.
+
+q.  The `printf' builtin takes a new option: -v var.  That causes the output
+    to be placed into var instead of on stdout.
+
+r.  By default, the shell no longer reports processes dying from SIGPIPE.
+
+s.  Bash now sets the extern variable `environ' to the export environment it
+    creates, so C library functions that call getenv() (and can't use the
+    shell-provided replacement) get current values of environment variables.
+
+t.  A new configuration option, `--enable-strict-posix-default', which will
+    build bash to be POSIX conforming by default.
+
+u.  If compiled for strict POSIX conformance, LINES and COLUMNS may now
+    override the true terminal size.
+
+2.  New Features in Readline
+
+a.  The key sequence sent by the keypad `delete' key is now automatically
+    bound to delete-char.
+
+b.  A negative argument to menu-complete now cycles backward through the
+    completion list.
+
+c.  A new bindable readline variable:  bind-tty-special-chars.  If non-zero,
+    readline will bind the terminal special characters to their readline
+    equivalents when it's called (on by default).
+
+d.  New bindable command: vi-rubout.  Saves deleted text for possible
+    reinsertion, as with any vi-mode `text modification' command; `X' is bound
+    to this in vi command mode.
+
+e.  A new external application-controllable variable that allows the LINES
+    and COLUMNS environment variables to set the window size regardless of
+    what the kernel returns: rl_prefer_env_winsize
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-3.0 since
+the release of bash-2.05b.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  ANSI string expansion now implements the \x{hexdigits} escape.
+
+b.  There is a new loadable `strftime' builtin.
+
+c.  New variable, COMP_WORDBREAKS, which controls the readline completer's
+    idea of word break characters.
+
+d.  The `type' builtin no longer reports on aliases unless alias expansion
+    will actually be performed.    
+
+e.  HISTCONTROL is now a colon-separated list of values, which permits
+    more extensibility and backwards compatibility.
+
+f.  HISTCONTROL may now include the `erasedups' option, which causes all lines
+    matching a line being added to be removed from the history list.
+
+g.  `configure' has a new `--enable-multibyte' argument that permits multibyte
+    character support to be disabled even on systems that support it.
+
+h.  New variables to support the bash debugger:  BASH_ARGC, BASH_ARGV,
+    BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING,
+    BASH_COMMAND
+
+i.  FUNCNAME has been changed to support the debugger: it's now an array
+    variable.
+
+j.  for, case, select, arithmetic commands now keep line number information
+    for the debugger.
+
+k.  There is a new `RETURN' trap executed when a function or sourced script
+    returns (not inherited child processes; inherited by command substitution
+    if function tracing is enabled and the debugger is active).
+
+l.  New invocation option:  --debugger.  Enables debugging and turns on new
+    `extdebug' shell option.
+
+m.  New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR
+    traps, respectively, to be inherited by shell functions.  Equivalent to
+    `set -T' and `set -E' respectively.  The `functrace' option also controls
+    whether or not the DEBUG trap is inherited by sourced scripts.
+
+n.  The DEBUG trap is run before binding the variable and running the action
+    list in a `for' command, binding the selection variable and running the
+    query in a `select' command, and before attempting a match in a `case'
+    command.
+
+o.  New `--enable-debugger' option to `configure' to compile in the debugger
+    support code.
+
+p.  `declare -F' now prints out extra line number and source file information
+    if the `extdebug' option is set.
+
+q.  If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes
+    the next command to be skipped, and a return value of 2 while in a
+    function or sourced script forces a `return'.
+
+r.  New `caller' builtin to provide a call stack for the bash debugger.
+
+s.  The DEBUG trap is run just before the first command in a function body is
+    executed, for the debugger.
+
+t.  `for', `select', and `case' command heads are printed when `set -x' is
+    enabled.
+
+u.  There is a new {x..y} brace expansion, which is shorthand for {x.x+1,
+    x+2,...,y}.  x and y can be integers or single characters; the sequence
+    may ascend or descend; the increment is always 1.
+
+v.  New ksh93-like ${!array[@]} expansion, expands to all the keys (indices)
+    of array.
+
+w.  New `force_fignore' shopt option; if enabled, suffixes specified by
+    FIGNORE cause words to be ignored when performing word completion even
+    if they're the only possibilities.
+
+x.  New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu
+    style' (filename:lineno:message) format.
+
+y.  New `-o bashdefault' option to complete and compgen; if set, causes the
+    whole set of bash completions to be performed if the compspec doesn't
+    result in a match.
+
+z.  New `-o plusdirs' option to complete and compgen; if set, causes directory
+    name completion to be performed and the results added to the rest of the
+    possible completions.
+
+aa. `kill' is available as a builtin even when the shell is built without
+    job control.
+
+bb. New HISTTIMEFORMAT variable; value is a format string to pass to
+    strftime(3).  If set and not null, the `history' builtin prints out
+    timestamp information according to the specified format when displaying
+    history entries.  If set, bash tells the history library to write out
+    timestamp information when the history file is written.
+
+cc. The [[ ... ]] command has a new binary `=~' operator that performs
+    extended regular expression (egrep-like) matching.
+
+dd. `configure' has a new `--enable-cond-regexp' option (enabled by default)
+    to enable the =~ operator and regexp matching in [[ ... ]].
+
+ee. Subexpressions matched by the =~ operator are placed in the new
+    BASH_REMATCH array variable.
+
+ff. New `failglob' option that causes an expansion error when pathname
+    expansion fails to produce a match.
+
+gg. New `set -o pipefail' option that causes a pipeline to return a failure
+    status if any of the processes in the pipeline fail, not just the last
+    one.
+
+hh. printf builtin understands two new escape sequences:  \" and \?.
+
+ii. `echo -e' understands two new escape sequences:  \" and \?.
+
+jj. The GNU `gettext' package and libintl have been integrated; the shell's
+    messages can be translated into different languages.
+
+kk. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'.
+
+ll. The error message printed when bash cannot open a shell script supplied
+    as argument 1 now includes the name of the shell, to better identify
+    the error as coming from bash.
+
+mm. The parameter pattern removal and substitution expansions are now much
+    faster and more efficient when using multibyte characters.
+
+nn. The `jobs', `kill', and `wait' builtins now accept job control notation
+    even if job control is not enabled.
+
+oo. The historical behavior of `trap' that allows a missing `action' argument
+    to cause each specified signal's handling to be reset to its default is
+    now only supported when `trap' is given a single non-option argument.
+
+2.  New Features in Readline
+
+a.  History expansion has a new `a' modifier equivalent to the `g' modifier
+    for compatibility with the BSD csh.
+
+b.  History expansion has a new `G' modifier equivalent to the BSD csh `g'
+    modifier, which performs a substitution once per word.
+
+c.  All non-incremental search operations may now undo the operation of
+    replacing the current line with the history line.
+
+d.  The text inserted by an `a' command in vi mode can be reinserted with
+    `.'.
+
+e.  New bindable variable, `show-all-if-unmodified'.  If set, the readline
+    completer will list possible completions immediately if there is more
+    than one completion and partial completion cannot be performed.
+
+f.  There is a new application-callable `free_history_entry()' function.
+
+g.  History list entries now contain timestamp information; the history file
+    functions know how to read and write timestamp information associated
+    with each entry.
+
+h.  Four new key binding functions have been added:
+
+       rl_bind_key_if_unbound()
+       rl_bind_key_if_unbound_in_map()
+       rl_bind_keyseq_if_unbound()
+       rl_bind_keyseq_if_unbound_in_map()
+
+i.  New application variable, rl_completion_quote_character, set to any
+    quote character readline finds before it calls the application completion
+    function.
+
+j.  New application variable, rl_completion_suppress_quote, settable by an
+    application completion function.  If set to non-zero, readline does not
+    attempt to append a closing quote to a completed word.
+
+k.  New application variable, rl_completion_found_quote, set to a non-zero
+    value if readline determines that the word to be completed is quoted.
+    Set before readline calls any application completion function.
+
+l.  New function hook, rl_completion_word_break_hook, called when readline
+    needs to break a line into words when completion is attempted.  Allows
+    the word break characters to vary based on position in the line.
+
+m.  New bindable command: unix-filename-rubout.  Does the same thing as
+    unix-word-rubout, but adds `/' to the set of word delimiters.
+
+n.  When listing completions, directories have a `/' appended if the
+    `mark-directories' option has been enabled.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.05b since
+the release of bash-2.05a.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  If set, TMOUT is the default timeout for the `read' builtin.
+
+b.  `type' has two new options:  `-f' suppresses shell function lookup, and
+    `-P' forces a $PATH search.
+
+c.  New code to handle multibyte characters.
+
+d.  `select' was changed to be more ksh-compatible, in that the menu is
+    reprinted each time through the loop only if REPLY is set to NULL.
+    The previous behavior is available as a compile-time option.
+
+e.  `complete -d' and `complete -o dirnames' now force a slash to be
+    appended to names which are symlinks to directories.
+
+f.  There is now a bindable edit-and-execute-command readline command,
+    like the vi-mode `v' command, bound to C-xC-e in emacs mode.
+
+g.  Added support for ksh93-like [:word:] character class in pattern matching.
+
+h.  The  $'...' quoting construct now expands \cX to Control-X.
+
+i.  A new \D{...} prompt expansion; passes the `...' to strftime and inserts
+    the result into the expanded prompt.
+
+j.  The shell now performs arithmetic in the largest integer size the
+    machine supports (intmax_t), instead of long.
+
+k.  If a numeric argument is supplied to one of the bash globbing completion
+    functions, a `*' is appended to the word before expansion is attempted.
+
+l.  The bash globbing completion functions now allow completions to be listed
+    with double tabs or if `show-all-if-ambiguous' is set.
+
+m.  New `-o nospace' option for `complete' and `compgen' builtins; suppresses
+    readline's appending a space to the completed word.
+
+n.  New `here-string' redirection operator:  <<< word.
+
+o.  When displaying variables, function attributes and definitions are shown
+    separately, allowing them to be re-used as input (attempting to re-use
+    the old output would result in syntax errors).
+
+p.  There is a new configuration option `--enable-mem-scramble', controls
+    bash malloc behavior of writing garbage characters into memory at
+    allocation and free time.
+
+q.  The `complete' and `compgen' builtins now have a new `-s/-A service'
+    option to complete on names from /etc/services.
+
+r.  `read' has a new `-u fd' option to read from a specified file descriptor.
+
+s.  Fix the completion code so that expansion errors in a directory name
+    don't cause a longjmp back to the command loop.
+
+t.  Fixed word completion inside command substitution to work a little more
+    intuitively.
+
+u.  The `printf' %q format specifier now uses $'...' quoting to print the
+    argument if it contains non-printing characters.
+
+v.  The `declare' and `typeset' builtins have a new `-t' option.  When applied
+    to functions, it causes the DEBUG trap to be inherited by the named
+    function.  Currently has no effect on variables.
+
+w.  The DEBUG trap is now run *before* simple commands, ((...)) commands,
+    [[...]] conditional commands, and for ((...)) loops.
+
+x.  The expansion of $LINENO inside a shell function is only relative to the
+    function start if the shell is interactive -- if the shell is running a
+    script, $LINENO expands to the line number in the script.  This is as
+    POSIX-2001 requires.
+
+y.  The bash debugger in examples/bashdb has been modified to work with the
+    new DEBUG trap semantics, the command set has been made more gdb-like,
+    and the changes to $LINENO make debugging functions work better.  Code
+    from Gary Vaughan.
+
+z.  New [n]<&word- and [n]>&word- redirections from ksh93 -- move fds (dup
+    and close).
+
+aa. There is a new `-l' invocation option, equivalent to `--login'.
+
+bb. The `hash' builtin has a new `-l' option to list contents in a reusable
+    format, and a `-d' option to remove a name from the hash table.
+
+cc. There is now support for placing the long help text into separate files 
+    installed into ${datadir}/bash.  Not enabled by default; can be turned  
+    on with `--enable-separate-helpfiles' option to configure.
+    
+dd. All builtins that take operands accept a `--' pseudo-option, except
+    `echo'.
+
+ee. The `echo' builtin now accepts \0xxx (zero to three octal digits following
+    the `0') in addition to \xxx (one to three octal digits) for SUSv3/XPG6/
+    POSIX.1-2001 compliance.
+
+
+2.  New Features in Readline
+
+a.  Support for key `subsequences':  allows, e.g., ESC and ESC-a to both
+    be bound to readline functions.  Now the arrow keys may be used in vi
+    insert mode.
+
+b.  When listing completions, and the number of lines displayed is more than
+    the screen length, readline uses an internal pager to display the results.
+    This is controlled by the `page-completions' variable (default on).
+
+c.  New code to handle editing and displaying multibyte characters.
+
+d.  The behavior introduced in bash-2.05a of deciding whether or not to
+    append a slash to a completed name that is a symlink to a directory has
+    been made optional, controlled by the `mark-symlinked-directories'
+    variable (default is the 2.05a behavior).
+
+e.  The `insert-comment' command now acts as a toggle if given a numeric
+    argument:  if the first characters on the line don't specify a
+    comment, insert one; if they do, delete the comment text
+
+f.  New application-settable completion variable:
+    rl_completion_mark_symlink_dirs, allows an application's completion
+    function to temporarily override the user's preference for appending
+    slashes to names which are symlinks to directories.
+
+g.  New function available to application completion functions:
+    rl_completion_mode, to tell how the completion function was invoked
+    and decide which argument to supply to rl_complete_internal (to list
+    completions, etc.).
+
+h.  Readline now has an overwrite mode, toggled by the `overwrite-mode'
+    bindable command, which could be bound to `Insert'.
+
+i.  New application-settable completion variable:
+    rl_completion_suppress_append, inhibits appending of
+    rl_completion_append_character to completed words.
+
+j.  New key bindings when reading an incremental search string:  ^W yanks
+    the currently-matched word out of the current line into the search
+    string; ^Y yanks the rest of the current line into the search string,
+    DEL or ^H deletes characters from the search string.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.05a since
+the release of bash-2.05.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  Added support for DESTDIR installation root prefix, so you can do a
+    `make install DESTDIR=bash-root' and do easier binary packaging.
+
+b.  Added support for builtin printf "'" flag character as per latest POSIX
+    drafts.
+
+c.  Support for POSIX.2 printf(1) length specifiers `j', `t', and `z' (from
+    ISO C99).
+
+d.  New autoconf macro, RL_LIB_READLINE_VERSION, for use by other applications
+    (bash doesn't use very much of what it returns).
+
+e.  `set [-+]o nolog' is recognized as required by the latest POSIX drafts,
+    but ignored.
+
+f.  New read-only `shopt' option:  login_shell.  Set to non-zero value if the
+    shell is a login shell.
+
+g.  New `\A' prompt string escape sequence; expands to time in 24 HH:MM format.
+
+h.  New `-A group/-g' option to complete and compgen; does group name
+    completion.
+
+i.  New `-t' option to `hash' to list hash values for each filename argument.
+
+j.  New [-+]O invocation option to set and unset `shopt' options at startup.
+
+k.  configure's `--with-installed-readline' option now takes an optional
+    `=PATH' suffix to set the root of the tree where readline is installed
+    to PATH.
+
+l.  The ksh-like `ERR' trap has been added.  The `ERR' trap will be run
+    whenever the shell would have exited if the -e option were enabled.
+    It is not inherited by shell functions.
+
+m.  `readonly', `export', and `declare' now print variables which have been
+    given attributes but not set by assigning a value as just a command and
+    a variable name (like `export foo') when listing, as the latest POSIX
+    drafts require.
+
+n.  `bashbug' now requires that the subject be changed from the default.
+
+o.  configure has a new `--enable-largefile' option, like other GNU utilities.
+
+p.  `for' loops now allow empty word lists after `in', like the latest POSIX
+    drafts require.
+
+q.  The builtin `ulimit' now takes two new non-numeric arguments:  `hard',
+    meaning the current hard limit, and `soft', meaning the current soft  
+    limit, in addition to `unlimited'
+    
+r.  `ulimit' now prints the option letter associated with a particular
+    resource when printing more than one limit.
+
+s.  `ulimit' prints `hard' or `soft' when a value is not `unlimited' but is
+    one of RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively.
+
+t.  The `printf' builtin now handles the %a and %A conversions if they're
+    implemented by printf(3).
+
+u.  The `printf' builtin now handles the %F conversion (just about like %f).
+
+v.  The `printf' builtin now handles the %n conversion like printf(3).  The
+    corresponding argument is the name of a shell variable to which the
+    value is assigned.
+
+2.  New Features in Readline
+
+a.  Added extern declaration for rl_get_termcap to readline.h, making it a
+    public function (it was always there, just not in readline.h).
+
+b.  New #defines in readline.h:  RL_READLINE_VERSION, currently 0x0402,
+    RL_VERSION_MAJOR, currently 4, and RL_VERSION_MINOR, currently 2.
+
+c.  New readline variable:  rl_readline_version, mirrors RL_READLINE_VERSION.
+
+d.  New bindable boolean readline variable:  match-hidden-files.  Controls
+    completion of files beginning with a `.' (on Unix).  Enabled by default.
+
+e.  The history expansion code now allows any character to terminate a
+    `:first-' modifier, like csh.
+
+f.  New bindable variable `history-preserve-point'.  If set, the history
+    code attempts to place the user at the same location on each history
+    line retrived with previous-history or next-history.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.05 since
+the release of bash-2.04.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+    per the new GNU coding standards.
+
+b.  The /dev/tcp and /dev/udp redirections now accept service names as well as
+    port numbers.
+
+c.  `complete' and `compgen' now take a `-o value' option, which controls some
+    of the aspects of that compspec.  Valid values are:
+
+        default - perform bash default completion if programmable
+                  completion produces no matches
+        dirnames - perform directory name completion if programmable
+                   completion produces no matches
+        filenames - tell readline that the compspec produces filenames,
+                    so it can do things like append slashes to
+                    directory names and suppress trailing spaces
+
+d.  A new loadable builtin, realpath, which canonicalizes and expands symlinks
+    in pathname arguments.
+    
+e.  When `set' is called without options, it prints function defintions in a
+    way that allows them to be reused as input.  This affects `declare' and 
+    `declare -p' as well.  This only happens when the shell is not in POSIX
+    mode, since POSIX.2 forbids this behavior.
+
+f.  Bash-2.05 once again honors the current locale setting when processing
+    ranges within pattern matching bracket expressions (e.g., [A-Z]).
+
+2.  New Features in Readline
+
+a.  The blink timeout for paren matching is now settable by applications,
+    via the rl_set_paren_blink_timeout() function.
+
+b.  _rl_executing_macro has been renamed to rl_executing_macro, which means
+    it's now part of the public interface.
+
+c.  Readline has a new variable, rl_readline_state, which is a bitmap that
+    encapsulates the current state of the library; intended for use by
+    callbacks and hook functions.
+
+d.  New application-callable function rl_set_prompt(const char *prompt):
+    expands its prompt string argument and sets rl_prompt to the result.
+
+e.  New application-callable function rl_set_screen_size(int rows, int cols):
+    public method for applications to set readline's idea of the screen
+    dimensions.
+
+f.  New function, rl_get_screen_size (int *rows, int *columns), returns
+    readline's idea of the screen dimensions.
+
+g.  The timeout in rl_gather_tyi (readline keyboard input polling function)
+    is now settable via a function (rl_set_keyboard_input_timeout()).
+
+h.  Renamed the max_input_history variable to history_max_entries; the old
+    variable is maintained for backwards compatibility.
+
+i.  The list of characters that separate words for the history tokenizer is
+    now settable with a variable:  history_word_delimiters.  The default
+    value is as before.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.04 since
+the release of bash-2.03.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  The history builtin has a `-d offset' option to delete the history entry
+    at position `offset'.
+
+b.  The prompt expansion code has two new escape sequences: \j, the number of
+    active jobs; and \l, the basename of the shell's tty device name.
+
+c.  The `bind' builtin has a new `-x' option to bind key sequences to shell   
+    commands.
+
+d.  There is a new shell option, no_empty_command_completion, which, when
+    enabled, disables command completion when TAB is typed on an empty line.
+
+e.  The `help' builtin has a `-s' option to just print a builtin's usage
+    synopsis.
+
+f.  There are several new arithmetic operators:  id++, id-- (variable
+    post-increment/decrement), ++id, --id (variable pre-increment/decrement),
+    expr1 , expr2 (comma operator).
+
+g.  There is a new ksh-93 style arithmetic for command:
+        for ((expr1 ; expr2; expr3 )); do list; done
+
+h.  The `read' builtin has a number of new options:
+        -t timeout      only wait timeout seconds for input
+        -n nchars       only read nchars from input instead of a full line
+        -d delim        read until delim rather than newline
+        -s              don't echo input chars as they are read
+
+i.  The redirection code now handles several filenames specially:
+    /dev/fd/N, /dev/stdin, /dev/stdout, and /dev/stderr, whether or
+    not they are present in the file system.
+
+j.  The redirection code now recognizes pathnames of the form
+    /dev/tcp/host/port and /dev/udp/host/port, and tries to open a socket
+    of the appropriate type to the specified port on the specified host.
+
+k.  The ksh-93 ${!prefix*} expansion, which expands to the names of all
+    shell variables with prefix PREFIX, has been implemented.
+
+l.  There is a new dynamic variable, FUNCNAME, which expands to the name of
+    a currently-executing function.  Assignments to FUNCNAME have no effect.
+
+m.  The GROUPS variable is no longer readonly; assignments to it are silently
+    discarded.  This means it can be unset.
+
+n.  A new programmable completion facility, with two new builtin commands:
+    complete and compgen.
+
+o.  configure has a new option, `--enable-progcomp', to compile in the
+    programmable completion features (enabled by default).
+
+p.  `shopt' has a new option, `progcomp', to enable and disable programmable
+    completion at runtime.
+
+q.  Unsetting HOSTFILE now clears the list of hostnames used for completion.
+
+r.  configure has a new option, `--enable-bash-malloc', replacing the old
+    `--with-gnu-malloc' (which is still present for backwards compatibility).
+
+s.  There is a new manual page describing rbash, the restricted shell.
+
+t.  `bashbug' has new `--help' and `--version' options.
+
+u.  `shopt' has a new `xpg_echo' option, which controls the behavior of
+    `echo' with respect to backslash-escaped characters at runtime.
+
+v.  If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the
+    startup files, even if they are not interactive.
+
+w.  The LC_NUMERIC variable is now treated specially, and used to set the
+    LC_NUMERIC locale category for number formatting, e.g., when `printf'
+    displays floating-point numbers.
+
+2.  New features in Readline
+
+a.  Parentheses matching is now always compiled into readline, and enabled
+    or disabled when the value of the `blink-matching-paren' variable is
+    changed.
+
+b.  MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
+
+c.  MS-DOS systems now use ~/_history as the default history file.
+
+d.  history-search-{forward,backward} now leave the point at the end of the
+    line when the string to search for is empty, like
+    {reverse,forward}-search-history.
+
+e.  history-search-{forward,backward} now leave the last history line found
+    in the readline buffer if the second or subsequent search fails.
+
+f.  New function for use by applications:  rl_on_new_line_with_prompt, used
+    when an application displays the prompt itself before calling readline().
+
+g.  New variable for use by applications:  rl_already_prompted.  An application
+    that displays the prompt itself before calling readline() must set this to
+    a non-zero value.
+
+h.  A new variable, rl_gnu_readline_p, always 1.  The intent is that an
+    application can verify whether or not it is linked with the `real'
+    readline library or some substitute.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.03 since
+the release of bash-2.02.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  New `shopt' option, `restricted_shell', indicating whether or not the
+    shell was started in restricted mode, for use in startup files.
+
+b.  Filename generation is now performed on the words between ( and ) in
+    array assignments (which it probably should have done all along).
+
+c.  OLDPWD is now auto-exported, as POSIX.2 seems to require.
+
+d.  ENV and BASH_ENV are read-only variables in a restricted shell.
+
+e.  A change was made to the startup file code so that any shell begun with
+    the `--login' option, even non-interactive shells, will source the login
+    shell startup files.
+
+2.  New Features in Readline
+
+a.  Many changes to the signal handling:
+        o Readline now catches SIGQUIT and cleans up the tty before returning;
+        o A new variable, rl_catch_signals, is available to application writers 
+          to indicate to readline whether or not it should install its own
+          signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP,
+          SIGTTIN, and SIGTTOU;
+        o A new variable, rl_catch_sigwinch, is available to application
+          writers to indicate to readline whether or not it should install its
+          own signal handler for SIGWINCH, which will chain to the calling
+          applications's SIGWINCH handler, if one is installed;
+        o There is a new function, rl_free_line_state, for application signal
+          handlers to call to free up the state associated with the current
+          line after receiving a signal;
+        o There is a new function, rl_cleanup_after_signal, to clean up the
+          display and terminal state after receiving a signal;
+        o There is a new function, rl_reset_after_signal, to reinitialize the
+          terminal and display state after an application signal handler
+          returns and readline continues
+
+b.  There is a new function, rl_resize_terminal, to reset readline's idea of
+    the screen size after a SIGWINCH.
+
+c.  New public functions: rl_save_prompt and rl_restore_prompt.  These were
+    previously private functions with a `_' prefix.
+
+d.  New function hook: rl_pre_input_hook, called just before readline starts
+    reading input, after initialization.
+
+e.  New function hook: rl_display_matches_hook, called when readline would
+    display the list of completion matches.  The new function
+    rl_display_match_list is what readline uses internally, and is available
+    for use by application functions called via this hook.
+
+f.  New bindable function, delete-char-or-list, like tcsh.
+
+g.  A new variable, rl_erase_empty_line, which, if set by an application using
+    readline, will cause readline to erase, prompt and all, lines on which the
+    only thing typed was a newline.
+
+h.  New bindable variable: `isearch-terminators'.
+
+i.  New bindable function: `forward-backward-delete-char' (unbound by default).
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.02 since
+the release of bash-2.01.1.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a.  A new version of malloc, based on the older GNU malloc, that has many
+    changes, is more page-based, is more conservative with memory usage,
+    and does not `orphan' large blocks when they are freed.
+
+b.  A new version of gmalloc, based on the old GLIBC malloc, with many
+    changes and range checking included by default.
+
+c.  A new implementation of fnmatch(3) that includes full POSIX.2 Basic
+    Regular Expression matching, including character classes, collating
+    symbols, equivalence classes, and support for case-insensitive pattern
+    matching.
+
+d.  ksh-88 egrep-style extended pattern matching ([@+*?!](patlist)) has been
+    implemented, controlled by a new `shopt' option, `extglob'.  
+    
+e.  There is a new ksh-like `[[' compound command, which implements   
+    extended `test' functionality.
+    
+f.  There is a new `printf' builtin, implemented according to the POSIX.2
+    specification.
+    
+g.  There is a new feature for command substitution: $(< filename) now expands
+    to the contents of `filename', with any trailing newlines removed
+    (equivalent to $(cat filename)).
+
+h.  There are new tilde prefixes which expand to directories from the
+    directory stack.
+
+i.  There is a new `**' arithmetic operator to do exponentiation.
+
+j.  There are new configuration options to control how bash is linked:
+    `--enable-profiling', to allow bash to be profiled with gprof, and
+    `--enable-static-link', to allow bash to be linked statically.
+
+k.  There is a new configuration option, `--enable-cond-command', which
+    controls whether or not the `[[' command is included.  It is on by
+    default. 
+
+l.  There is a new configuration option, `--enable-extended-glob', which
+    controls whether or not the ksh extended globbing feature is included.
+    It is enabled by default.
+
+m.  There is a new configuration #define in config.h.top that, when enabled,
+    will cause all login shells to source /etc/profile and one of the user-
+    specific login shell startup files, whether or not the shell is
+    interactive.  
+    
+n.  There is a new invocation option, `--dump-po-strings', to dump
+    a shell script's translatable strings ($"...") in GNU `po' format. 
+    
+o.  There is a new `shopt' option, `nocaseglob', to enable case-insensitive
+    pattern matching when globbing filenames and using the `case' construct.
+
+p.  There is a new `shopt' option, `huponexit', which, when enabled, causes
+    the shell to send SIGHUP to all jobs when an interactive login shell
+    exits.
+
+q.  `bind' has a new `-u' option, which takes a readline function name as an
+    argument and unbinds all key sequences bound to that function in a
+    specified keymap.
+    
+r.  `disown' now has `-a' and `-r' options, to limit operation to all jobs
+    and running jobs, respectively.
+
+s.  The `shopt' `-p' option now causes output to be displayed in a reusable
+    format.
+    
+t.  `test' has a new `-N' option, which returns true if the filename argument
+    has been modified since it was last accessed.
+
+u.  `umask' now has a `-p' option to print output in a reusable format.
+    
+v.  A new escape sequence, `\xNNN', has been added to the `echo -e' and $'...'
+    translation code.  It expands to the character whose ascii code is NNN
+    in hexadecimal.
+    
+w.  The prompt string expansion code has a new `\r' escape sequence.
+
+x.  The shell may now be cross-compiled for the CYGWIN32 environment on
+    a Unix machine.
+
+2. New Features in Readline
+
+a.  There is now an option for `iterative' yank-last-arg handline, so a user
+    can keep entering `M-.', yanking the last argument of successive history
+    lines.
+
+b.  New variable, `print-completions-horizontally', which causes completion
+    matches to be displayed across the screen (like `ls -x') rather than up
+    and down the screen (like `ls').
+
+c.  New variable, `completion-ignore-case', which causes filename completion
+    and matching to be performed case-insensitively.
+
+d.  There is a new bindable command, `magic-space', which causes history
+    expansion to be performed on the current readline buffer and a space to
+    be inserted into the result.
+
+e.  There is a new bindable command, `menu-complete', which enables tcsh-like
+    menu completion (successive executions of menu-complete insert a single
+    completion match, cycling through the list of possible completions).
+
+f.  There is a new bindable command, `paste-from-clipboard', for use on Win32
+    systems, to insert the text from the Win32 clipboard into the editing
+    buffer.
+
+g.  The key sequence translation code now understands printf-style backslash
+    escape sequences, including \NNN octal escapes.  These escape sequences
+    may be used in key sequence definitions or macro values.
+
+h.  An `$include' inputrc file parser directive has been added.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.01 since
+the release of bash-2.0.  As always, the manual page (doc/bash.1) is the
+place to look for complete descriptions.
+
+1. New Features in Bash
+
+a.  There is a new builtin array variable: GROUPS, the set of groups to which
+    the user belongs.  This is used by the test suite.
+
+2.  New Features in Readline
+
+a.  If a key sequence bound to `universal-argument' is read while reading a
+    numeric argument started with `universal-argument', it terminates the
+    argument but is otherwise ignored.  This provides a way to insert multiple
+    instances of a digit string, and is how GNU emacs does it.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.0 since
+the release of bash-1.14.7.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1.  New Features in Bash
+
+a.  There is a new invocation option, -D, that dumps translatable strings
+    in a script.
+
+b.  The `long' invocation options must now be prefixed with `--'.
+
+c.  New long invocation options:  --dump-strings, --help, --verbose
+
+d.  The `nolineediting' invocation option was renamed to `noediting'.
+
+e.  The `nobraceexpansion' and `quiet' long invocation options were removed.
+
+f.  The `--help' and `--version' long options now work as the GNU coding
+    standards specify.
+
+g.  If invoked as `sh', bash now enters posix mode after reading the
+    startup files, and reads and executes commands from the file named
+    by $ENV if interactive (as POSIX.2 specifies).  A login shell invoked
+    as `sh' reads $ENV after /etc/profile and ~/.profile.
+
+h.  There is a new reserved word, `time', for timing pipelines, builtin
+    commands, and shell functions.  It uses the value of the TIMEFORMAT
+    variable as a format string describing how to print the timing
+    statistics.
+
+i.  The $'...' quoting syntax expands ANSI-C escapes in ... and leaves the
+    result single-quoted.
+
+j.  The $"..." quoting syntax performs locale-specific translation of ...
+    and leaves the result double-quoted.
+
+k.  LINENO now works correctly in functions.
+
+l.  New variables: DIRSTACK, PIPESTATUS, BASH_VERSINFO, HOSTNAME, SHELLOPTS,
+    MACHTYPE.  The first three are array variables.
+
+m.  The BASH_VERSION and BASH_VERSINFO variables now include the shell's
+    `release status' (alpha[N], beta[N], release).
+
+n.  Some variables have been removed:  MAIL_WARNING, notify, history_control,
+    command_oriented_history, glob_dot_filenames, allow_null_glob_expansion,
+    nolinks, hostname_completion_file, noclobber, no_exit_on_failed_exec, and
+    cdable_vars.  Most of them are now implemented with the new `shopt'
+    builtin; others were already implemented by `set'.
+
+o.  Bash now uses some new variables:  LC_ALL, LC_MESSAGES, LC_CTYPE,
+    LC_COLLATE, LANG, GLOBIGNORE, HISTIGNORE.
+
+p.  The shell now supports integer-indexed arrays of unlimited length,
+    with a new compound assignment syntax and changes to the appropriate
+    builtin commands (declare/typeset, read, readonly, etc.).  The array
+    index may be an arithmetic expression.
+
+q.  ${!var}: indirect variable expansion, equivalent to eval \${$var}.
+
+r.  ${paramter:offset[:length]}: variable substring extraction.
+
+s.  ${parameter/pattern[/[/]string]}: variable pattern substitution.
+
+t.  The $[...] arithmetic expansion syntax is no longer supported, in
+    favor of $((...)).
+
+u.  Aliases can now be expanded in shell scripts with a shell option
+    (shopt expand_aliases).
+
+v.  History and history expansion can now be used in scripts with
+    set -o history and set -H.
+
+w.  All builtins now return an exit status of 2 for incorrect usage.
+
+x.  Interactive shells resend SIGHUP to all running or stopped children
+    if (and only if) they exit due to a SIGHUP.
+
+y.  New prompting expansions: \a, \e, \H, \T, \@, \v, \V.
+
+z.  Variable expansion in prompt strings is now controllable via a shell
+    option (shopt promptvars).
+
+aa. Bash now defaults to using command-oriented history.
+
+bb. The history file ($HISTFILE) is now truncated to $HISTFILESIZE after
+    being written.
+
+cc. The POSIX.2 conditional arithmetic evaluation syntax (expr ? expr : expr)
+    has been implemented.
+
+dd. Each builtin now accepts `--' to signify the end of the options, except
+    as documented (echo, etc.).
+
+ee. All builtins use -p to display values in a re-readable format where
+    appropriate, except as documented (echo, type, etc.).
+
+ff. The `alias' builtin has a new -p option.
+
+gg. Changes to the `bind' builtin:
+       o has new options: -psPSVr.
+       o the `-d' option was renamed to `-p'
+       o the `-v' option now dumps variables; the old `-v' is now `-P'
+
+hh. The `bye' synonym for `exit' was removed.
+
+ii. The -L and -P options to `cd' and `pwd' have been documented.
+
+jj. The `cd' builtin now does spelling correction on the directory name
+    by default.  This is settable with a shell option (shopt cdspell).
+
+kk. The `declare' builtin has new options: -a, -F, -p.
+
+ll. The `dirs' builtin has new options: -c, -p, -v.
+
+mm. The new `disown' builtin removes jobs from the shell's jobs table
+    or inhibits the resending of SIGHUP when the shell receives a
+    SIGHUP.
+
+nn. The `echo' builtin has a new escape character: \e.
+
+oo. The `enable' builtin can now load new builtins dynamically from shared
+    objects on systems with the dlopen/dlsym interface.  There are a number
+    of examples in the examples/loadables directory.  There are also
+    new options: -d, -f, -s, -p.
+
+pp. The `-all' option to `enable' was removed in favor of `-a'.
+
+qq. The `exec' builtin has new options: -l, -c, -a.
+
+rr. The `hash' builtin has a new option: -p.
+
+ss. The `history' builtin has new options: -c, -p, -s.
+
+tt. The `jobs' builtin has new options: -r, -s.
+
+uu. The `kill' builtin has new options: -n signum, -l signame.
+
+vv. The `pushd' and `popd' builtins have a new option: -n.
+
+ww. The `read' builtin has new options: -p prompt, -e, -a.
+
+xx. The `readonly' builtin has a new -a option, and the -n option was removed.
+
+yy. Changes to the `set' builtin:
+       o new options: -B, -o keyword, -o onecmd, -o history
+       o options removed: -l, -d, -o nohash
+       o options changed: +o, -h, -o hashall
+       o now displays variables in a format that can be re-read as input
+
+zz. The new `shopt' builtin controls shell optional behavior previously
+    done by setting and unsetting certain shell variables.
+
+aaa. The `test' builtin has new operators: -o option, s1 == s2, s1 < s2,
+     and s1 > s2, where s1 and s2 are strings.
+
+bbb. There is a new trap, DEBUG, executed after every simple command.
+
+ccc. The `trap' builtin has a new -p option.
+
+ddd. The `ulimit' builtin has a new -l option on 4.4BSD-based systems.
+
+eee. The PS1, PS2, PATH, and IFS variables may now be unset.
+
+fff. The restricted shell mode has been expanded and is now documented.
+
+ggg. Security improvements:
+       o functions are not imported from the environment if running setuid
+         or with -p
+       o no startup files are sourced if running setuid or with -p
+
+hhh. The documentation has been overhauled:  the texinfo manual was
+     expanded, and HTML versions of the man page and texinfo manual
+     are included.
+
+iii. Changes to Posix mode:
+       o Command lookup now finds special builtins before shell functions.
+       o Failure of a special builtin causes a non-interactive shell to
+         exit.  Failures are defined in the POSIX.2 specification.
+       o If the `cd' builtin finds a directory to change to using $CDPATH,
+         the value assigned to PWD when `cd' completes does not contain
+         any symbolic links.
+       o A non-interactive shell exits if a variable assignment error
+         occurs when no command name follows the assignment statements.
+       o A non-interactive shell exits if the interation variable in a
+         `for' statement or the selection variable in a `select' statement
+         is read-only or another variable assignment error occurs.
+       o The `<>' redirection operator now opens a file for both stdin and
+         stdout by default, not just when in posix mode.
+       o Assignment statements preceding special builtins now persist in
+         the shell's environment when the builtin completes.
+
+     Posix mode is now completely POSIX.2-compliant (modulo bugs).  When
+     invoked as sh, bash should be completely POSIX.2-compliant.
+
+jjj. The default value of PS1 is now "\s-\v\$ ".
+
+kkk. The ksh-like ((...)) arithmetic command syntax has been implemented.
+     This is exactly equivalent to `let "..."'.
+
+lll. Integer constants have been extended to base 64.
+
+mmm. The `ulimit' builtin now sets both hard and soft limits and reports the
+     soft limit by default.
+
+2.  New Features in Readline
+
+a.  New variables:  enable-keypad, input-meta (new name for meta-flag),
+    mark-directories, visible-stats (now documented), disable-completion,
+    comment-begin.
+
+b.  New bindable commands:  kill-region, copy-region-as-kill,
+    copy-backward-word, copy-forward-word, set-mark, exchange-point-and-mark,
+    character-search, character-search-backward, insert-comment,
+    glob-expand-word, glob-list-expansions, dump-variables, dump-macros.
+
+c.  New emacs keybindings:  delete-horizontal-space (M-\),
+    insert-completions (M-*), possible-completions (M-=).
+
+d.  The history-search-backward and history-search-forward commands were
+    modified to be the same as previous-line and next-line if point is at
+    the start of the line.
+
+e.  More file types are available for the visible-stats mode.
+
+3.  Changes of interest in the Bash implementation
+
+a.  There is a new autoconf-based configuration mechanism.
+
+b.  More things have been moved from Posix mode to standard shell behavior.
+
+c.  The trace output (set -x) now inserts quotes where necessary so it can
+    be reused as input.
+
+d.  There is a compile-time option for a system-wide interactive shell
+    startup file (disabled by default).
+
+e.  The YACC grammar is smaller and tighter, and all 66 shift-reduce
+    conflicts are gone.  Several parsing bugs have been fixed.
+
+f.  Builtin option parsing has been regularized (using internal_getopt()),
+    with the exception of `echo', `type', and `set'.
+
+g.  Builtins now return standard usage messages constructed from the
+    `short doc' used by the help builtin.
+
+h.  Completion now quotes using backslashes by default, but honors
+    user-supplied quotes.
+
+i.  The GNU libc malloc is available as a configure-time option.
+
+j.  There are more internationalization features; bash uses gettext if
+    it is available.  The $"..." translation syntax uses the current
+    locale and gettext.
+
+k.  There is better reporting of job termination when the shell is not
+    interactive.
+
+l.  The shell is somewhat more efficient: it uses a little less memory and
+    makes fewer system calls.
+
+4.  Changes of interest in the Readline implementation
+
+a.  There is now support for readline `callback' functions.
+
+b.  There is now support for user-supplied input, redisplay, and terminal
+    preparation functions.
+
+c.  Most of the shell-specific code in readline has been generalized or
+    removed.
+
+d.  Most of the annoying redisplay bugs have been fixed, notably the problems
+    with incremental search and excessive redrawing when special characters
+    appear in the prompt string.
+
+e.  There are new library functions and variables available to application
+    writers, most having to do with completion and quoting.
+
+f.  The NEWLINE character (^J) is now treated as a search terminator by the
+    incremental search functions.
+-------------------------------------------------------------------------------
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without any warranty.
diff --git a/README b/README
index c5c715909b4d0ba2edd91df37659a2898f732b77..8d86c5793fe0d097f65a4f712e862bcbdc72a950 100644 (file)
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
 Introduction
 ============
 
-This is GNU Bash, version 4.1.  Bash is the GNU Project's Bourne
-Again SHell, a complete implementation of the POSIX.2 shell spec,
+This is GNU Bash, version 4.2.  Bash is the GNU Project's Bourne
+Again SHell, a complete implementation of the POSIX shell spec,
 but also with interactive command line editing, job control on
 architectures that support it, csh-like features such as history
 substitution and brace expansion, and a slew of other features. 
@@ -12,11 +12,11 @@ large Unix-style man page.  The man page is the definitive description
 of the shell's features. 
 
 See the file POSIX for a discussion of how the Bash defaults differ
-from the POSIX.2 spec and a description of the Bash `posix mode'.
+from the POSIX spec and a description of the Bash `posix mode'.
 
 There are some user-visible incompatibilities between this version
-of Bash and previous widely-distributed versions, bash-3.2 and
-bash-4.0.  For details, see the file COMPAT.  The NEWS file tersely
+of Bash and previous widely-distributed versions, bash-4.0 and
+bash-4.1.  For details, see the file COMPAT.  The NEWS file tersely
 lists features that are new in this release. 
 
 Bash is free software, distributed under the terms of the [GNU] General
@@ -27,10 +27,10 @@ see the file COPYING.
 A number of frequently-asked questions are answered in the file
 `doc/FAQ'.
 
-To compile Bash, try typing `./configure', then `make'.  Bash
-auto-configures the build process, so no further intervention
-should be necessary.  Bash builds with `gcc' by default if it is
-available.  If you want to use `cc' instead, type
+To compile Bash, type `./configure', then `make'.  Bash auto-configures
+the build process, so no further intervention should be necessary.  Bash
+builds with `gcc' by default if it is available.  If you want to use `cc'
+instead, type
 
        CC=cc ./configure
 
diff --git a/README~ b/README~
new file mode 100644 (file)
index 0000000..c5c7159
--- /dev/null
+++ b/README~
@@ -0,0 +1,96 @@
+Introduction
+============
+
+This is GNU Bash, version 4.1.  Bash is the GNU Project's Bourne
+Again SHell, a complete implementation of the POSIX.2 shell spec,
+but also with interactive command line editing, job control on
+architectures that support it, csh-like features such as history
+substitution and brace expansion, and a slew of other features. 
+For more information on the features of Bash that are new to this
+type of shell, see the file `doc/bashref.texi'.  There is also a
+large Unix-style man page.  The man page is the definitive description
+of the shell's features. 
+
+See the file POSIX for a discussion of how the Bash defaults differ
+from the POSIX.2 spec and a description of the Bash `posix mode'.
+
+There are some user-visible incompatibilities between this version
+of Bash and previous widely-distributed versions, bash-3.2 and
+bash-4.0.  For details, see the file COMPAT.  The NEWS file tersely
+lists features that are new in this release. 
+
+Bash is free software, distributed under the terms of the [GNU] General
+Public License as published by the Free Software Foundation,
+version 3 of the License (or any later version).  For more information,
+see the file COPYING. 
+
+A number of frequently-asked questions are answered in the file
+`doc/FAQ'.
+
+To compile Bash, try typing `./configure', then `make'.  Bash
+auto-configures the build process, so no further intervention
+should be necessary.  Bash builds with `gcc' by default if it is
+available.  If you want to use `cc' instead, type
+
+       CC=cc ./configure
+
+if you are using a Bourne-style shell.  If you are not, the following
+may work:
+
+       env CC=cc ./configure
+
+Read the file INSTALL in this directory for more information about how
+to customize and control the build process.  The file NOTES contains
+platform-specific installation and configuration information.
+
+If you are a csh user and wish to convert your csh aliases to Bash
+aliases, you may wish to use the script `examples/misc/alias-conv.sh'
+as a starting point.  The script `examples/misc/cshtobash' is a
+more ambitious script that attempts to do a more complete job.
+
+Reporting Bugs
+==============
+
+Bug reports for bash should be sent to:
+
+       bug-bash@gnu.org
+
+using the `bashbug' program that is built and installed at the same
+time as bash.
+
+The discussion list `bug-bash@gnu.org' often contains information
+about new ports of Bash, or discussions of new features or behavior
+changes that people would like.  This mailing list is also available
+as a usenet newsgroup: gnu.bash.bug. 
+
+When you send a bug report, please use the `bashbug' program that is
+built at the same time as bash.  If bash fails to build, try building
+bashbug directly with `make bashbug'.  If you cannot build `bashbug',
+please send mail to bug-bash@gnu.org with the following information:
+
+       * the version number and release status of Bash (e.g., 2.05a-release)
+       * the machine and OS that it is running on (you may run
+         `bashversion -l' from the bash build directory for this information)
+       * a list of the compilation flags or the contents of `config.h', if
+         appropriate
+       * a description of the bug
+       * a recipe for recreating the bug reliably
+       * a fix for the bug if you have one!
+
+The `bashbug' program includes much of this automatically.
+
+If you would like to contact the Bash maintainers directly, send mail
+to bash-maintainers@gnu.org.
+
+While the Bash maintainers do not promise to fix all bugs, we would
+like this shell to be the best that we can make it.
+
+Enjoy!
+
+Chet Ramey
+chet.ramey@case.edu
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without any warranty.
index 3b3ecb30b41aa808446b2dd233427298787fd971..d49e2c7fd58185eba1a83e675ec93b8e3c659f9e 100644 (file)
@@ -1,7 +1,7 @@
 @%:@! /bin/sh
 @%:@ From configure.in for Bash 4.2, version 4.033.
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.63 for bash 4.2-devel.
+@%:@ Generated by GNU Autoconf 2.63 for bash 4.2-alpha.
 @%:@
 @%:@ 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.2-devel'
-PACKAGE_STRING='bash 4.2-devel'
+PACKAGE_VERSION='4.2-alpha'
+PACKAGE_STRING='bash 4.2-alpha'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 
 ac_unique_file="shell.h"
@@ -1408,7 +1408,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.2-devel to adapt to many kinds of systems.
+\`configure' configures bash 4.2-alpha to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1473,7 +1473,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 4.2-devel:";;
+     short | recursive ) echo "Configuration of bash 4.2-alpha:";;
    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.2-devel
+bash configure 4.2-alpha
 generated by GNU Autoconf 2.63
 
 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.2-devel, which was
+It was created by bash $as_me 4.2-alpha, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2076,7 +2076,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 BASHVERS=4.2
-RELSTATUS=devel
+RELSTATUS=alpha
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -31860,7 +31860,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.2-devel, which was
+This file was extended by bash $as_me 4.2-alpha, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -31923,7 +31923,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-bash config.status 4.2-devel
+bash config.status 4.2-alpha
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
index 014c1526793ccc20fe5014394befba83e8496a78..4a5e08c959e79308e600ade061bffe6a5fcb00af 100644 (file)
                         '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,
                         '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,
index 57ddf76c84ddca682fcc0ac0d5d0cfc50766c0c2..c38446da0aee623d4c8dfc957e21c84969b39f5b 100644 (file)
@@ -1,4 +1,4 @@
-m4trace:configure.in:29: -1- AC_INIT([bash], [4.2-devel], [bug-bash@gnu.org])
+m4trace:configure.in:29: -1- AC_INIT([bash], [4.2-alpha], [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'])
index a0b0d709eba91fa12509b14e371c514bcc8645a4..7ce19361c9b4c73912babe289011e657d286fa27 100644 (file)
@@ -993,6 +993,20 @@ bash_forward_shellword (count, key)
          return 0;
        }
 
+      /* Are we in a quoted string?  If we are, move to the end of the quoted
+         string and continue the outer loop. We only want quoted strings, not
+         backslash-escaped characters, but char_is_quoted doesn't
+         differentiate. */
+      if (char_is_quoted (rl_line_buffer, p) && p > 0 && rl_line_buffer[p-1] != '\\')
+       {
+         do
+           ADVANCE_CHAR (rl_line_buffer, slen, p);
+         while (p < rl_end && char_is_quoted (rl_line_buffer, p));
+         count--;
+         continue;
+       }
+
+      /* Rest of code assumes we are not in a quoted string. */
       /* Move forward until we hit a non-metacharacter. */
       while (p < rl_end && (c = rl_line_buffer[p]) && WORDDELIM (c))
        {
index 7fee50d2979391dc78cef20914fa61dbbcb9e6c3..9bb2c25c4c059a3d7b0ea11c841a36a60aa6af3d 100644 (file)
@@ -993,6 +993,18 @@ bash_forward_shellword (count, key)
          return 0;
        }
 
+      /* Are we in a quoted string?  If we are, move to the end of the quoted
+         string and continue the outer loop. */
+      if (char_is_quoted (rl_line_buffer, p) && p > 0 && rl_line_buffer[p-1] != '\\')
+       {
+         do
+           ADVANCE_CHAR (rl_line_buffer, slen, p);
+         while (p < rl_end && char_is_quoted (rl_line_buffer, p));
+         count--;
+         continue;
+       }
+
+      /* Rest of code assumes we are not in a quoted string. */
       /* Move forward until we hit a non-metacharacter. */
       while (p < rl_end && (c = rl_line_buffer[p]) && WORDDELIM (c))
        {
@@ -1400,12 +1412,12 @@ bash_default_completion (text, start, end, qc, compflags)
 
   /* If the word starts in `~', and there is no slash in the word, then
      try completing this word as a username. */
-  if (matches ==0 && *text == '~' && mbschr (text, '/') == 0)
+  if (matches == 0 && *text == '~' && mbschr (text, '/') == 0)
     matches = rl_completion_matches (text, rl_username_completion_function);
 
   /* Another one.  Why not?  If the word starts in '@', then look through
      the world of known hostnames for completion first. */
-  if (!matches && perform_hostname_completion && *text == '@')
+  if (matches == 0 && perform_hostname_completion && *text == '@')
     matches = rl_completion_matches (text, hostname_completion_function);
 
   /* And last, (but not least) if this word is in a command position, then
index 45abe45421c2d1a515ca6e542d90a81c42b5748c..a8c39406d6422fc86eaa49e0e1372dae436713e3 100644 (file)
--- a/braces.c
+++ b/braces.c
@@ -63,7 +63,7 @@ static const int brace_arg_separator = ',';
 static int brace_gobbler __P((char *, size_t, int *, int));
 static char **expand_amble __P((char *, size_t, int));
 static char **expand_seqterm __P((char *, size_t));
-static char **mkseq __P((int, int, int, int, int));
+static char **mkseq __P((intmax_t, intmax_t, int, int, int));
 static char **array_concat __P((char **, char **));
 #else
 static int brace_gobbler ();
@@ -307,13 +307,15 @@ expand_amble (text, tlen, flags)
 
 static char **
 mkseq (start, end, incr, type, width)
-     int start, end, incr, type, width;
+     intmax_t start, end;
+     int incr, type, width;
 {
-  int n, i;
+  intmax_t n;
+  int i;
   char **result, *t;
 
-  n = abs (end - start) + 1;
-  result = strvec_create (n + 1);
+  i = abs (end - start) + 1;
+  result = strvec_create (i + 1);
 
   if (incr == 0)
     incr = 1;
@@ -362,7 +364,8 @@ expand_seqterm (text, tlen)
      size_t tlen;
 {
   char *t, *lhs, *rhs;
-  int i, lhs_t, rhs_t, lhs_v, rhs_v, incr, lhs_l, rhs_l, width;
+  int i, lhs_t, rhs_t, incr, lhs_l, rhs_l, width;
+  intmax_t lhs_v, rhs_v;
   intmax_t tl, tr;
   char **result, *ep, *oep;
 
diff --git a/braces.c.save1 b/braces.c.save1
new file mode 100644 (file)
index 0000000..f787de2
--- /dev/null
@@ -0,0 +1,688 @@
+/* braces.c -- code for doing word expansion in curly braces. */
+
+/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash 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.
+
+   Bash 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 Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/* Stuff in curly braces gets expanded before all other shell expansions. */
+
+#include "config.h"
+
+#if defined (BRACE_EXPANSION)
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+#    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#include "bashansi.h"
+
+#if defined (SHELL)
+#  include "shell.h"
+#endif /* SHELL */
+
+#include "general.h"
+#include "shmbutil.h"
+#include "chartypes.h"
+
+#define brace_whitespace(c) (!(c) || (c) == ' ' || (c) == '\t' || (c) == '\n')
+
+#define BRACE_SEQ_SPECIFIER    ".."
+
+extern int asprintf __P((char **, const char *, ...)) __attribute__((__format__ (printf, 2, 3)));
+
+/* Basic idea:
+
+   Segregate the text into 3 sections: preamble (stuff before an open brace),
+   postamble (stuff after the matching close brace) and amble (stuff after
+   preamble, and before postamble).  Expand amble, and then tack on the
+   expansions to preamble.  Expand postamble, and tack on the expansions to
+   the result so far.
+ */
+
+/* The character which is used to separate arguments. */
+static const int brace_arg_separator = ',';
+
+#if defined (__P)
+static int brace_gobbler __P((char *, size_t, int *, int));
+static char **expand_amble __P((char *, size_t, int));
+static char **expand_seqterm __P((char *, size_t));
+static char **mkseq __P((int, int, int, int, int));
+static char **array_concat __P((char **, char **));
+#else
+static int brace_gobbler ();
+static char **expand_amble ();
+static char **expand_seqterm ();
+static char **mkseq();
+static char **array_concat ();
+#endif
+
+#if 0
+static void
+dump_result (a)
+     char **a;
+{
+  int i;
+
+  for (i = 0; a[i]; i++)
+    printf ("dump_result: a[%d] = -%s-\n", i, a[i]);
+}
+#endif
+
+/* Return an array of strings; the brace expansion of TEXT. */
+char **
+brace_expand (text)
+     char *text;
+{
+  register int start;
+  size_t tlen;
+  char *preamble, *postamble, *amble;
+  size_t alen;
+  char **tack, **result;
+  int i, j, c, c1;
+
+  DECLARE_MBSTATE;
+
+  /* Find the text of the preamble. */
+  tlen = strlen (text);
+  i = 0;
+#if defined (CSH_BRACE_COMPAT)
+  c = brace_gobbler (text, tlen, &i, '{');     /* } */
+#else
+  /* Make sure that when we exit this loop, c == 0 or text[i] begins a
+     valid brace expansion sequence. */
+  do
+    {
+      c = brace_gobbler (text, tlen, &i, '{'); /* } */
+      c1 = c;
+      /* Verify that c begins a valid brace expansion word.  If it doesn't, we
+        go on.  Loop stops when there are no more open braces in the word. */
+      if (c)
+       {
+         start = j = i + 1;    /* { */
+         c = brace_gobbler (text, tlen, &j, '}');
+         if (c == 0)           /* it's not */
+           {
+             i++;
+             c = c1;
+             continue;
+           }
+         else                  /* it is */
+           {
+             c = c1;
+             break;
+           }
+       }
+      else
+       break;
+    }
+  while (c);
+#endif /* !CSH_BRACE_COMPAT */
+
+  preamble = (char *)xmalloc (i + 1);
+  strncpy (preamble, text, i);
+  preamble[i] = '\0';
+
+  result = (char **)xmalloc (2 * sizeof (char *));
+  result[0] = preamble;
+  result[1] = (char *)NULL;
+
+  /* Special case.  If we never found an exciting character, then
+     the preamble is all of the text, so just return that. */
+  if (c != '{')
+    return (result);
+
+  /* Find the amble.  This is the stuff inside this set of braces. */
+  start = ++i;
+  c = brace_gobbler (text, tlen, &i, '}');
+
+  /* What if there isn't a matching close brace? */
+  if (c == 0)
+    {
+#if defined (NOTDEF)
+      /* Well, if we found an unquoted BRACE_ARG_SEPARATOR between START
+        and I, then this should be an error.  Otherwise, it isn't. */
+      j = start;
+      while (j < i)
+       {
+         if (text[j] == '\\')
+           {
+             j++;
+             ADVANCE_CHAR (text, tlen, j);
+             continue;
+           }
+
+         if (text[j] == brace_arg_separator)
+           {   /* { */
+             strvec_dispose (result);
+             report_error ("no closing `%c' in %s", '}', text);
+             throw_to_top_level ();
+           }
+         ADVANCE_CHAR (text, tlen, j);
+       }
+#endif
+      free (preamble);         /* Same as result[0]; see initialization. */
+      result[0] = savestring (text);
+      return (result);
+    }
+
+#if defined (SHELL)
+  amble = substring (text, start, i);
+  alen = i - start;
+#else
+  amble = (char *)xmalloc (1 + (i - start));
+  strncpy (amble, &text[start], (i - start));
+  alen = i - start;
+  amble[alen] = '\0';
+#endif
+
+#if defined (SHELL)
+  INITIALIZE_MBSTATE;
+
+  /* If the amble does not contain an unquoted BRACE_ARG_SEPARATOR, then
+     just return without doing any expansion.  */
+  j = 0;
+  while (amble[j])
+    {
+      if (amble[j] == '\\')
+       {
+         j++;
+         ADVANCE_CHAR (amble, alen, j);
+         continue;
+       }
+
+      if (amble[j] == brace_arg_separator)
+       break;
+
+      ADVANCE_CHAR (amble, alen, j);
+    }
+
+  if (amble[j] == 0)
+    {
+      tack = expand_seqterm (amble, alen);
+      if (tack)
+       goto add_tack;
+      else
+       {
+         free (amble);
+         free (preamble);
+         result[0] = savestring (text);
+         return (result);
+       }
+    }
+#endif /* SHELL */
+
+  tack = expand_amble (amble, alen, 0);
+add_tack:
+  result = array_concat (result, tack);
+  free (amble);
+  strvec_dispose (tack);
+
+  postamble = text + i + 1;
+
+  tack = brace_expand (postamble);
+  result = array_concat (result, tack);
+  strvec_dispose (tack);
+
+  return (result);
+}
+
+/* Expand the text found inside of braces.  We simply try to split the
+   text at BRACE_ARG_SEPARATORs into separate strings.  We then brace
+   expand each slot which needs it, until there are no more slots which
+   need it. */
+static char **
+expand_amble (text, tlen, flags)
+     char *text;
+     size_t tlen;
+     int flags;
+{
+  char **result, **partial;
+  char *tem;
+  int start, i, c;
+
+  DECLARE_MBSTATE;
+
+  result = (char **)NULL;
+
+  start = i = 0;
+  c = 1;
+  while (c)
+    {
+      c = brace_gobbler (text, tlen, &i, brace_arg_separator);
+#if defined (SHELL)
+      tem = substring (text, start, i);
+#else
+      tem = (char *)xmalloc (1 + (i - start));
+      strncpy (tem, &text[start], (i - start));
+      tem[i- start] = '\0';
+#endif
+
+      partial = brace_expand (tem);
+
+      if (!result)
+       result = partial;
+      else
+       {
+         register int lr, lp, j;
+
+         lr = strvec_len (result);
+         lp = strvec_len (partial);
+
+         result = strvec_resize (result, lp + lr + 1);
+
+         for (j = 0; j < lp; j++)
+           result[lr + j] = partial[j];
+
+         result[lr + j] = (char *)NULL;
+         free (partial);
+       }
+      free (tem);
+      ADVANCE_CHAR (text, tlen, i);
+      start = i;
+    }
+  return (result);
+}
+
+#define ST_BAD 0
+#define ST_INT 1
+#define ST_CHAR        2
+#define ST_ZINT        3
+
+static char **
+mkseq (start, end, incr, type, width)
+     int start, end;
+     int incr, type, width;
+{
+  int n, i;
+  char **result, *t;
+
+  n = abs (end - start) + 1;
+  result = strvec_create (n + 1);
+
+  if (incr == 0)
+    incr = 1;
+  
+  if (start > end && incr > 0)
+    incr = -incr;
+  else if (start < end && incr < 0)
+    incr = -incr;
+
+  /* Make sure we go through the loop at least once, so {3..3} prints `3' */
+  i = 0;
+  n = start;
+  do
+    {
+#if defined (SHELL)
+      QUIT;            /* XXX - memory leak here */
+#endif
+      if (type == ST_INT)
+       result[i++] = itos (n);
+      else if (type == ST_ZINT)
+       {
+         int len;
+         len = asprintf (&t, "%0*d", width, n);
+         result[i++] = t;
+       }
+      else
+       {
+         t = (char *)xmalloc (2);
+         t[0] = n;
+         t[1] = '\0';
+         result[i++] = t;
+       }
+      n += incr;
+      if ((incr < 0 && n < end) || (incr > 0 && n > end))
+       break;
+    }
+  while (1);
+
+  result[i] = (char *)0;
+  return (result);
+}
+
+static char **
+expand_seqterm (text, tlen)
+     char *text;
+     size_t tlen;
+{
+  char *t, *lhs, *rhs;
+  int i, lhs_t, rhs_t, lhs_v, rhs_v, incr, lhs_l, rhs_l, width;
+  intmax_t tl, tr;
+  char **result, *ep, *oep;
+
+  t = strstr (text, BRACE_SEQ_SPECIFIER);
+  if (t == 0)
+    return ((char **)NULL);
+
+  lhs_l = t - text;            /* index of start of BRACE_SEQ_SPECIFIER */
+  lhs = substring (text, 0, lhs_l);
+  rhs = substring (text, lhs_l + sizeof(BRACE_SEQ_SPECIFIER) - 1, tlen);
+
+  if (lhs[0] == 0 || rhs[0] == 0)
+    {
+      free (lhs);
+      free (rhs);
+      return ((char **)NULL);
+    }
+
+  /* Now figure out whether LHS and RHS are integers or letters.  Both
+     sides have to match. */
+  lhs_t = (legal_number (lhs, &tl)) ? ST_INT :
+               ((ISALPHA (lhs[0]) && lhs[1] == 0) ?  ST_CHAR : ST_BAD);
+
+  /* Decide on rhs and whether or not it looks like the user specified
+     an increment */
+  ep = 0;
+  if (ISDIGIT (rhs[0]) || ((rhs[0] == '+' || rhs[0] == '-') && ISDIGIT (rhs[1])))
+    {
+      rhs_t = ST_INT;
+      tr = strtoimax (rhs, &ep, 10);
+      if (ep && *ep != 0 && *ep != '.')
+       rhs_t = ST_BAD;                 /* invalid */
+    }
+  else if (ISALPHA (rhs[0]) && (rhs[1] == 0 || rhs[1] == '.'))
+    {
+      rhs_t = ST_CHAR;
+      ep = rhs + 1;
+    }
+  else
+    {
+      rhs_t = ST_BAD;
+      ep = 0;
+    }
+
+  incr = 1;
+  if (rhs_t != ST_BAD)
+    {
+      oep = ep;
+      if (ep && *ep == '.' && ep[1] == '.' && ep[2])
+       incr = strtoimax (ep + 2, &ep, 10);
+      if (*ep != 0)
+       rhs_t = ST_BAD;                 /* invalid incr */
+      tlen -= ep - oep;
+    }
+
+  if (lhs_t != rhs_t || lhs_t == ST_BAD || rhs_t == ST_BAD)
+    {
+      free (lhs);
+      free (rhs);
+      return ((char **)NULL);
+    }
+
+  /* OK, we have something.  It's either a sequence of integers, ascending
+     or descending, or a sequence or letters, ditto.  Generate the sequence,
+     put it into a string vector, and return it. */
+  
+  if (lhs_t == ST_CHAR)
+    {
+      lhs_v = (unsigned char)lhs[0];
+      rhs_v = (unsigned char)rhs[0];
+      width = 1;
+    }
+  else
+    {
+      lhs_v = tl;              /* integer truncation */
+      rhs_v = tr;
+
+      /* Decide whether or not the terms need zero-padding */
+      rhs_l = tlen - lhs_l - sizeof (BRACE_SEQ_SPECIFIER) + 1;
+      width = 0;
+      if (lhs_l > 1 && lhs[0] == '0')
+       width = lhs_l, lhs_t = ST_ZINT;
+      if (lhs_l > 2 && lhs[0] == '-' && lhs[1] == '0')
+       width = lhs_l, lhs_t = ST_ZINT;
+      if (rhs_l > 1 && rhs[0] == '0' && width < rhs_l)
+       width = rhs_l, lhs_t = ST_ZINT;
+      if (rhs_l > 2 && rhs[0] == '-' && rhs[1] == '0' && width < rhs_l)
+       width = rhs_l, lhs_t = ST_ZINT;
+
+      if (width < lhs_l && lhs_t == ST_ZINT)
+        width = lhs_l;
+      if (width < rhs_l && lhs_t == ST_ZINT)
+        width = rhs_l;
+    }
+
+  result = mkseq (lhs_v, rhs_v, incr, lhs_t, width);
+
+  free (lhs);
+  free (rhs);
+
+  return (result);
+}
+
+/* Start at INDEX, and skip characters in TEXT. Set INDEX to the
+   index of the character matching SATISFY.  This understands about
+   quoting.  Return the character that caused us to stop searching;
+   this is either the same as SATISFY, or 0. */
+/* If SATISFY is `}', we are looking for a brace expression, so we
+   should enforce the rules that govern valid brace expansions:
+       1) to count as an arg separator, a comma or `..' has to be outside
+          an inner set of braces.       
+*/
+static int
+brace_gobbler (text, tlen, indx, satisfy)
+     char *text;
+     size_t tlen;
+     int *indx;
+     int satisfy;
+{
+  register int i, c, quoted, level, commas, pass_next;
+#if defined (SHELL)
+  int si;
+  char *t;
+#endif
+  DECLARE_MBSTATE;
+
+  level = quoted = pass_next = 0;
+#if defined (CSH_BRACE_COMPAT)
+  commas = 1;
+#else
+  commas = (satisfy == '}') ? 0 : 1;
+#endif
+
+  i = *indx;
+  while (c = text[i])
+    {
+      if (pass_next)
+       {
+         pass_next = 0;
+         ADVANCE_CHAR (text, tlen, i);
+         continue;
+       }
+
+      /* A backslash escapes the next character.  This allows backslash to
+        escape the quote character in a double-quoted string. */
+      if (c == '\\' && (quoted == 0 || quoted == '"' || quoted == '`'))
+       {
+         pass_next = 1;
+         i++;
+         continue;
+       }
+
+#if defined (SHELL)
+      /* If compiling for the shell, treat ${...} like \{...} */
+      if (c == '$' && text[i+1] == '{' && quoted != '\'')              /* } */
+       {
+         pass_next = 1;
+         i++;
+         if (quoted == 0)
+           level++;
+         continue;
+       }
+#endif
+
+      if (quoted)
+       {
+         if (c == quoted)
+           quoted = 0;
+         ADVANCE_CHAR (text, tlen, i);
+         continue;
+       }
+
+      if (c == '"' || c == '\'' || c == '`')
+       {
+         quoted = c;
+         i++;
+         continue;
+       }
+
+#if defined (SHELL)
+      /* Pass new-style command and process substitutions through unchanged. */
+      if ((c == '$' || c == '<' || c == '>') && text[i+1] == '(')                      /* ) */
+       {
+         si = i + 2;
+         t = extract_command_subst (text, &si, 0);
+         i = si;
+         free (t);
+         i++;
+         continue;
+       }
+#endif
+
+      if (c == satisfy && level == 0 && quoted == 0 && commas > 0)
+       {
+         /* We ignore an open brace surrounded by whitespace, and also
+            an open brace followed immediately by a close brace preceded
+            by whitespace.  */
+         if (c == '{' &&
+             ((!i || brace_whitespace (text[i - 1])) &&
+              (brace_whitespace (text[i + 1]) || text[i + 1] == '}')))
+           {
+             i++;
+             continue;
+           }
+
+           break;
+       }
+
+      if (c == '{')
+       level++;
+      else if (c == '}' && level)
+       level--;
+#if !defined (CSH_BRACE_COMPAT)
+      else if (satisfy == '}' && c == brace_arg_separator && level == 0)
+       commas++;
+      else if (satisfy == '}' && STREQN (text+i, BRACE_SEQ_SPECIFIER, 2) &&
+               text[i+2] != satisfy && level == 0)
+       commas++;
+#endif
+
+      ADVANCE_CHAR (text, tlen, i);
+    }
+
+  *indx = i;
+  return (c);
+}
+
+/* Return a new array of strings which is the result of appending each
+   string in ARR2 to each string in ARR1.  The resultant array is
+   len (arr1) * len (arr2) long.  For convenience, ARR1 (and its contents)
+   are free ()'ed.  ARR1 can be NULL, in that case, a new version of ARR2
+   is returned. */
+static char **
+array_concat (arr1, arr2)
+     char **arr1, **arr2;
+{
+  register int i, j, len, len1, len2;
+  register char **result;
+
+  if (arr1 == 0)
+    return (strvec_copy (arr2));
+
+  if (arr2 == 0)
+    return (strvec_copy (arr1));
+
+  len1 = strvec_len (arr1);
+  len2 = strvec_len (arr2);
+
+  result = (char **)xmalloc ((1 + (len1 * len2)) * sizeof (char *));
+
+  len = 0;
+  for (i = 0; i < len1; i++)
+    {
+      int strlen_1 = strlen (arr1[i]);
+
+      for (j = 0; j < len2; j++)
+       {
+         result[len] = (char *)xmalloc (1 + strlen_1 + strlen (arr2[j]));
+         strcpy (result[len], arr1[i]);
+         strcpy (result[len] + strlen_1, arr2[j]);
+         len++;
+       }
+      free (arr1[i]);
+    }
+  free (arr1);
+
+  result[len] = (char *)NULL;
+  return (result);
+}
+
+#if defined (TEST)
+#include <stdio.h>
+
+fatal_error (format, arg1, arg2)
+     char *format, *arg1, *arg2;
+{
+  report_error (format, arg1, arg2);
+  exit (1);
+}
+
+report_error (format, arg1, arg2)
+     char *format, *arg1, *arg2;
+{
+  fprintf (stderr, format, arg1, arg2);
+  fprintf (stderr, "\n");
+}
+
+main ()
+{
+  char example[256];
+
+  for (;;)
+    {
+      char **result;
+      int i;
+
+      fprintf (stderr, "brace_expand> ");
+
+      if ((!fgets (example, 256, stdin)) ||
+         (strncmp (example, "quit", 4) == 0))
+       break;
+
+      if (strlen (example))
+       example[strlen (example) - 1] = '\0';
+
+      result = brace_expand (example);
+
+      for (i = 0; result[i]; i++)
+       printf ("%s\n", result[i]);
+
+      free_array (result);
+    }
+}
+\f
+/*
+ * Local variables:
+ * compile-command: "gcc -g -Bstatic -DTEST -o brace_expand braces.c general.o"
+ * end:
+ */
+
+#endif /* TEST */
+#endif /* BRACE_EXPANSION */
diff --git a/braces.c~ b/braces.c~
new file mode 100644 (file)
index 0000000..15e9c7f
--- /dev/null
+++ b/braces.c~
@@ -0,0 +1,689 @@
+/* braces.c -- code for doing word expansion in curly braces. */
+
+/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash 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.
+
+   Bash 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 Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/* Stuff in curly braces gets expanded before all other shell expansions. */
+
+#include "config.h"
+
+#if defined (BRACE_EXPANSION)
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+#    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#include "bashansi.h"
+
+#if defined (SHELL)
+#  include "shell.h"
+#endif /* SHELL */
+
+#include "general.h"
+#include "shmbutil.h"
+#include "chartypes.h"
+
+#define brace_whitespace(c) (!(c) || (c) == ' ' || (c) == '\t' || (c) == '\n')
+
+#define BRACE_SEQ_SPECIFIER    ".."
+
+extern int asprintf __P((char **, const char *, ...)) __attribute__((__format__ (printf, 2, 3)));
+
+/* Basic idea:
+
+   Segregate the text into 3 sections: preamble (stuff before an open brace),
+   postamble (stuff after the matching close brace) and amble (stuff after
+   preamble, and before postamble).  Expand amble, and then tack on the
+   expansions to preamble.  Expand postamble, and tack on the expansions to
+   the result so far.
+ */
+
+/* The character which is used to separate arguments. */
+static const int brace_arg_separator = ',';
+
+#if defined (__P)
+static int brace_gobbler __P((char *, size_t, int *, int));
+static char **expand_amble __P((char *, size_t, int));
+static char **expand_seqterm __P((char *, size_t));
+static char **mkseq __P((intmax_t, intmax_t, int, int, int));
+static char **array_concat __P((char **, char **));
+#else
+static int brace_gobbler ();
+static char **expand_amble ();
+static char **expand_seqterm ();
+static char **mkseq();
+static char **array_concat ();
+#endif
+
+#if 0
+static void
+dump_result (a)
+     char **a;
+{
+  int i;
+
+  for (i = 0; a[i]; i++)
+    printf ("dump_result: a[%d] = -%s-\n", i, a[i]);
+}
+#endif
+
+/* Return an array of strings; the brace expansion of TEXT. */
+char **
+brace_expand (text)
+     char *text;
+{
+  register int start;
+  size_t tlen;
+  char *preamble, *postamble, *amble;
+  size_t alen;
+  char **tack, **result;
+  int i, j, c, c1;
+
+  DECLARE_MBSTATE;
+
+  /* Find the text of the preamble. */
+  tlen = strlen (text);
+  i = 0;
+#if defined (CSH_BRACE_COMPAT)
+  c = brace_gobbler (text, tlen, &i, '{');     /* } */
+#else
+  /* Make sure that when we exit this loop, c == 0 or text[i] begins a
+     valid brace expansion sequence. */
+  do
+    {
+      c = brace_gobbler (text, tlen, &i, '{'); /* } */
+      c1 = c;
+      /* Verify that c begins a valid brace expansion word.  If it doesn't, we
+        go on.  Loop stops when there are no more open braces in the word. */
+      if (c)
+       {
+         start = j = i + 1;    /* { */
+         c = brace_gobbler (text, tlen, &j, '}');
+         if (c == 0)           /* it's not */
+           {
+             i++;
+             c = c1;
+             continue;
+           }
+         else                  /* it is */
+           {
+             c = c1;
+             break;
+           }
+       }
+      else
+       break;
+    }
+  while (c);
+#endif /* !CSH_BRACE_COMPAT */
+
+  preamble = (char *)xmalloc (i + 1);
+  strncpy (preamble, text, i);
+  preamble[i] = '\0';
+
+  result = (char **)xmalloc (2 * sizeof (char *));
+  result[0] = preamble;
+  result[1] = (char *)NULL;
+
+  /* Special case.  If we never found an exciting character, then
+     the preamble is all of the text, so just return that. */
+  if (c != '{')
+    return (result);
+
+  /* Find the amble.  This is the stuff inside this set of braces. */
+  start = ++i;
+  c = brace_gobbler (text, tlen, &i, '}');
+
+  /* What if there isn't a matching close brace? */
+  if (c == 0)
+    {
+#if defined (NOTDEF)
+      /* Well, if we found an unquoted BRACE_ARG_SEPARATOR between START
+        and I, then this should be an error.  Otherwise, it isn't. */
+      j = start;
+      while (j < i)
+       {
+         if (text[j] == '\\')
+           {
+             j++;
+             ADVANCE_CHAR (text, tlen, j);
+             continue;
+           }
+
+         if (text[j] == brace_arg_separator)
+           {   /* { */
+             strvec_dispose (result);
+             report_error ("no closing `%c' in %s", '}', text);
+             throw_to_top_level ();
+           }
+         ADVANCE_CHAR (text, tlen, j);
+       }
+#endif
+      free (preamble);         /* Same as result[0]; see initialization. */
+      result[0] = savestring (text);
+      return (result);
+    }
+
+#if defined (SHELL)
+  amble = substring (text, start, i);
+  alen = i - start;
+#else
+  amble = (char *)xmalloc (1 + (i - start));
+  strncpy (amble, &text[start], (i - start));
+  alen = i - start;
+  amble[alen] = '\0';
+#endif
+
+#if defined (SHELL)
+  INITIALIZE_MBSTATE;
+
+  /* If the amble does not contain an unquoted BRACE_ARG_SEPARATOR, then
+     just return without doing any expansion.  */
+  j = 0;
+  while (amble[j])
+    {
+      if (amble[j] == '\\')
+       {
+         j++;
+         ADVANCE_CHAR (amble, alen, j);
+         continue;
+       }
+
+      if (amble[j] == brace_arg_separator)
+       break;
+
+      ADVANCE_CHAR (amble, alen, j);
+    }
+
+  if (amble[j] == 0)
+    {
+      tack = expand_seqterm (amble, alen);
+      if (tack)
+       goto add_tack;
+      else
+       {
+         free (amble);
+         free (preamble);
+         result[0] = savestring (text);
+         return (result);
+       }
+    }
+#endif /* SHELL */
+
+  tack = expand_amble (amble, alen, 0);
+add_tack:
+  result = array_concat (result, tack);
+  free (amble);
+  strvec_dispose (tack);
+
+  postamble = text + i + 1;
+
+  tack = brace_expand (postamble);
+  result = array_concat (result, tack);
+  strvec_dispose (tack);
+
+  return (result);
+}
+
+/* Expand the text found inside of braces.  We simply try to split the
+   text at BRACE_ARG_SEPARATORs into separate strings.  We then brace
+   expand each slot which needs it, until there are no more slots which
+   need it. */
+static char **
+expand_amble (text, tlen, flags)
+     char *text;
+     size_t tlen;
+     int flags;
+{
+  char **result, **partial;
+  char *tem;
+  int start, i, c;
+
+  DECLARE_MBSTATE;
+
+  result = (char **)NULL;
+
+  start = i = 0;
+  c = 1;
+  while (c)
+    {
+      c = brace_gobbler (text, tlen, &i, brace_arg_separator);
+#if defined (SHELL)
+      tem = substring (text, start, i);
+#else
+      tem = (char *)xmalloc (1 + (i - start));
+      strncpy (tem, &text[start], (i - start));
+      tem[i- start] = '\0';
+#endif
+
+      partial = brace_expand (tem);
+
+      if (!result)
+       result = partial;
+      else
+       {
+         register int lr, lp, j;
+
+         lr = strvec_len (result);
+         lp = strvec_len (partial);
+
+         result = strvec_resize (result, lp + lr + 1);
+
+         for (j = 0; j < lp; j++)
+           result[lr + j] = partial[j];
+
+         result[lr + j] = (char *)NULL;
+         free (partial);
+       }
+      free (tem);
+      ADVANCE_CHAR (text, tlen, i);
+      start = i;
+    }
+  return (result);
+}
+
+#define ST_BAD 0
+#define ST_INT 1
+#define ST_CHAR        2
+#define ST_ZINT        3
+
+static char **
+mkseq (start, end, incr, type, width)
+     intmax_t start, end;
+     int incr, type, width;
+{
+  intmax_t n;
+  int i;
+  char **result, *t;
+
+  i = abs (end - start) + 1;
+  result = strvec_create (i + 1);
+
+  if (incr == 0)
+    incr = 1;
+  
+  if (start > end && incr > 0)
+    incr = -incr;
+  else if (start < end && incr < 0)
+    incr = -incr;
+
+  /* Make sure we go through the loop at least once, so {3..3} prints `3' */
+  i = 0;
+  n = start;
+  do
+    {
+#if defined (SHELL)
+      QUIT;            /* XXX - memory leak here */
+#endif
+      if (type == ST_INT)
+       result[i++] = itos (n);
+      else if (type == ST_ZINT)
+       {
+         int len;
+         len = asprintf (&t, "%0*d", width, n);
+         result[i++] = t;
+       }
+      else
+       {
+         t = (char *)xmalloc (2);
+         t[0] = n;
+         t[1] = '\0';
+         result[i++] = t;
+       }
+      n += incr;
+      if ((incr < 0 && n < end) || (incr > 0 && n > end))
+       break;
+    }
+  while (1);
+
+  result[i] = (char *)0;
+  return (result);
+}
+
+static char **
+expand_seqterm (text, tlen)
+     char *text;
+     size_t tlen;
+{
+  char *t, *lhs, *rhs;
+  int i, lhs_t, rhs_t, lhs_v, rhs_v, incr, lhs_l, rhs_l, width;
+  intmax_t tl, tr;
+  char **result, *ep, *oep;
+
+  t = strstr (text, BRACE_SEQ_SPECIFIER);
+  if (t == 0)
+    return ((char **)NULL);
+
+  lhs_l = t - text;            /* index of start of BRACE_SEQ_SPECIFIER */
+  lhs = substring (text, 0, lhs_l);
+  rhs = substring (text, lhs_l + sizeof(BRACE_SEQ_SPECIFIER) - 1, tlen);
+
+  if (lhs[0] == 0 || rhs[0] == 0)
+    {
+      free (lhs);
+      free (rhs);
+      return ((char **)NULL);
+    }
+
+  /* Now figure out whether LHS and RHS are integers or letters.  Both
+     sides have to match. */
+  lhs_t = (legal_number (lhs, &tl)) ? ST_INT :
+               ((ISALPHA (lhs[0]) && lhs[1] == 0) ?  ST_CHAR : ST_BAD);
+
+  /* Decide on rhs and whether or not it looks like the user specified
+     an increment */
+  ep = 0;
+  if (ISDIGIT (rhs[0]) || ((rhs[0] == '+' || rhs[0] == '-') && ISDIGIT (rhs[1])))
+    {
+      rhs_t = ST_INT;
+      tr = strtoimax (rhs, &ep, 10);
+      if (ep && *ep != 0 && *ep != '.')
+       rhs_t = ST_BAD;                 /* invalid */
+    }
+  else if (ISALPHA (rhs[0]) && (rhs[1] == 0 || rhs[1] == '.'))
+    {
+      rhs_t = ST_CHAR;
+      ep = rhs + 1;
+    }
+  else
+    {
+      rhs_t = ST_BAD;
+      ep = 0;
+    }
+
+  incr = 1;
+  if (rhs_t != ST_BAD)
+    {
+      oep = ep;
+      if (ep && *ep == '.' && ep[1] == '.' && ep[2])
+       incr = strtoimax (ep + 2, &ep, 10);
+      if (*ep != 0)
+       rhs_t = ST_BAD;                 /* invalid incr */
+      tlen -= ep - oep;
+    }
+
+  if (lhs_t != rhs_t || lhs_t == ST_BAD || rhs_t == ST_BAD)
+    {
+      free (lhs);
+      free (rhs);
+      return ((char **)NULL);
+    }
+
+  /* OK, we have something.  It's either a sequence of integers, ascending
+     or descending, or a sequence or letters, ditto.  Generate the sequence,
+     put it into a string vector, and return it. */
+  
+  if (lhs_t == ST_CHAR)
+    {
+      lhs_v = (unsigned char)lhs[0];
+      rhs_v = (unsigned char)rhs[0];
+      width = 1;
+    }
+  else
+    {
+      lhs_v = tl;              /* integer truncation */
+      rhs_v = tr;
+
+      /* Decide whether or not the terms need zero-padding */
+      rhs_l = tlen - lhs_l - sizeof (BRACE_SEQ_SPECIFIER) + 1;
+      width = 0;
+      if (lhs_l > 1 && lhs[0] == '0')
+       width = lhs_l, lhs_t = ST_ZINT;
+      if (lhs_l > 2 && lhs[0] == '-' && lhs[1] == '0')
+       width = lhs_l, lhs_t = ST_ZINT;
+      if (rhs_l > 1 && rhs[0] == '0' && width < rhs_l)
+       width = rhs_l, lhs_t = ST_ZINT;
+      if (rhs_l > 2 && rhs[0] == '-' && rhs[1] == '0' && width < rhs_l)
+       width = rhs_l, lhs_t = ST_ZINT;
+
+      if (width < lhs_l && lhs_t == ST_ZINT)
+        width = lhs_l;
+      if (width < rhs_l && lhs_t == ST_ZINT)
+        width = rhs_l;
+    }
+
+  result = mkseq (lhs_v, rhs_v, incr, lhs_t, width);
+
+  free (lhs);
+  free (rhs);
+
+  return (result);
+}
+
+/* Start at INDEX, and skip characters in TEXT. Set INDEX to the
+   index of the character matching SATISFY.  This understands about
+   quoting.  Return the character that caused us to stop searching;
+   this is either the same as SATISFY, or 0. */
+/* If SATISFY is `}', we are looking for a brace expression, so we
+   should enforce the rules that govern valid brace expansions:
+       1) to count as an arg separator, a comma or `..' has to be outside
+          an inner set of braces.       
+*/
+static int
+brace_gobbler (text, tlen, indx, satisfy)
+     char *text;
+     size_t tlen;
+     int *indx;
+     int satisfy;
+{
+  register int i, c, quoted, level, commas, pass_next;
+#if defined (SHELL)
+  int si;
+  char *t;
+#endif
+  DECLARE_MBSTATE;
+
+  level = quoted = pass_next = 0;
+#if defined (CSH_BRACE_COMPAT)
+  commas = 1;
+#else
+  commas = (satisfy == '}') ? 0 : 1;
+#endif
+
+  i = *indx;
+  while (c = text[i])
+    {
+      if (pass_next)
+       {
+         pass_next = 0;
+         ADVANCE_CHAR (text, tlen, i);
+         continue;
+       }
+
+      /* A backslash escapes the next character.  This allows backslash to
+        escape the quote character in a double-quoted string. */
+      if (c == '\\' && (quoted == 0 || quoted == '"' || quoted == '`'))
+       {
+         pass_next = 1;
+         i++;
+         continue;
+       }
+
+#if defined (SHELL)
+      /* If compiling for the shell, treat ${...} like \{...} */
+      if (c == '$' && text[i+1] == '{' && quoted != '\'')              /* } */
+       {
+         pass_next = 1;
+         i++;
+         if (quoted == 0)
+           level++;
+         continue;
+       }
+#endif
+
+      if (quoted)
+       {
+         if (c == quoted)
+           quoted = 0;
+         ADVANCE_CHAR (text, tlen, i);
+         continue;
+       }
+
+      if (c == '"' || c == '\'' || c == '`')
+       {
+         quoted = c;
+         i++;
+         continue;
+       }
+
+#if defined (SHELL)
+      /* Pass new-style command and process substitutions through unchanged. */
+      if ((c == '$' || c == '<' || c == '>') && text[i+1] == '(')                      /* ) */
+       {
+         si = i + 2;
+         t = extract_command_subst (text, &si, 0);
+         i = si;
+         free (t);
+         i++;
+         continue;
+       }
+#endif
+
+      if (c == satisfy && level == 0 && quoted == 0 && commas > 0)
+       {
+         /* We ignore an open brace surrounded by whitespace, and also
+            an open brace followed immediately by a close brace preceded
+            by whitespace.  */
+         if (c == '{' &&
+             ((!i || brace_whitespace (text[i - 1])) &&
+              (brace_whitespace (text[i + 1]) || text[i + 1] == '}')))
+           {
+             i++;
+             continue;
+           }
+
+           break;
+       }
+
+      if (c == '{')
+       level++;
+      else if (c == '}' && level)
+       level--;
+#if !defined (CSH_BRACE_COMPAT)
+      else if (satisfy == '}' && c == brace_arg_separator && level == 0)
+       commas++;
+      else if (satisfy == '}' && STREQN (text+i, BRACE_SEQ_SPECIFIER, 2) &&
+               text[i+2] != satisfy && level == 0)
+       commas++;
+#endif
+
+      ADVANCE_CHAR (text, tlen, i);
+    }
+
+  *indx = i;
+  return (c);
+}
+
+/* Return a new array of strings which is the result of appending each
+   string in ARR2 to each string in ARR1.  The resultant array is
+   len (arr1) * len (arr2) long.  For convenience, ARR1 (and its contents)
+   are free ()'ed.  ARR1 can be NULL, in that case, a new version of ARR2
+   is returned. */
+static char **
+array_concat (arr1, arr2)
+     char **arr1, **arr2;
+{
+  register int i, j, len, len1, len2;
+  register char **result;
+
+  if (arr1 == 0)
+    return (strvec_copy (arr2));
+
+  if (arr2 == 0)
+    return (strvec_copy (arr1));
+
+  len1 = strvec_len (arr1);
+  len2 = strvec_len (arr2);
+
+  result = (char **)xmalloc ((1 + (len1 * len2)) * sizeof (char *));
+
+  len = 0;
+  for (i = 0; i < len1; i++)
+    {
+      int strlen_1 = strlen (arr1[i]);
+
+      for (j = 0; j < len2; j++)
+       {
+         result[len] = (char *)xmalloc (1 + strlen_1 + strlen (arr2[j]));
+         strcpy (result[len], arr1[i]);
+         strcpy (result[len] + strlen_1, arr2[j]);
+         len++;
+       }
+      free (arr1[i]);
+    }
+  free (arr1);
+
+  result[len] = (char *)NULL;
+  return (result);
+}
+
+#if defined (TEST)
+#include <stdio.h>
+
+fatal_error (format, arg1, arg2)
+     char *format, *arg1, *arg2;
+{
+  report_error (format, arg1, arg2);
+  exit (1);
+}
+
+report_error (format, arg1, arg2)
+     char *format, *arg1, *arg2;
+{
+  fprintf (stderr, format, arg1, arg2);
+  fprintf (stderr, "\n");
+}
+
+main ()
+{
+  char example[256];
+
+  for (;;)
+    {
+      char **result;
+      int i;
+
+      fprintf (stderr, "brace_expand> ");
+
+      if ((!fgets (example, 256, stdin)) ||
+         (strncmp (example, "quit", 4) == 0))
+       break;
+
+      if (strlen (example))
+       example[strlen (example) - 1] = '\0';
+
+      result = brace_expand (example);
+
+      for (i = 0; result[i]; i++)
+       printf ("%s\n", result[i]);
+
+      free_array (result);
+    }
+}
+\f
+/*
+ * Local variables:
+ * compile-command: "gcc -g -Bstatic -DTEST -o brace_expand braces.c general.o"
+ * end:
+ */
+
+#endif /* TEST */
+#endif /* BRACE_EXPANSION */
index 5526c4dfbfd76d49b4f63b69953cf0617e12c4f5..148c59db26933a802b953a5f8377e5e35d985bae 100644 (file)
@@ -283,6 +283,7 @@ cd_builtin (list)
            free (temp);
        }
 
+#if 0  /* changed for bash-4.2 Posix cd description steps 5-6 */
       /* POSIX.2 says that if `.' does not appear in $CDPATH, we don't
         try the current directory, so we just punt now with an error
         message if POSIXLY_CORRECT is non-zero.  The check for cdpath[0]
@@ -293,6 +294,7 @@ cd_builtin (list)
          builtin_error ("%s: %s", dirname, strerror (ENOENT));
          return (EXECUTION_FAILURE);
        }
+#endif
     }
   else
     dirname = list->word->word;
index 9523cfc3ceb1e17c02ed866ee80a90d9f001b296..2119f5b3cb818273ffb053d3c0f9e42b506c19f1 100644 (file)
@@ -35,7 +35,11 @@ value.  If ARG is the null string each SIGNAL_SPEC is ignored by the
 shell and by the commands it invokes.
 
 If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If
-a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.
+a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If
+a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a
+script run by the . or source builtins finishes executing.  A SIGNAL_SPEC
+of ERR means to execute ARG each time a command's failure would cause the
+shell to exit when the -e option is enabled.
 
 If no arguments are supplied, trap prints the list of commands associated
 with each signal.
index e3620c5773a802832946e2fdea61f27cebc49fe7..ded369d73080e00d9bf8cf3365a3cad2e795d019 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.in for Bash 4.2, version 4.033.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for bash 4.2-devel.
+# Generated by GNU Autoconf 2.63 for bash 4.2-alpha.
 #
 # 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.2-devel'
-PACKAGE_STRING='bash 4.2-devel'
+PACKAGE_VERSION='4.2-alpha'
+PACKAGE_STRING='bash 4.2-alpha'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 
 ac_unique_file="shell.h"
@@ -1408,7 +1408,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.2-devel to adapt to many kinds of systems.
+\`configure' configures bash 4.2-alpha to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1473,7 +1473,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 4.2-devel:";;
+     short | recursive ) echo "Configuration of bash 4.2-alpha:";;
    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.2-devel
+bash configure 4.2-alpha
 generated by GNU Autoconf 2.63
 
 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.2-devel, which was
+It was created by bash $as_me 4.2-alpha, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2076,7 +2076,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 BASHVERS=4.2
-RELSTATUS=devel
+RELSTATUS=alpha
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -31860,7 +31860,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.2-devel, which was
+This file was extended by bash $as_me 4.2-alpha, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -31923,7 +31923,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-bash config.status 4.2-devel
+bash config.status 4.2-alpha
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
index a14562d1273550ca1f25e7aab229ab44f349e19c..f0216460fe36dd8cc23a8865345b3b6569b3c62a 100644 (file)
@@ -24,7 +24,7 @@ dnl Process this file with autoconf to produce a configure script.
 AC_REVISION([for Bash 4.2, version 4.033])dnl
 
 define(bashvers, 4.2)
-define(relstatus, devel)
+define(relstatus, alpha)
 
 AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
 
index 4c9289aabcd322e57b865f270ea8925b083a5ff8..a14562d1273550ca1f25e7aab229ab44f349e19c 100644 (file)
@@ -21,7 +21,7 @@ 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.2, version 4.032])dnl
+AC_REVISION([for Bash 4.2, version 4.033])dnl
 
 define(bashvers, 4.2)
 define(relstatus, devel)
@@ -98,7 +98,7 @@ esac
 dnl
 dnl macros for the bash debugger
 dnl
-AM_PATH_LISPDIR
+dnl AM_PATH_LISPDIR
 AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
 
 dnl arguments to configure
@@ -905,6 +905,8 @@ BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
 fi
 BASH_TYPE_RLIMIT
 
+AC_CHECK_SIZEOF(intmax_t, 8)
+
 dnl presence and contents of structures used by system calls
 BASH_STRUCT_TERMIOS_LDISC
 BASH_STRUCT_TERMIO_LDISC
diff --git a/ddd1 b/ddd1
new file mode 100644 (file)
index 0000000..44bf7be
--- /dev/null
+++ b/ddd1
@@ -0,0 +1,135 @@
+*** ../bash-20101015/redir.c   2009-09-17 10:04:18.000000000 -0400
+--- redir.c    2010-11-06 13:38:22.000000000 -0400
+***************
+*** 63,73 ****
+  
+  extern int posixly_correct;
+  extern REDIRECT *redirection_undo_list;
+  extern REDIRECT *exec_redirection_undo_list;
+  
+  /* Static functions defined and used in this file. */
+- static void add_undo_close_redirect __P((int));
+  static void add_exec_redirect __P((REDIRECT *));
+  static int add_undo_redirect __P((int, enum r_instruction, int));
+  static int expandable_redirection_filename __P((REDIRECT *));
+  static int stdin_redirection __P((enum r_instruction, int));
+--- 63,74 ----
+  
+  extern int posixly_correct;
++ extern int last_command_exit_value;
+  extern REDIRECT *redirection_undo_list;
+  extern REDIRECT *exec_redirection_undo_list;
+  
+  /* Static functions defined and used in this file. */
+  static void add_exec_redirect __P((REDIRECT *));
+  static int add_undo_redirect __P((int, enum r_instruction, int));
++ static int add_undo_close_redirect __P((int));
+  static int expandable_redirection_filename __P((REDIRECT *));
+  static int stdin_redirection __P((enum r_instruction, int));
+***************
+*** 94,97 ****
+--- 95,105 ----
+  static int heredoc_errno;
+  
++ #define REDIRECTION_ERROR(r, e) \
++   if ((r) != 0) \
++     { \
++       last_command_exit_value = EXECUTION_FAILURE;\
++       return ((e) == 0 ? EINVAL : (e));\
++     }
++ 
+  void
+  redirection_error (temp, error)
+***************
+*** 814,820 ****
+             /* Only setup to undo it if the thing to undo is active. */
+             if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
+!              add_undo_redirect (redirector, ri, -1);
+             else
+!              add_undo_close_redirect (redirector);
+           }
+  
+--- 822,829 ----
+             /* Only setup to undo it if the thing to undo is active. */
+             if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
+!              r = add_undo_redirect (redirector, ri, -1);
+             else
+!              r = add_undo_close_redirect (redirector);
+!            REDIRECTION_ERROR (r, errno);
+           }
+  
+***************
+*** 919,925 ****
+                 /* Only setup to undo it if the thing to undo is active. */
+                 if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
+!                  add_undo_redirect (redirector, ri, -1);
+                 else
+!                  add_undo_close_redirect (redirector);
+               }
+  
+--- 928,935 ----
+                 /* Only setup to undo it if the thing to undo is active. */
+                 if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
+!                  r = add_undo_redirect (redirector, ri, -1);
+                 else
+!                  r = add_undo_close_redirect (redirector);
+!                REDIRECTION_ERROR(r, errno);
+               }
+  
+***************
+*** 973,979 ****
+             /* Only setup to undo it if the thing to undo is active. */
+             if (fcntl (redirector, F_GETFD, 0) != -1)
+!              add_undo_redirect (redirector, ri, redir_fd);
+             else
+!              add_undo_close_redirect (redirector);
+           }
+  #if defined (BUFFERED_INPUT)
+--- 983,990 ----
+             /* Only setup to undo it if the thing to undo is active. */
+             if (fcntl (redirector, F_GETFD, 0) != -1)
+!              r = add_undo_redirect (redirector, ri, redir_fd);
+             else
+!              r = add_undo_close_redirect (redirector);
+!            REDIRECTION_ERROR(r, errno);
+           }
+  #if defined (BUFFERED_INPUT)
+***************
+*** 1047,1052 ****
+           }
+  
+         if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
+!          add_undo_redirect (redirector, ri, -1);
+  
+  #if defined (COPROCESS_SUPPORT)
+--- 1058,1065 ----
+           }
+  
++        r = 0;
+         if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
+!          r = add_undo_redirect (redirector, ri, -1);
+!        REDIRECTION_ERROR (r, errno);
+  
+  #if defined (COPROCESS_SUPPORT)
+***************
+*** 1165,1169 ****
+  /* Set up to close FD when we are finished with the current command
+     and its redirections. */
+! static void
+  add_undo_close_redirect (fd)
+       int fd;
+--- 1178,1182 ----
+  /* Set up to close FD when we are finished with the current command
+     and its redirections. */
+! static int
+  add_undo_close_redirect (fd)
+       int fd;
+***************
+*** 1178,1181 ****
+--- 1191,1196 ----
+    closer->next = redirection_undo_list;
+    redirection_undo_list = closer;
++ 
++   return 0;
+  }
+  
diff --git a/doc/FAQ-4.2 b/doc/FAQ-4.2
new file mode 100644 (file)
index 0000000..e17610a
--- /dev/null
@@ -0,0 +1,2273 @@
+This is the Bash FAQ, version 4.12, for Bash version 4.2.
+
+This document contains a set of frequently-asked questions concerning
+Bash, the GNU Bourne-Again Shell.  Bash is a freely-available command
+interpreter with advanced features for both interactive use and shell
+programming.
+
+Another good source of basic information about shells is the collection
+of FAQ articles periodically posted to comp.unix.shell.
+
+Questions and comments concerning this document should be sent to
+chet.ramey@case.edu.
+
+This document is available for anonymous FTP with the URL
+
+ftp://ftp.cwru.edu/pub/bash/FAQ
+
+The Bash home page is http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
+
+----------
+Contents:
+
+Section A:  The Basics
+
+A1) What is it?
+A2) What's the latest version?
+A3) Where can I get it?
+A4) On what machines will bash run?
+A5) Will bash run on operating systems other than Unix?
+A6) How can I build bash with gcc?
+A7) How can I make bash my login shell?
+A8) I just changed my login shell to bash, and now I can't FTP into my
+    machine.  Why not?
+A9) What's the `POSIX Shell and Utilities standard'?
+A10) What is the bash `posix mode'?
+
+Section B:  The latest version
+
+B1) What's new in version 4.2?
+B2) Are there any user-visible incompatibilities between bash-4.2 and
+    previous bash versions?
+
+Section C:  Differences from other Unix shells
+
+C1) How does bash differ from sh, the Bourne shell?
+C2) How does bash differ from the Korn shell, version ksh88?
+C3) Which new features in ksh-93 are not in bash, and which are?
+
+Section D:  Why does bash do some things differently than other Unix shells?
+
+D1) Why does bash run a different version of `command' than
+    `which command' says it will?
+D2) Why doesn't bash treat brace expansions exactly like csh?
+D3) Why doesn't bash have csh variable modifiers?
+D4) How can I make my csh aliases work when I convert to bash?
+D5) How can I pipe standard output and standard error from one command to
+    another, like csh does with `|&'?
+D6) Now that I've converted from ksh to bash, are there equivalents to
+    ksh features like autoloaded functions and the `whence' command?
+
+Section E:  Why does bash do certain things the way it does?
+
+E1) Why is the bash builtin `test' slightly different from /bin/test?
+E2) Why does bash sometimes say `Broken pipe'?
+E3) When I have terminal escape sequences in my prompt, why does bash
+    wrap lines at the wrong column?
+E4) If I pipe the output of a command into `read variable', why doesn't
+    the output show up in $variable when the read command finishes?
+E5) I have a bunch of shell scripts that use backslash-escaped characters
+    in arguments to `echo'.  Bash doesn't interpret these characters.  Why
+    not, and how can I make it understand them?
+E6) Why doesn't a while or for loop get suspended when I type ^Z?
+E7) What about empty for loops in Makefiles?
+E8) Why does the arithmetic evaluation code complain about `08'?
+E9) Why does the pattern matching expression [A-Z]* match files beginning
+    with every letter except `z'?
+E10) Why does `cd //' leave $PWD as `//'?
+E11) If I resize my xterm while another program is running, why doesn't bash
+     notice the change?
+E12) Why don't negative offsets in substring expansion work like I expect?
+E13) Why does filename completion misbehave if a colon appears in the filename?
+E14) Why does quoting the pattern argument to the regular expression matching
+     conditional operator (=~) cause matching to stop working?
+E15) Tell me more about the shell compatibility level.
+
+Section F:  Things to watch out for on certain Unix versions
+
+F1) Why can't I use command line editing in my `cmdtool'?
+F2) I built bash on Solaris 2.  Why do globbing expansions and filename
+    completion chop off the first few characters of each filename?
+F3) Why does bash dump core after I interrupt username completion or
+    `~user' tilde expansion on a machine running NIS?
+F4) I'm running SVR4.2.  Why is the line erased every time I type `@'?
+F5) Why does bash report syntax errors when my C News scripts use a
+    redirection before a subshell command?
+F6) Why can't I use vi-mode editing on Red Hat Linux 6.1?
+F7) Why do bash-2.05a and  bash-2.05b fail to compile `printf.def' on
+    HP/UX 11.x?
+
+Section G:  How can I get bash to do certain common things?
+
+G1) How can I get bash to read and display eight-bit characters?
+G2) How do I write a function `x' to replace builtin command `x', but
+    still invoke the command from within the function?
+G3) How can I find the value of a shell variable whose name is the value
+    of another shell variable?
+G4) How can I make the bash `time' reserved word print timing output that
+    looks like the output from my system's /usr/bin/time?
+G5) How do I get the current directory into my prompt?
+G6) How can I rename "*.foo" to "*.bar"?
+G7) How can I translate a filename from uppercase to lowercase?
+G8) How can I write a filename expansion (globbing) pattern that will match
+    all files in the current directory except "." and ".."?
+
+Section H:  Where do I go from here?
+
+H1) How do I report bugs in bash, and where should I look for fixes and
+    advice?
+H2) What kind of bash documentation is there?
+H3) What's coming in future versions?
+H4) What's on the bash `wish list'?
+H5) When will the next release appear?
+
+----------
+Section A:  The Basics
+
+A1)  What is it?
+
+Bash is a Unix command interpreter (shell).  It is an implementation of
+the Posix 1003.2 shell standard, and resembles the Korn and System V
+shells.
+
+Bash contains a number of enhancements over those shells, both
+for interactive use and shell programming.  Features geared
+toward interactive use include command line editing, command
+history, job control, aliases, and prompt expansion.  Programming
+features include additional variable expansions, shell
+arithmetic, and a number of variables and options to control
+shell behavior.
+
+Bash was originally written by Brian Fox of the Free Software
+Foundation.  The current developer and maintainer is Chet Ramey
+of Case Western Reserve University.
+
+A2)  What's the latest version?
+
+The latest version is 4.2, first made available on NN December, 2010.
+
+A3)  Where can I get it?
+
+Bash is the GNU project's shell, and so is available from the
+master GNU archive site, ftp.gnu.org, and its mirrors.  The
+latest version is also available for FTP from ftp.cwru.edu.
+The following URLs tell how to get version 4.2:
+
+ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-4.2.tar.gz
+
+Formatted versions of the documentation are available with the URLs:
+
+ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.2.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-doc-4.2.tar.gz
+
+Any patches for the current version are available with the URL:
+
+ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
+
+A4)  On what machines will bash run?
+
+Bash has been ported to nearly every version of Unix.  All you
+should have to do to build it on a machine for which a port
+exists is to type `configure' and then `make'.  The build process
+will attempt to discover the version of Unix you have and tailor
+itself accordingly, using a script created by GNU autoconf.
+
+More information appears in the file `INSTALL' in the distribution.
+
+The Bash web page (http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html)
+explains how to obtain binary versions of bash for most of the major
+commercial Unix systems.
+
+A5) Will bash run on operating systems other than Unix?
+
+Configuration specifics for Unix-like systems such as QNX and
+LynxOS are included in the distribution.  Bash-2.05 and later
+versions should compile and run on Minix 2.0 (patches were
+contributed), but I don't believe anyone has built bash-2.x on
+earlier Minix versions yet. 
+
+Bash has been ported to versions of Windows implementing the Win32
+programming interface.  This includes Windows 95 and Windows NT.
+The port was done by Cygnus Solutions (now part of Red Hat) as part
+of their CYGWIN project.  For more information about the project, see
+http://www.cygwin.com/.
+
+Cygnus originally ported bash-1.14.7, and that port was part of their
+early GNU-Win32 (the original name) releases.  Cygnus has also done
+ports of bash-3.2 and bash-4.0 to the CYGWIN environment, and both
+are available as part of their current release.
+
+Bash-2.05b and later versions should require no local Cygnus changes to
+build and run under CYGWIN.
+
+DJ Delorie has a port of bash-2.x which runs under MS-DOS, as part
+of the DJGPP project.  For more information on the project, see
+
+http://www.delorie.com/djgpp/
+
+I have been told that the original DJGPP port was done by Daisuke Aoyama.
+
+Mark Elbrecht <snowball3@bigfoot.com> has sent me notice that bash-2.04
+is available for DJGPP V2.  The files are available as:
+
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204b.zip binary
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204d.zip documentation
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204s.zip source
+
+Mark began to work with bash-2.05, but I don't know the current status.
+
+Bash-3.0 compiles and runs with no modifications under Microsoft's Services
+for Unix (SFU), once known as Interix.  I do not anticipate any problems
+with building bash-4.2, but will gladly accept any patches that are needed.
+
+A6) How can I build bash with gcc? 
+
+Bash configures to use gcc by default if it is available.  Read the
+file INSTALL in the distribution for more information.
+
+A7)  How can I make bash my login shell?
+
+Some machines let you use `chsh' to change your login shell.  Other
+systems use `passwd -s' or `passwd -e'.  If one of these works for
+you, that's all you need.  Note that many systems require the full
+pathname to a shell to appear in /etc/shells before you can make it
+your login shell.  For this, you may need the assistance of your
+friendly local system administrator. 
+
+If you cannot do this, you can still use bash as your login shell, but
+you need to perform some tricks.  The basic idea is to add a command
+to your login shell's startup file to replace your login shell with
+bash.
+
+For example, if your login shell is csh or tcsh, and you have installed
+bash in /usr/gnu/bin/bash, add the following line to ~/.login:
+
+       if ( -f /usr/gnu/bin/bash ) exec /usr/gnu/bin/bash --login
+
+(the `--login' tells bash that it is a login shell).
+
+It's not a good idea to put this command into ~/.cshrc, because every
+csh you run without the `-f' option, even ones started to run csh scripts,
+reads that file.  If you must put the command in ~/.cshrc, use something
+like
+
+       if ( $?prompt ) exec /usr/gnu/bin/bash --login
+
+to ensure that bash is exec'd only when the csh is interactive.
+
+If your login shell is sh or ksh, you have to do two things.
+
+First, create an empty file in your home directory named `.bash_profile'.
+The existence of this file will prevent the exec'd bash from trying to
+read ~/.profile, and re-execing itself over and over again.  ~/.bash_profile
+is the first file bash tries to read initialization commands from when
+it is invoked as a login shell.
+
+Next, add a line similar to the above to ~/.profile:
+
+       [ -f /usr/gnu/bin/bash ] && [ -x /usr/gnu/bin/bash ] && \
+               exec /usr/gnu/bin/bash --login
+
+This will cause login shells to replace themselves with bash running as
+a login shell.  Once you have this working, you can copy your initialization
+code from ~/.profile to ~/.bash_profile.
+
+I have received word that the recipe supplied above is insufficient for
+machines running CDE.  CDE has a maze of twisty little startup files, all
+slightly different.
+
+If you cannot change your login shell in the password file to bash, you
+will have to (apparently) live with CDE using the shell in the password
+file to run its startup scripts.  If you have changed your shell to bash,
+there is code in the CDE startup files (on Solaris, at least) that attempts
+to do the right thing.  It is, however, often broken, and may require that
+you use the $BASH_ENV trick described below.
+
+`dtterm' claims to use $SHELL as the default program to start, so if you
+can change $SHELL in the CDE startup files, you should be able to use bash
+in your terminal windows.
+
+Setting DTSOURCEPROFILE in ~/.dtprofile will cause the `Xsession' program
+to read your login shell's startup files.  You may be able to use bash for
+the rest of the CDE programs by setting SHELL to bash in ~/.dtprofile as
+well, but I have not tried this.
+
+You can use the above `exec' recipe to start bash when not logging in with
+CDE by testing the value of the DT variable:
+
+       if [ -n "$DT" ]; then
+               [ -f /usr/gnu/bin/bash ] && exec /usr/gnu/bin/bash --login
+       fi
+
+If CDE starts its shells non-interactively during login, the login shell
+startup files (~/.profile, ~/.bash_profile) will not be sourced at login.
+To get around this problem, append a line similar to the following to your
+~/.dtprofile:
+
+       BASH_ENV=${HOME}/.bash_profile ; export BASH_ENV
+
+and add the following line to the beginning of ~/.bash_profile:
+
+       unset BASH_ENV
+
+A8) I just changed my login shell to bash, and now I can't FTP into my
+   machine.  Why not?
+
+You must add the full pathname to bash to the file /etc/shells.  As
+noted in the answer to the previous question, many systems require
+this before you can make bash your login shell. 
+
+Most versions of ftpd use this file to prohibit `special' users
+such as `uucp' and `news' from using FTP. 
+
+A9)  What's the `POSIX Shell and Utilities standard'?
+
+POSIX is a name originally coined by Richard Stallman for a
+family of open system standards based on UNIX.  There are a
+number of aspects of UNIX under consideration for
+standardization, from the basic system services at the system
+call and C library level to applications and tools to system
+administration and management.  Each area of standardization is
+assigned to a working group in the 1003 series. 
+
+The POSIX Shell and Utilities standard was originally developed by
+IEEE Working Group 1003.2 (POSIX.2).  Today it has been merged with
+the original 1003.1 Working Group and is maintained by the Austin
+Group (a joint working group of the IEEE, The Open Group and
+ISO/IEC SC22/WG15).  Today the Shell and Utilities are a volume
+within the set of documents that make up IEEE Std 1003.1-2001, and
+thus now the former POSIX.2 (from 1992) is now part of the current
+POSIX.1 standard (POSIX 1003.1-2001). 
+
+The Shell and Utilities volume concentrates on the command
+interpreter interface and utility programs commonly executed from
+the command line or by other programs.  The standard is freely
+available on the web at http://www.UNIX-systems.org/version3/ . 
+Work continues at the Austin Group on maintenance issues; see
+http://www.opengroup.org/austin/ to join the discussions. 
+
+Bash is concerned with the aspects of the shell's behavior defined
+by the POSIX Shell and Utilities volume.  The shell command
+language has of course been standardized, including the basic flow
+control and program execution constructs, I/O redirection and
+pipelining, argument handling, variable expansion, and quoting. 
+
+The `special' builtins, which must be implemented as part of the
+shell to provide the desired functionality, are specified as
+being part of the shell; examples of these are `eval' and
+`export'.  Other utilities appear in the sections of POSIX not
+devoted to the shell which are commonly (and in some cases must
+be) implemented as builtin commands, such as `read' and `test'. 
+POSIX also specifies aspects of the shell's interactive
+behavior as part of the UPE, including job control and command
+line editing.  Only vi-style line editing commands have been
+standardized; emacs editing commands were left out due to
+objections.
+
+The latest version of the POSIX Shell and Utilities standard is
+available (now updated to the 2004 Edition) as part of the Single
+UNIX Specification Version 3 at
+
+http://www.UNIX-systems.org/version3/
+
+A10)  What is the bash `posix mode'?
+
+Although bash is an implementation of the POSIX shell
+specification, there are areas where the bash default behavior
+differs from that spec.  The bash `posix mode' changes the bash
+behavior in these areas so that it obeys the spec more closely. 
+
+Posix mode is entered by starting bash with the --posix or
+'-o posix' option or executing `set -o posix' after bash is running.
+
+The specific aspects of bash which change when posix mode is
+active are listed in the file POSIX in the bash distribution.
+They are also listed in a section in the Bash Reference Manual
+(from which that file is generated).
+
+Section B:  The latest version
+
+B1) What's new in version 4.2?
+
+Bash-4.2 is the second revision to the fourth major release of bash.
+
+Bash-4.2 contains the following new features (see the manual page for
+complete descriptions and the CHANGES and NEWS files in the bash-4.2
+distribution):
+
+o   `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+o   Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+o   `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+o   $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+o   declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+o   test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+o   Posix parsing changes to allow `! time command' and multiple consecutive
+    instances of `!' (which toggle) and `time' (which have no cumulative
+    effect).
+
+o   Posix change to allow `time' as a command by itself to print the elapsed
+    user, system, and real times for the shell and its children.
+
+o   $((...)) is always parsed as an arithmetic expansion first, instead of as
+    a potential nested command substitution, as Posix requires.
+
+o   A new FUNCNEST variable to allow the user to control the maximum shell
+    function nesting (recursive execution) level.
+
+o   The mapfile builtin now supplies a third argument to the callback command:
+    the line about to be assigned to the supplied array index.
+
+o   The printf builtin has as new %(fmt)T specifier, which allows time values
+    to use strftime-like formatting.
+
+o   There is a new `compat41' shell option.
+
+o   The cd builtin has a new Posix-mandated `-e' option.
+
+o   Negative subscripts to indexed arrays, previously errors, now are treated
+    as offsets from the maximum assigned index + 1.
+
+o   Negative length specifications in the ${var:offset:length} expansion,
+    previously errors, are now treated as offsets from the end of the variable.
+
+o   Parsing change to allow `time -p --'.
+
+o   Posix-mode parsing change to not recognize `time' as a keyword if the
+    following token begins with a `-'.  This means no more Posix-mode
+    `time -p'.  Posix interpretation 267.
+
+o   There is a new `lastpipe' shell option that runs the last command of a
+    pipeline in the current shell context.  The lastpipe option has no
+    effect if job control is enabled.
+
+o   History expansion no longer expands the `$!' variable expansion.
+
+o   Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+o   Non-interactive mode shells exit if -u is enabled an an attempt is made
+    to use an unset variable with the % or # expansions, the `//', `^', or
+    `,' expansions, or the parameter length expansion.
+
+o   Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+    fails, effectively searching the current directory.  Posix-2008 change.
+
+A short feature history dating back to Bash-2.0:
+
+Bash-4.1 contained the following new features:
+
+o   Here-documents within $(...) command substitutions may once more be
+    delimited by the closing right paren, instead of requiring a newline.
+
+o   Bash's file status checks (executable, readable, etc.) now take file
+    system ACLs into account on file systems that support them.
+
+o   Bash now passes environment variables with names that are not valid
+    shell variable names through into the environment passed to child
+    processes.
+
+o   The `execute-unix-command' readline function now attempts to clear and
+    reuse the current line rather than move to a new one after the command
+    executes.
+
+o   `printf -v' can now assign values to array indices.
+
+o   New `complete -E' and `compopt -E' options that work on the "empty"
+    completion: completion attempted on an empty command line.
+
+o   New complete/compgen/compopt -D option to define a `default' completion:
+    a completion to be invoked on command for which no completion has been
+    defined.  If this function returns 124, programmable completion is
+    attempted again, allowing a user to dynamically build a set of completions
+    as completion is attempted by having the default completion function
+    install individual completion functions each time it is invoked.
+
+o   When displaying associative arrays, subscripts are now quoted.
+
+o   Changes to dabbrev-expand to make it more `emacs-like': no space appended
+    after matches, completions are not sorted, and most recent history entries
+    are presented first.
+
+o   The [[ and (( commands are now subject to the setting of `set -e' and the
+    ERR trap.
+
+o   The source/. builtin now removes NUL bytes from the file before attempting
+    to parse commands.
+
+o   There is a new configuration option (in config-top.h) that forces bash to
+    forward all history entries to syslog.
+
+o   A new variable $BASHOPTS to export shell options settable using `shopt' to
+    child processes.
+
+o   There is a new confgure option that forces the extglob option to be
+    enabled by default.
+
+o   New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
+    output to that file descriptor.
+
+o   If the optional left-hand-side of a redirection is of the form {var}, the
+    shell assigns the file descriptor used to $var or uses $var as the file
+    descriptor to move or close, depending on the redirection operator.
+
+o   The < and > operators to the [[ conditional command now do string
+    comparison according to the current locale.
+
+o   Programmable completion now uses the completion for `b' instead of `a'
+    when completion is attempted on a line like: a $(b c.
+
+o   Force extglob on temporarily when parsing the pattern argument to
+    the == and != operators to the [[ command, for compatibility.
+
+o   Changed the behavior of interrupting the wait builtin when a SIGCHLD is
+    received and a trap on SIGCHLD is set to be Posix-mode only.
+
+o   The read builtin has a new `-N nchars' option, which reads exactly NCHARS
+    characters, ignoring delimiters like newline.
+
+o   The mapfile/readarray builtin no longer stores the commands it invokes via
+    callbacks in the history list.
+
+o   There is a new `compat40' shopt option.
+
+o   The < and > operators to [[ do string comparisons using the current locale
+    only if the compatibility level is greater than 40 (set to 41 by default).
+
+o   New bindable readline function: menu-complete-backward.
+
+o   In the readline vi-mode insertion keymap, C-n is now bound to menu-complete
+    by default, and C-p to menu-complete-backward.
+
+o   When in readline vi command mode, repeatedly hitting ESC now does nothing,
+    even when ESC introduces a bound key sequence.  This is closer to how
+    historical vi behaves.
+
+o   New bindable readline function: skip-csi-sequence.  Can be used as a
+    default to consume key sequences generated by keys like Home and End
+    without having to bind all keys.
+
+o   New bindable readline variable: skip-completed-text, active when
+    completing in the middle of a word.  If enabled, it means that characters
+    in the completion that match characters in the remainder of the word are
+    "skipped" rather than inserted into the line.
+
+o   The pre-readline-6.0 version of menu completion is available as
+    "old-menu-complete" for users who do not like the readline-6.0 version.
+
+o   New bindable readline variable: echo-control-characters.  If enabled, and
+    the tty ECHOCTL bit is set, controls the echoing of characters
+    corresponding to keyboard-generated signals.
+
+o   New bindable readline variable: enable-meta-key.  Controls whether or not
+    readline sends the smm/rmm sequences if the terminal indicates it has a
+    meta key that enables eight-bit characters.
+
+Bash-4.0 contained the following new features:
+
+o   When using substring expansion on the positional parameters, a starting
+    index of 0 now causes $0 to be prefixed to the list.
+
+o   There is a new variable, $BASHPID, which always returns the process id of
+    the current shell.
+
+o   There is a new `autocd' option that, when enabled, causes bash to attempt
+    to `cd' to a directory name that is supplied as the first word of a
+    simple command.
+
+o   There is a new `checkjobs' option that causes the shell to check for and
+    report any running or stopped jobs at exit.
+
+o   The programmable completion code exports a new COMP_TYPE variable, set to
+    a character describing the type of completion being attempted.
+
+o   The programmable completion code exports a new COMP_KEY variable, set to
+    the character that caused the completion to be invoked (e.g., TAB).
+
+o   The programmable completion code now uses the same set of characters as
+    readline when breaking the command line into a list of words.
+
+o   The block multiplier for the ulimit -c and -f options is now 512 when in
+    Posix mode, as Posix specifies.
+
+o   Changed the behavior of the read builtin to save any partial input received
+    in the specified variable when the read builtin times out.  This also
+    results in variables specified as arguments to read to be set to the empty
+    string when there is no input available.  When the read builtin times out,
+    it returns an exit status greater than 128.
+
+o   The shell now has the notion of a `compatibility level', controlled by
+    new variables settable by `shopt'.  Setting this variable currently
+    restores the bash-3.1 behavior when processing quoted strings on the rhs
+    of the `=~' operator to the `[[' command.
+
+o   The `ulimit' builtin now has new -b (socket buffer size) and -T (number
+    of threads) options.
+
+o   There is a new `compopt' builtin that allows completion functions to modify
+    completion options for existing completions or the completion currently
+    being executed.
+
+o   The `read' builtin has a new -i option which inserts text into the reply
+    buffer when using readline.
+
+o   A new `-E' option to the complete builtin allows control of the default
+    behavior for completion on an empty line.
+
+o   There is now limited support for completing command name words containing
+    globbing characters.
+
+o   The `help' builtin now has a new -d option, to display a short description,
+    and a -m option, to print help information in a man page-like format.
+
+o   There is a new `mapfile' builtin to populate an array with lines from a
+    given file.
+
+o   If a command is not found, the shell attempts to execute a shell function
+    named `command_not_found_handle', supplying the command words as the
+    function arguments.
+
+o   There is a new shell option: `globstar'.  When enabled, the globbing code
+    treats `**' specially -- it matches all directories (and files within
+    them, when appropriate) recursively.
+
+o   There is a new shell option: `dirspell'.  When enabled, the filename
+    completion code performs spelling correction on directory names during
+    completion.
+
+o   The `-t' option to the `read' builtin now supports fractional timeout
+    values.
+
+o   Brace expansion now allows zero-padding of expanded numeric values and
+    will add the proper number of zeroes to make sure all values contain the
+    same number of digits.
+
+o   There is a new bash-specific bindable readline function: `dabbrev-expand'.
+    It uses menu completion on a set of words taken from the history list.
+
+o   The command assigned to a key sequence with `bind -x' now sets two new
+    variables in the environment of the executed command:  READLINE_LINE_BUFFER
+    and READLINE_POINT.  The command can change the current readline line
+    and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT,
+    respectively.
+
+o   There is a new >>& redirection operator, which appends the standard output
+    and standard error to the named file.
+
+o   The parser now understands `|&' as a synonym for `2>&1 |', which redirects
+    the standard error for a command through a pipe.
+
+o   The new `;&' case statement action list terminator causes execution to
+    continue with the action associated with the next pattern in the
+    statement rather than terminating the command.
+
+o   The new `;;&' case statement action list terminator causes the shell to
+    test the next set of patterns after completing execution of the current
+    action, rather than terminating the command.
+
+o   The shell understands a new variable: PROMPT_DIRTRIM.  When set to an
+    integer value greater than zero, prompt expansion of \w and \W  will
+    retain only that number of trailing pathname components and replace
+    the intervening characters with `...'.
+
+o   There are new case-modifying word expansions: uppercase (^[^]) and
+    lowercase (,[,]).  They can work on either the first character or
+    array element, or globally.  They accept an optional shell pattern
+    that determines which characters to modify.  There is an optionally-
+    configured feature to include capitalization operators.
+
+o   The shell provides associative array variables, with the appropriate
+    support to create, delete, assign values to, and expand them.
+
+o   The `declare' builtin now has new -l (convert value to lowercase upon
+    assignment) and -u (convert value to uppercase upon assignment) options.
+    There is an optionally-configurable -c option to capitalize a value at
+    assignment.
+
+o   There is a new `coproc' reserved word that specifies a coprocess: an
+    asynchronous command run with two pipes connected to the creating shell.
+    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.
+
+Bash-3.2 contained the following new features:
+
+o Bash-3.2 now checks shell scripts for NUL characters rather than non-printing
+  characters when deciding whether or not a script is a binary file.
+
+o Quoting the string argument to the [[ command's  =~ (regexp) operator now
+  forces string matching, as with the other pattern-matching operators.
+
+Bash-3.1 contained the following new features:
+
+o Bash-3.1 may now be configured and built in a mode that enforces strict
+  POSIX compliance.
+
+o The `+=' assignment operator, which appends to the value of a string or
+  array variable, has been implemented.
+
+o It is now possible to ignore case when matching in contexts other than
+  filename generation using the new `nocasematch' shell option.
+
+Bash-3.0 contained the following new features:
+
+o Features to support the bash debugger have been implemented, and there
+  is a new `extdebug' option to turn the non-default options on
+
+o HISTCONTROL is now a colon-separated list of options and has been
+  extended with a new `erasedups' option that will result in only one
+  copy of a command being kept in the history list
+
+o Brace expansion has been extended with a new {x..y} form, producing
+  sequences of digits or characters
+
+o Timestamps are now kept with history entries, with an option to save
+  and restore them from the history file; there is a new HISTTIMEFORMAT
+  variable describing how to display the timestamps when listing history
+  entries
+
+o The `[[' command can now perform extended regular expression (egrep-like)
+  matching, with matched subexpressions placed in the BASH_REMATCH array
+  variable
+
+o A new `pipefail' option causes a pipeline to return a failure status if
+  any command in it fails
+
+o The `jobs', `kill', and `wait' builtins now accept job control notation
+  in their arguments even if job control is not enabled
+
+o The `gettext' package and libintl have been integrated, and the shell
+  messages may be translated into other languages
+
+Bash-2.05b introduced the following new features:
+
+o support for multibyte characters has been added to both bash and readline
+
+o the DEBUG trap is now run *before* simple commands, ((...)) commands,
+  [[...]] conditional commands, and for ((...)) loops
+
+o the shell now performs arithmetic in the largest integer size the machine
+  supports (intmax_t)
+
+o there is a new \D{...} prompt expansion; passes the `...' to strftime(3)
+  and inserts the result into the expanded prompt
+
+o there is a new `here-string' redirection operator:  <<< word
+
+o when displaying variables, function attributes and definitions are shown
+  separately, allowing them to be re-used as input (attempting to re-use
+  the old output would result in syntax errors).
+
+o `read' has a new `-u fd' option to read from a specified file descriptor
+
+o the bash debugger in examples/bashdb has been modified to work with the
+  new DEBUG trap semantics, the command set has been made more gdb-like,
+  and the changes to $LINENO make debugging functions work better
+
+o the expansion of $LINENO inside a shell function is only relative to the
+  function start if the shell is interactive -- if the shell is running a
+  script, $LINENO expands to the line number in the script.  This is as
+  POSIX-2001 requires
+
+Bash-2.05a introduced the following new features:
+
+o The `printf' builtin has undergone major work
+
+o There is a new read-only `shopt' option: login_shell, which is set by
+  login shells and unset otherwise
+
+o New `\A' prompt string escape sequence; expanding to time in 24-hour
+  HH:MM format
+
+o New `-A group/-g' option to complete and compgen; goes group name
+  completion
+
+o New [+-]O invocation option to set and unset `shopt' options at startup
+
+o ksh-like `ERR' trap
+
+o `for' loops now allow empty word lists after the `in' reserved word
+
+o new `hard' and `soft' arguments for the `ulimit' builtin
+
+o Readline can be configured to place the user at the same point on the line
+  when retrieving commands from the history list
+
+o Readline can be configured to skip `hidden' files (filenames with a leading
+  `.' on Unix) when performing completion
+
+Bash-2.05 introduced the following new features:
+
+o This version has once again reverted to using locales and strcoll(3) when
+  processing pattern matching bracket expressions, as POSIX requires. 
+o Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+  per the new GNU coding standards.
+o The /dev/tcp and /dev/udp redirections now accept service names as well as
+  port numbers.
+o `complete' and `compgen' now take a `-o value' option, which controls some
+   of the aspects of that compspec.  Valid values are:
+
+        default - perform bash default completion if programmable
+                  completion produces no matches
+        dirnames - perform directory name completion if programmable
+                   completion produces no matches
+        filenames - tell readline that the compspec produces filenames,
+                    so it can do things like append slashes to
+                    directory names and suppress trailing spaces
+o A new loadable builtin, realpath, which canonicalizes and expands symlinks
+  in pathname arguments.
+o When `set' is called without options, it prints function defintions in a
+  way that allows them to be reused as input.  This affects `declare' and 
+  `declare -p' as well.  This only happens when the shell is not in POSIX
+   mode, since POSIX.2 forbids this behavior.
+
+Bash-2.04 introduced the following new features:
+
+o Programmable word completion with the new `complete' and `compgen' builtins;
+  examples are provided in examples/complete/complete-examples
+o `history' has a new `-d' option to delete a history entry
+o `bind' has a new `-x' option to bind key sequences to shell commands
+o The prompt expansion code has new `\j' and `\l' escape sequences
+o The `no_empty_cmd_completion' shell option, if enabled, inhibits
+  command completion when TAB is typed on an empty line
+o `help' has a new `-s' option to print a usage synopsis
+o New arithmetic operators: var++, var--, ++var, --var, expr1,expr2 (comma)
+o New ksh93-style arithmetic for command:
+       for ((expr1 ; expr2; expr3 )); do list; done
+o `read' has new options: `-t', `-n', `-d', `-s'
+o The redirection code handles several filenames specially:  /dev/fd/N,
+  /dev/stdin, /dev/stdout, /dev/stderr
+o The redirection code now recognizes /dev/tcp/HOST/PORT and
+  /dev/udp/HOST/PORT and tries to open a TCP or UDP socket, respectively,
+  to the specified port on the specified host
+o The ${!prefix*} expansion has been implemented
+o A new FUNCNAME variable, which expands to the name of a currently-executing
+  function
+o The GROUPS variable is no longer readonly
+o A new shopt `xpg_echo' variable, to control the behavior of echo with
+  respect to backslash-escape sequences at runtime
+o The NON_INTERACTIVE_LOGIN_SHELLS #define has returned
+
+The version of Readline released with Bash-2.04, Readline-4.1, had several
+new features as well:
+
+o Parentheses matching is always compiled into readline, and controllable
+  with the new `blink-matching-paren' variable
+o The history-search-forward and history-search-backward functions now leave
+  point at the end of the line when the search string is empty, like
+  reverse-search-history, and forward-search-history
+o A new function for applications:  rl_on_new_line_with_prompt()
+o New variables for applications:  rl_already_prompted, and rl_gnu_readline_p
+
+
+Bash-2.03 had very few new features, in keeping with the convention
+that odd-numbered releases provide mainly bug fixes.  A number of new
+features were added to Readline, mostly at the request of the Cygnus
+folks.
+
+A new shopt option, `restricted_shell', so that startup files can test
+       whether or not the shell was started in restricted mode
+Filename generation is now performed on the words between ( and ) in
+       compound array assignments (this is really a bug fix)
+OLDPWD is now auto-exported, as POSIX.2 requires
+ENV and BASH_ENV are read-only variables in a restricted shell
+Bash may now be linked against an already-installed Readline library,
+       as long as the Readline library is version 4 or newer
+All shells begun with the `--login' option will source the login shell
+       startup files, even if the shell is not interactive
+
+There were lots of changes to the version of the Readline library released
+along with Bash-2.03.  For a complete list of the changes, read the file
+CHANGES in the Bash-2.03 distribution.
+
+Bash-2.02 contained the following new features:
+
+a new version of malloc (based on the old GNU malloc code in previous
+       bash versions) that is more page-oriented, more conservative
+       with memory usage, does not `orphan' large blocks when they
+       are freed, is usable on 64-bit machines, and has allocation
+       checking turned on unconditionally
+POSIX.2-style globbing character classes ([:alpha:], [:alnum:], etc.)
+POSIX.2-style globbing equivalence classes
+POSIX.2-style globbing collating symbols
+the ksh [[...]] extended conditional command
+the ksh egrep-style extended pattern matching operators
+a new `printf' builtin
+the ksh-like $(<filename) command substitution, which is equivalent to
+       $(cat filename)
+new tilde prefixes that expand to directories from the directory stack
+new `**' arithmetic operator to do exponentiation
+case-insensitive globbing (filename expansion)
+menu completion a la tcsh
+`magic-space' history expansion function like tcsh
+the readline inputrc `language' has a new file inclusion directive ($include)
+
+Bash-2.01 contained only a few new features:
+
+new `GROUPS' builtin array variable containing the user's group list
+new bindable readline commands: history-and-alias-expand-line and
+       alias-expand-line
+
+Bash-2.0 contained extensive changes and new features from bash-1.14.7.
+Here's a short list:
+
+new `time' reserved word to time pipelines, shell builtins, and
+       shell functions
+one-dimensional arrays with a new compound assignment statement,
+        appropriate expansion constructs and modifications to some
+       of the builtins (read, declare, etc.) to use them
+new quoting syntaxes for ANSI-C string expansion and locale-specific
+       string translation
+new expansions to do substring extraction, pattern replacement, and
+       indirect variable expansion
+new builtins: `disown' and `shopt'
+new variables: HISTIGNORE, SHELLOPTS, PIPESTATUS, DIRSTACK, GLOBIGNORE,
+              MACHTYPE, BASH_VERSINFO
+special handling of many unused or redundant variables removed
+       (e.g., $notify, $glob_dot_filenames, $no_exit_on_failed_exec)
+dynamic loading of new builtin commands; many loadable examples provided
+new prompt expansions: \a, \e, \n, \H, \T, \@, \v, \V
+history and aliases available in shell scripts
+new readline variables: enable-keypad, mark-directories, input-meta,
+       visible-stats, disable-completion, comment-begin
+new readline commands to manipulate the mark and operate on the region
+new readline emacs mode commands and bindings for ksh-88 compatibility
+updated and extended builtins
+new DEBUG trap
+expanded (and now documented) restricted shell mode
+
+implementation stuff:  
+autoconf-based configuration
+nearly all of the bugs reported since version 1.14 have been fixed
+most builtins converted to use builtin `getopt' for consistency
+most builtins use -p option to display output in a reusable form
+       (for consistency)
+grammar tighter and smaller (66 reduce-reduce conflicts gone)
+lots of code now smaller and faster
+test suite greatly expanded
+
+B2) Are there any user-visible incompatibilities between bash-4.2 and
+    previous bash versions?
+
+There are a few incompatibilities between version 4.2 and previous
+versions.  They are detailed in the file COMPAT in the bash distribution.
+That file is not meant to be all-encompassing; send mail to
+bash-maintainers@gnu.org (or bug-bash@gnu.org if you would like
+community discussion) if if you find something that's not mentioned there.
+
+Section C:  Differences from other Unix shells
+
+C1) How does bash differ from sh, the Bourne shell?
+
+This is a non-comprehensive list of features that differentiate bash
+from the SVR4.2 shell.  The bash manual page explains these more
+completely.
+
+Things bash has that sh does not:
+       long invocation options
+       [+-]O invocation option
+       -l invocation option
+       `!' reserved word to invert pipeline return value
+       `time' reserved word to time pipelines and shell builtins
+       the `function' reserved word
+       the `select' compound command and reserved word
+       arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
+       new $'...' and $"..." quoting
+       the $(...) form of command substitution
+       the $(<filename) form of command substitution, equivalent to
+               $(cat filename)
+       the ${#param} parameter value length operator
+       the ${!param} indirect parameter expansion operator
+       the ${!param*} prefix expansion operator
+       the ${param:offset[:length]} parameter substring operator
+       the ${param/pat[/string]} parameter pattern substitution operator
+       expansions to perform substring removal (${p%[%]w}, ${p#[#]w})
+       expansion of positional parameters beyond $9 with ${num}
+       variables: BASH, BASHPID, BASH_VERSION, BASH_VERSINFO, UID, EUID, REPLY,
+                  TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,
+                  LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,
+                  ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,
+                  HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,
+                  PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
+                  SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars,
+                  auto_resume, PROMPT_DIRTRIM, BASHOPTS, BASH_XTRACEFD
+       DEBUG trap
+       ERR trap
+       variable arrays with new compound assignment syntax
+       redirections: <>, &>, >|, <<<, [n]<&word-, [n]>&word-, >>&
+       prompt string special char translation and variable expansion
+       auto-export of variables in initial environment
+       command search finds functions before builtins
+       bash return builtin will exit a file sourced with `.'
+       builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t.
+                 export -n/-f/-p/name=value, pwd -L/-P,
+                 read -e/-p/-a/-t/-n/-d/-s/-u/-i/-N,
+                 readonly -a/-f/name=value, trap -l, set +o,
+                 set -b/-m/-o option/-h/-p/-B/-C/-H/-P,
+                 unset -f/-v, ulimit -i/-m/-p/-q/-u/-x,
+                 type -a/-p/-t/-f/-P, suspend -f, kill -n,
+                 test -o optname/s1 == s2/s1 < s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S
+       bash reads ~/.bashrc for interactive shells, $ENV for non-interactive
+       bash restricted shell mode is more extensive
+       bash allows functions and variables with the same name
+       brace expansion
+       tilde expansion
+       arithmetic expansion with $((...)) and `let' builtin
+       the `[[...]]' extended conditional command
+       process substitution
+       aliases and alias/unalias builtins
+       local variables in functions and `local' builtin
+       readline and command-line editing with programmable completion
+       command history and history/fc builtins
+       csh-like history expansion
+       other new bash builtins: bind, command, compgen, complete, builtin,
+                                declare/typeset, dirs, enable, fc, help,
+                                history, logout, popd, pushd, disown, shopt,
+                                printf, compopt, mapfile
+       exported functions
+       filename generation when using output redirection (command >a*)
+       POSIX.2-style globbing character classes
+       POSIX.2-style globbing equivalence classes
+       POSIX.2-style globbing collating symbols
+       egrep-like extended pattern matching operators
+       case-insensitive pattern matching and globbing
+       variable assignments preceding commands affect only that command,
+               even for builtins and functions
+       posix mode and strict posix conformance
+       redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr,
+               /dev/tcp/host/port, /dev/udp/host/port
+       debugger support, including `caller' builtin and new variables
+       RETURN trap
+       the `+=' assignment operator
+       autocd shell option and behavior
+       command-not-found hook with command_not_found_handle shell function
+       globstar shell option and `**' globbing behavior
+       |& synonym for `2>&1 |'
+       ;& and ;;& case action list terminators
+       case-modifying word expansions and variable attributes
+       associative arrays
+       coprocesses using the `coproc' reserved word and variables
+       shell assignment of a file descriptor used in a redirection to a variable
+
+Things sh has that bash does not:
+       uses variable SHACCT to do shell accounting
+       includes `stop' builtin (bash can use alias stop='kill -s STOP')
+       `newgrp' builtin
+       turns on job control if called as `jsh'
+       $TIMEOUT (like bash $TMOUT)
+       `^' is a synonym for `|'
+       new SVR4.2 sh builtins: mldmode, priv
+
+Implementation differences:
+       redirection to/from compound commands causes sh to create a subshell
+       bash does not allow unbalanced quotes; sh silently inserts them at EOF
+       bash does not mess with signal 11
+       sh sets (euid, egid) to (uid, gid) if -p not supplied and uid < 100
+       bash splits only the results of expansions on IFS, using POSIX.2
+               field splitting rules; sh splits all words on IFS
+       sh does not allow MAILCHECK to be unset (?)
+       sh does not allow traps on SIGALRM or SIGCHLD
+       bash allows multiple option arguments when invoked (e.g. -x -v);
+               sh allows only a single option argument (`sh -x -v' attempts
+               to open a file named `-v', and, on SunOS 4.1.4, dumps core.
+               On Solaris 2.4 and earlier versions, sh goes into an infinite
+               loop.)
+       sh exits a script if any builtin fails; bash exits only if one of
+               the POSIX.2 `special' builtins fails
+
+C2)  How does bash differ from the Korn shell, version ksh88?
+
+Things bash has or uses that ksh88 does not:
+       long invocation options
+       [-+]O invocation option
+       -l invocation option
+       `!' reserved word
+       arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
+       arithmetic in largest machine-supported size (intmax_t)
+       posix mode and posix conformance
+       command hashing
+       tilde expansion for assignment statements that look like $PATH
+       process substitution with named pipes if /dev/fd is not available
+       the ${!param} indirect parameter expansion operator
+       the ${!param*} prefix expansion operator
+       the ${param:offset[:length]} parameter substring operator
+       the ${param/pat[/string]} parameter pattern substitution operator
+       variables: BASH, BASH_VERSION, BASH_VERSINFO, BASHPID, UID, EUID, SHLVL,
+                  TIMEFORMAT, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE,
+                  HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,
+                  IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,
+                  PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,
+                  GROUPS, FUNCNAME, histchars, auto_resume, PROMPT_DIRTRIM
+       prompt expansion with backslash escapes and command substitution
+       redirection: &> (stdout and stderr), <<<, [n]<&word-, [n]>&word-, >>&
+       more extensive and extensible editing and programmable completion
+       builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable,
+                 exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history,
+                 jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd,
+                 read -e/-p/-a/-t/-n/-d/-s/-N, readonly -a/-n/-f/-p,
+                 set -o braceexpand/-o histexpand/-o interactive-comments/
+                 -o notify/-o physical/-o posix/-o hashall/-o onecmd/
+                 -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type,
+                 typeset -a/-F/-p, ulimit -i/-q/-u/-x, umask -S, alias -p,
+                 shopt, disown, printf, complete, compgen, compopt, mapfile
+       `!' csh-style history expansion
+       POSIX.2-style globbing character classes
+       POSIX.2-style globbing equivalence classes
+       POSIX.2-style globbing collating symbols
+       egrep-like extended pattern matching operators
+       case-insensitive pattern matching and globbing
+       `**' arithmetic operator to do exponentiation
+       redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr
+       arrays of unlimited size
+       TMOUT is default timeout for `read' and `select'
+       debugger support, including the `caller' builtin
+       RETURN trap
+       Timestamps in history entries
+       {x..y} brace expansion
+       The `+=' assignment operator
+       autocd shell option and behavior
+       command-not-found hook with command_not_found_handle shell function
+       globstar shell option and `**' globbing behavior
+       |& synonym for `2>&1 |'
+       ;& and ;;& case action list terminators
+       case-modifying word expansions and variable attributes
+       associative arrays
+       coprocesses using the `coproc' reserved word and variables
+       shell assignment of a file descriptor used in a redirection to a variable
+
+Things ksh88 has or uses that bash does not:
+       tracked aliases (alias -t)
+       variables: ERRNO, FPATH, EDITOR, VISUAL
+       co-processes (bash uses different syntax)
+       weirdly-scoped functions
+       typeset +f to list all function names without definitions
+       text of command history kept in a file, not memory
+       builtins: alias -x, cd old new, newgrp, print,
+                 read -p/-s/var?prompt, set -A/-o gmacs/
+                 -o bgnice/-o markdirs/-o trackall/-o viraw/-s,
+                 typeset -H/-L/-R/-Z/-A/-ft/-fu/-fx/-t, whence
+       using environment to pass attributes of exported variables
+       arithmetic evaluation done on arguments to some builtins
+       reads .profile from $PWD when invoked as login shell
+
+Implementation differences:
+       ksh runs last command of a pipeline in parent shell context
+       bash has brace expansion by default (ksh88 compile-time option)
+       bash has fixed startup file for all interactive shells; ksh reads $ENV
+       bash has exported functions
+       bash command search finds functions before builtins
+       bash waits for all commands in pipeline to exit before returning status
+       emacs-mode editing has some slightly different key bindings
+
+C3)  Which new features in ksh-93 are not in bash, and which are?
+
+This list is current through ksh93t+ (05/05/2009)
+
+New things in ksh-93 not in bash-4.2:
+       floating point arithmetic and variables
+       math library functions
+       ${!name[sub]} name of subscript for associative array
+       `.' is allowed in variable names to create a hierarchical namespace
+       more extensive compound assignment syntax
+       discipline functions
+       KEYBD trap
+       variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, .sh.version,
+                  .sh.name, .sh.subscript, .sh.value, .sh.match, HISTEDIT
+       backreferences in pattern matching (\N)
+       `&' operator in pattern lists for matching (match all instead of any)
+       exit statuses between 0 and 255
+       FPATH and PATH mixing
+       lexical scoping for local variables in `ksh' functions
+       no scoping for local variables in `POSIX' functions
+       $''  \C[.collating-element.] escape sequence
+       -C/-I invocation options
+       print -f (bash uses printf)
+       `fc' has been renamed to `hist'
+       `.' can execute shell functions
+       getopts -a
+       printf %B, %H, %P, %R, %Z modifiers, output base for %d, `=' flag
+       read -n/-N differ/-v
+       set -o showme/-o multiline (bash default)
+       `sleep' and `getconf' builtins (bash has loadable versions)
+       typeset -n and `nameref' variables
+       [[ -R name ]] (checks whether or not name is a nameref)
+       typeset -C/-S/-T/-X/-h/-s
+       experimental `type' definitions (a la typedef) using typeset
+       array expansions ${array[sub1..sub2]} and ${!array[sub1..sub2]}
+       associative array assignments using `;' as element separator
+       command substitution $(n<#) expands to current byte offset for fd N
+       new '${ ' form of command substitution, executed in current shell
+       new >;/<>;/<#pat/<##pat/<#/># redirections
+       brace expansion printf-like formats 
+
+New things in ksh-93 present in bash-4.2:
+       associative arrays
+       [n]<&word- and [n]>&word- redirections (combination dup and close)
+        for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command
+        ?:, ++, --, `expr1 , expr2' arithmetic operators
+       expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]},
+                   ${!param*}
+       compound array assignment
+       negative subscripts for indexed array variables
+       the `!' reserved word
+       loadable builtins -- but ksh uses `builtin' while bash uses `enable'
+       new $'...' and $"..." quoting
+       FIGNORE (but bash uses GLOBIGNORE), HISTCMD
+       brace expansion and set -B
+       changes to kill builtin
+       `command', `builtin', `disown' builtins
+       echo -e
+       exec -c/-a
+       printf %T modifier
+       read -A (bash uses read -a)
+        read -t/-d
+       trap -p
+       `.' restores the positional parameters when it completes
+       set -o notify/-C
+       set -o pipefail
+       set -G (-o globstar) and **
+       POSIX.2 `test'
+       umask -S
+       unalias -a
+       command and arithmetic substitution performed on PS1, PS4, and ENV
+       command name completion, TAB displaying possible completions
+       ENV processed only for interactive shells
+       The `+=' assignment operator
+       the `;&' case statement "fallthrough" pattern list terminator
+       csh-style history expansion and set -H
+       negative offsets in ${param:offset:length}
+       redirection operators preceded with {varname} to store fd number in varname
+       DEBUG can force skipping following command
+       [[ -v var ]] operator (checks whether or not var is set)
+
+Section D:  Why does bash do some things differently than other Unix shells?
+
+D1) Why does bash run a different version of `command' than
+    `which command' says it will?
+
+On many systems, `which' is actually a csh script that assumes
+you're running csh.  In tcsh, `which' and its cousin `where'
+are builtins.  On other Unix systems, `which' is a perl script
+that uses the PATH environment variable.  Many Linux distributions
+use GNU `which', which is a C program that can understand shell
+aliases.
+
+The csh script version reads the csh startup files from your
+home directory and uses those to determine which `command' will
+be invoked.  Since bash doesn't use any of those startup files,
+there's a good chance that your bash environment differs from
+your csh environment.  The bash `type' builtin does everything
+`which' does, and will report correct results for the running
+shell.  If you're really wedded to the name `which', try adding
+the following function definition to your .bashrc:
+
+       which()
+       {
+               builtin type "$@"
+       }
+
+If you're moving from tcsh and would like to bring `where' along
+as well, use this function:
+
+       where()
+       {
+               builtin type -a "$@"
+       }
+
+D2) Why doesn't bash treat brace expansions exactly like csh?
+
+The only difference between bash and csh brace expansion is that
+bash requires a brace expression to contain at least one unquoted
+comma if it is to be expanded.  Any brace-surrounded word not
+containing an unquoted comma is left unchanged by the brace
+expansion code.  This affords the greatest degree of sh
+compatibility. 
+
+Bash, ksh, zsh, and pd-ksh all implement brace expansion this way. 
+
+D3) Why doesn't bash have csh variable modifiers?
+
+Posix has specified a more powerful, albeit somewhat more cryptic,
+mechanism cribbed from ksh, and bash implements it.
+
+${parameter%word}
+        Remove smallest suffix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        smallest portion of the suffix matched by the pattern deleted.
+
+        x=file.c
+        echo ${x%.c}.o
+        -->file.o
+
+${parameter%%word}
+
+        Remove largest suffix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        largest portion of the suffix matched by the pattern deleted.
+
+        x=posix/src/std
+        echo ${x%%/*}
+        -->posix
+
+${parameter#word}
+        Remove smallest prefix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        smallest portion of the prefix matched by the pattern deleted.
+
+        x=$HOME/src/cmd
+        echo ${x#$HOME}
+        -->/src/cmd
+
+${parameter##word}
+        Remove largest prefix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        largest portion of the prefix matched by the pattern deleted.
+
+        x=/one/two/three
+        echo ${x##*/}
+        -->three
+
+
+Given
+       a=/a/b/c/d
+       b=b.xxx
+
+       csh                     bash            result
+       ---                     ----            ------
+       $a:h                    ${a%/*}            /a/b/c
+       $a:t                    ${a##*/}           d
+       $b:r                    ${b%.*}            b
+       $b:e                    ${b##*.}           xxx
+
+
+D4) How can I make my csh aliases work when I convert to bash?
+
+Bash uses a different syntax to support aliases than csh does. 
+The details can be found in the documentation.  We have provided
+a shell script which does most of the work of conversion for you;
+this script can be found in ./examples/misc/aliasconv.sh.  Here is
+how you use it:
+  
+Start csh in the normal way for you.  (e.g., `csh')
+  
+Pipe the output of `alias' through `aliasconv.sh', saving the
+results into `bash_aliases':
+  
+       alias | bash aliasconv.sh >bash_aliases
+  
+Edit `bash_aliases', carefully reading through any created
+functions.  You will need to change the names of some csh specific
+variables to the bash equivalents.  The script converts $cwd to
+$PWD, $term to $TERM, $home to $HOME, $user to $USER, and $prompt
+to $PS1.  You may also have to add quotes to avoid unwanted
+expansion.
+
+For example, the csh alias:
+  
+       alias cd 'cd \!*; echo $cwd'
+  
+is converted to the bash function:
+
+       cd () { command cd "$@"; echo $PWD ; }
+
+The only thing that needs to be done is to quote $PWD:
+  
+       cd () { command cd "$@"; echo "$PWD" ; }
+  
+Merge the edited file into your ~/.bashrc.
+
+There is an additional, more ambitious, script in
+examples/misc/cshtobash that attempts to convert your entire csh
+environment to its bash equivalent.  This script can be run as
+simply `cshtobash' to convert your normal interactive
+environment, or as `cshtobash ~/.login' to convert your login
+environment. 
+
+D5) How can I pipe standard output and standard error from one command to
+    another, like csh does with `|&'?
+
+Use
+       command 2>&1 | command2
+
+The key is to remember that piping is performed before redirection, so
+file descriptor 1 points to the pipe when it is duplicated onto file
+descriptor 2.
+
+D6) Now that I've converted from ksh to bash, are there equivalents to
+    ksh features like autoloaded functions and the `whence' command?
+
+There are features in ksh-88 and ksh-93 that do not have direct bash
+equivalents.  Most, however, can be emulated with very little trouble.
+
+ksh-88 feature         Bash equivalent
+--------------         ---------------
+compiled-in aliases    set up aliases in .bashrc; some ksh aliases are
+                       bash builtins (hash, history, type)
+coprocesses            named pipe pairs (one for read, one for write)
+typeset +f             declare -F
+cd, print, whence      function substitutes in examples/functions/kshenv
+autoloaded functions   examples/functions/autoload is the same as typeset -fu
+read var?prompt                read -p prompt var
+
+ksh-93 feature         Bash equivalent
+--------------         ---------------
+sleep, getconf         Bash has loadable versions in examples/loadables
+${.sh.version}         $BASH_VERSION
+print -f               printf
+hist                   alias hist=fc
+$HISTEDIT              $FCEDIT
+
+Section E:  How can I get bash to do certain things, and why does bash do
+           things the way it does?
+
+E1) Why is the bash builtin `test' slightly different from /bin/test?
+
+The specific example used here is [ ! x -o x ], which is false.
+
+Bash's builtin `test' implements the Posix.2 spec, which can be
+summarized as follows (the wording is due to David Korn):
+   
+Here is the set of rules for processing test arguments.
+  
+    0 Args: False
+    1 Arg:  True iff argument is not null.
+    2 Args: If first arg is !, True iff second argument is null.
+           If first argument is unary, then true if unary test is true
+           Otherwise error.
+    3 Args: If second argument is a binary operator, do binary test of $1 $3
+           If first argument is !, negate two argument test of $2 $3
+           If first argument is `(' and third argument is `)', do the
+           one-argument test of the second argument.
+           Otherwise error.
+    4 Args: If first argument is !, negate three argument test of $2 $3 $4.
+           Otherwise unspecified
+    5 or more Args: unspecified.  (Historical shells would use their
+    current algorithm).
+   
+The operators -a and -o are considered binary operators for the purpose
+of the 3 Arg case.
+   
+As you can see, the test becomes (not (x or x)), which is false.
+
+E2) Why does bash sometimes say `Broken pipe'?
+
+If a sequence of commands appears in a pipeline, and one of the
+reading commands finishes before the writer has finished, the
+writer receives a SIGPIPE signal.  Many other shells special-case
+SIGPIPE as an exit status in the pipeline and do not report it. 
+For example, in:
+  
+      ps -aux | head
+  
+`head' can finish before `ps' writes all of its output, and ps
+will try to write on a pipe without a reader.  In that case, bash
+will print `Broken pipe' to stderr when ps is killed by a
+SIGPIPE. 
+
+As of bash-3.1, bash does not report SIGPIPE errors by default.  You
+can build a version of bash that will report such errors.
+
+E3) When I have terminal escape sequences in my prompt, why does bash
+    wrap lines at the wrong column?
+
+Readline, the line editing library that bash uses, does not know
+that the terminal escape sequences do not take up space on the
+screen.  The redisplay code assumes, unless told otherwise, that
+each character in the prompt is a `printable' character that
+takes up one character position on the screen. 
+
+You can use the bash prompt expansion facility (see the PROMPTING
+section in the manual page) to tell readline that sequences of
+characters in the prompt strings take up no screen space. 
+
+Use the \[ escape to begin a sequence of non-printing characters,
+and the \] escape to signal the end of such a sequence. 
+
+E4) If I pipe the output of a command into `read variable', why doesn't
+    the output show up in $variable when the read command finishes?
+
+This has to do with the parent-child relationship between Unix
+processes.  It affects all commands run in pipelines, not just
+simple calls to `read'.  For example, piping a command's output
+into a `while' loop that repeatedly calls `read' will result in
+the same behavior.
+
+Each element of a pipeline, even a builtin or shell function,
+runs in a separate process, a child of the shell running the
+pipeline.  A subprocess cannot affect its parent's environment. 
+When the `read' command sets the variable to the input, that
+variable is set only in the subshell, not the parent shell.  When
+the subshell exits, the value of the variable is lost. 
+
+Many pipelines that end with `read variable' can be converted
+into command substitutions, which will capture the output of
+a specified command.  The output can then be assigned to a
+variable:
+
+       grep ^gnu /usr/lib/news/active | wc -l | read ngroup
+
+can be converted into
+
+       ngroup=$(grep ^gnu /usr/lib/news/active | wc -l)
+
+This does not, unfortunately, work to split the text among
+multiple variables, as read does when given multiple variable
+arguments.  If you need to do this, you can either use the
+command substitution above to read the output into a variable
+and chop up the variable using the bash pattern removal
+expansion operators or use some variant of the following
+approach.
+
+Say /usr/local/bin/ipaddr is the following shell script:
+
+#! /bin/sh
+host `hostname` | awk '/address/ {print $NF}'
+
+Instead of using
+
+       /usr/local/bin/ipaddr | read A B C D
+
+to break the local machine's IP address into separate octets, use
+
+       OIFS="$IFS"
+       IFS=.
+       set -- $(/usr/local/bin/ipaddr)
+       IFS="$OIFS"
+       A="$1" B="$2" C="$3" D="$4"
+
+Beware, however, that this will change the shell's positional
+parameters.  If you need them, you should save them before doing
+this.
+
+This is the general approach -- in most cases you will not need to
+set $IFS to a different value.
+
+Some other user-supplied alternatives include:
+
+read A B C D << HERE
+    $(IFS=.; echo $(/usr/local/bin/ipaddr))
+HERE
+
+and, where process substitution is available,
+
+read A B C D < <(IFS=.; echo $(/usr/local/bin/ipaddr))
+
+E5) I have a bunch of shell scripts that use backslash-escaped characters
+    in arguments to `echo'.  Bash doesn't interpret these characters.  Why
+    not, and how can I make it understand them?
+
+This is the behavior of echo on most Unix System V machines.
+
+The bash builtin `echo' is modeled after the 9th Edition
+Research Unix version of `echo'.  It does not interpret
+backslash-escaped characters in its argument strings by default;
+it requires the use of the -e option to enable the
+interpretation.  The System V echo provides no way to disable the
+special characters; the bash echo has a -E option to disable
+them. 
+
+There is a configuration option that will make bash behave like
+the System V echo and interpret things like `\t' by default.  Run
+configure with the --enable-xpg-echo-default option to turn this
+on.  Be aware that this will cause some of the tests run when you
+type `make tests' to fail.
+
+There is a shell option, `xpg_echo', settable with `shopt', that will
+change the behavior of echo at runtime.  Enabling this option turns
+on expansion of backslash-escape sequences.
+
+E6) Why doesn't a while or for loop get suspended when I type ^Z?
+
+This is a consequence of how job control works on Unix.  The only
+thing that can be suspended is the process group.  This is a single
+command or pipeline of commands that the shell forks and executes.
+
+When you run a while or for loop, the only thing that the shell forks
+and executes are any commands in the while loop test and commands in
+the loop bodies.  These, therefore, are the only things that can be
+suspended when you type ^Z.
+
+If you want to be able to stop the entire loop, you need to put it
+within parentheses, which will force the loop into a subshell that
+may be stopped (and subsequently restarted) as a single unit.
+
+E7) What about empty for loops in Makefiles?
+
+It's fairly common to see constructs like this in automatically-generated
+Makefiles:
+
+SUBDIRS = @SUBDIRS@
+
+       ...
+
+subdirs-clean:
+       for d in ${SUBDIRS}; do \
+               ( cd $$d && ${MAKE} ${MFLAGS} clean ) \
+       done
+
+When SUBDIRS is empty, this results in a command like this being passed to
+bash:
+
+       for d in ; do
+               ( cd $d && ${MAKE} ${MFLAGS} clean )
+       done
+
+In versions of bash before bash-2.05a, this was a syntax error.  If the
+reserved word `in' was present, a word must follow it before the semicolon
+or newline.  The language in the manual page referring to the list of words
+being empty referred to the list after it is expanded.  These versions of
+bash required that there be at least one word following the `in' when the
+construct was parsed.
+
+The idiomatic Makefile solution is something like:
+
+SUBDIRS = @SUBDIRS@
+
+subdirs-clean:
+       subdirs=$SUBDIRS ; for d in $$subdirs; do \
+               ( cd $$d && ${MAKE} ${MFLAGS} clean ) \
+       done
+
+The latest updated POSIX standard has changed this:  the word list
+is no longer required.  Bash versions 2.05a and later accept the
+new syntax.
+
+E8) Why does the arithmetic evaluation code complain about `08'?
+
+The bash arithmetic evaluation code (used for `let', $(()), (()), and in
+other places), interprets a leading `0' in numeric constants as denoting
+an octal number, and a leading `0x' as denoting hexadecimal.  This is
+in accordance with the POSIX.2 spec, section 2.9.2.1, which states that
+arithmetic constants should be handled as signed long integers as defined
+by the ANSI/ISO C standard.
+
+The POSIX.2 interpretation committee has confirmed this:
+
+http://www.pasc.org/interps/unofficial/db/p1003.2/pasc-1003.2-173.html
+
+E9) Why does the pattern matching expression [A-Z]* match files beginning
+    with every letter except `z'?
+
+Bash-2.03, Bash-2.05 and later versions honor the current locale setting
+when processing ranges within pattern matching bracket expressions ([A-Z]). 
+This is what POSIX.2 and SUSv3/XPG6 specify. 
+
+The behavior of the matcher in bash-2.05 and later versions depends on the
+current LC_COLLATE setting.  Setting this variable to `C' or `POSIX' will
+result in the traditional behavior ([A-Z] matches all uppercase ASCII
+characters).  Many other locales, including the en_US locale (the default
+on many US versions of Linux) collate the upper and lower case letters like
+this:
+
+       AaBb...Zz
+
+which means that [A-Z] matches every letter except `z'.  Others collate like
+
+       aAbBcC...zZ
+
+which means that [A-Z] matches every letter except `a'.
+
+The portable way to specify upper case letters is [:upper:] instead of
+A-Z; lower case may be specified as [:lower:] instead of a-z.
+
+Look at the manual pages for setlocale(3), strcoll(3), and, if it is
+present, locale(1).  If you have locale(1), you can use it to find
+your current locale information even if you do not have any of the
+LC_ variables set.
+
+My advice is to put
+
+       export LC_COLLATE=C
+
+into /etc/profile and inspect any shell scripts run from cron for
+constructs like [A-Z].  This will prevent things like
+
+       rm [A-Z]*
+
+from removing every file in the current directory except those beginning
+with `z' and still allow individual users to change the collation order.
+Users may put the above command into their own profiles as well, of course.
+
+E10) Why does `cd //' leave $PWD as `//'?
+
+POSIX.2, in its description of `cd', says that *three* or more leading
+slashes may be replaced with a single slash when canonicalizing the
+current working directory.
+
+This is, I presume, for historical compatibility.  Certain versions of
+Unix, and early network file systems, used paths of the form
+//hostname/path to access `path' on server `hostname'.
+
+E11) If I resize my xterm while another program is running, why doesn't bash
+     notice the change?
+
+This is another issue that deals with job control.
+
+The kernel maintains a notion of a current terminal process group.  Members
+of this process group (processes whose process group ID is equal to the
+current terminal process group ID) receive terminal-generated signals like
+SIGWINCH.  (For more details, see the JOB CONTROL section of the bash
+man page.)
+
+If a terminal is resized, the kernel sends SIGWINCH to each member of
+the terminal's current process group (the `foreground' process group).
+
+When bash is running with job control enabled, each pipeline (which may be
+a single command) is run in its own process group, different from bash's
+process group.  This foreground process group receives the SIGWINCH; bash
+does not.  Bash has no way of knowing that the terminal has been resized.
+
+There is a `checkwinsize' option, settable with the `shopt' builtin, that
+will cause bash to check the window size and adjust its idea of the
+terminal's dimensions each time a process stops or exits and returns control
+of the terminal to bash.  Enable it with `shopt -s checkwinsize'.
+
+E12) Why don't negative offsets in substring expansion work like I expect?
+
+When substring expansion of the form ${param:offset[:length} is used,
+an `offset' that evaluates to a number less than zero counts back from
+the end of the expanded value of $param.
+
+When a negative `offset' begins with a minus sign, however, unexpected things
+can happen.  Consider
+
+       a=12345678
+       echo ${a:-4}
+
+intending to print the last four characters of $a.  The problem is that
+${param:-word} already has a well-defined meaning: expand to word if the
+expanded value of param is unset or null, and $param otherwise.
+
+To use negative offsets that begin with a minus sign, separate the
+minus sign and the colon with a space.
+
+E13) Why does filename completion misbehave if a colon appears in the filename?
+
+Filename completion (and word completion in general) may appear to behave
+improperly if there is a colon in the word to be completed.
+
+The colon is special to readline's word completion code:  it is one of the
+characters that breaks words for the completer.  Readline uses these characters
+in sort of the same way that bash uses $IFS: they break or separate the words
+the completion code hands to the application-specific or default word
+completion functions.  The original intent was to make it easy to edit
+colon-separated lists (such as $PATH in bash) in various applications using
+readline for input.
+
+This is complicated by the fact that some versions of the popular
+`bash-completion' programmable completion package have problems with the
+default completion behavior in the presence of colons.  
+
+The current set of completion word break characters is available in bash as
+the value of the COMP_WORDBREAKS variable.  Removing `:' from that value is
+enough to make the colon not special to completion:
+
+COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
+
+You can also quote the colon with a backslash to achieve the same result
+temporarily.
+
+E14) Why does quoting the pattern argument to the regular expression matching
+     conditional operator (=~) cause regexp matching to stop working?
+
+In versions of bash prior to bash-3.2, the effect of quoting the regular
+expression argument to the [[ command's =~ operator was not specified.
+The practical effect was that double-quoting the pattern argument required
+backslashes to quote special pattern characters, which interfered with the
+backslash processing performed by double-quoted word expansion and was
+inconsistent with how the == shell pattern matching operator treated
+quoted characters.
+
+In bash-3.2, the shell was changed to internally quote characters in single-
+and double-quoted string arguments to the =~ operator, which suppresses the
+special meaning of the characters special to regular expression processing
+(`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces
+them to be matched literally.  This is consistent with how the `==' pattern
+matching operator treats quoted portions of its pattern argument.
+
+Since the treatment of quoted string arguments was changed, several issues
+have arisen, chief among them the problem of white space in pattern arguments
+and the differing treatment of quoted strings between bash-3.1 and bash-3.2.
+Both problems may be solved by using a shell variable to hold the pattern.
+Since word splitting is not performed when expanding shell variables in all
+operands of the [[ command, this allows users to quote patterns as they wish
+when assigning the variable, then expand the values to a single string that
+may contain whitespace.  The first problem may be solved by using backslashes
+or any other quoting mechanism to escape the white space in the patterns.
+
+Bash-4.0 introduces the concept of a `compatibility level', controlled by
+several options to the `shopt' builtin.  If the `compat31' option is enabled,
+bash reverts to the bash-3.1 behavior with respect to quoting the rhs of
+the =~ operator.
+
+E15) Tell me more about the shell compatibility level.
+
+Bash-4.0 introduced the concept of a `shell compatibility level', specified
+as a set of options to the shopt builtin (compat31, compat32, compat40 at
+this writing).  There is only one current compatibility level -- each
+option is mutually exclusive.  This list does not mention behavior that is
+standard for a particular version (e.g., setting compat32 means that quoting
+the rhs of the regexp matching operator quotes special regexp characters in
+the word, which is default behavior in bash-3.2 and above).
+
+compat31 set
+       - the < and > operators to the [[ command do not consider the current
+         locale when comparing strings
+       - quoting the rhs of the regexp matching operator (=~) has no
+         special effect
+
+compat32 set
+       - the < and > operators to the [[ command do not consider the current
+         locale when comparing strings
+
+compat40 set
+       - the < and > operators to the [[ command do not consider the current
+         locale when comparing strings
+       - interrupting a command list such as "a ; b ; c" causes the execution
+         of the entire list to be aborted (in versions before bash-4.0,
+         interrupting one command in a list caused the next to be executed)
+
+Section F:  Things to watch out for on certain Unix versions
+
+F1) Why can't I use command line editing in my `cmdtool'?
+
+The problem is `cmdtool' and bash fighting over the input.  When
+scrolling is enabled in a cmdtool window, cmdtool puts the tty in
+`raw mode' to permit command-line editing using the mouse for
+applications that cannot do it themselves.  As a result, bash and
+cmdtool each try to read keyboard input immediately, with neither
+getting enough of it to be useful.
+
+This mode also causes cmdtool to not implement many of the
+terminal functions and control sequences appearing in the
+`sun-cmd' termcap entry.  For a more complete explanation, see
+that file examples/suncmd.termcap in the bash distribution. 
+
+`xterm' is a better choice, and gets along with bash much more
+smoothly.
+
+If you must use cmdtool, you can use the termcap description in
+examples/suncmd.termcap.  Set the TERMCAP variable to the terminal
+description contained in that file, i.e.
+
+TERMCAP='Mu|sun-cmd:am:bs:km:pt:li#34:co#80:cl=^L:ce=\E[K:cd=\E[J:rs=\E[s:'
+
+Then export TERMCAP and start a new cmdtool window from that shell.
+The bash command-line editing should behave better in the new
+cmdtool.  If this works, you can put the assignment to TERMCAP
+in your bashrc file.
+
+F2) I built bash on Solaris 2.  Why do globbing expansions and filename
+    completion chop off the first few characters of each filename?
+
+This is the consequence of building bash on SunOS 5 and linking
+with the libraries in /usr/ucblib, but using the definitions
+and structures from files in /usr/include. 
+
+The actual conflict is between the dirent structure in
+/usr/include/dirent.h and the struct returned by the version of
+`readdir' in libucb.a (a 4.3-BSD style `struct direct'). 
+
+Make sure you've got /usr/ccs/bin ahead of /usr/ucb in your $PATH
+when configuring and building bash.  This will ensure that you
+use /usr/ccs/bin/cc or acc instead of /usr/ucb/cc and that you
+link with libc before libucb. 
+
+If you have installed the Sun C compiler, you may also need to
+put /usr/ccs/bin and /opt/SUNWspro/bin into your $PATH before
+/usr/ucb.
+
+F3) Why does bash dump core after I interrupt username completion or
+    `~user' tilde expansion on a machine running NIS?
+
+This is a famous and long-standing bug in the SunOS YP (sorry, NIS)
+client library, which is part of libc.
+
+The YP library code keeps static state -- a pointer into the data
+returned from the server.  When YP initializes itself (setpwent),
+it looks at this pointer and calls free on it if it's non-null. 
+So far, so good. 
+
+If one of the YP functions is interrupted during getpwent (the
+exact function is interpretwithsave()), and returns NULL, the
+pointer is freed without being reset to NULL, and the function
+returns.  The next time getpwent is called, it sees that this
+pointer is non-null, calls free, and the bash free() blows up
+because it's being asked to free freed memory. 
+
+The traditional Unix mallocs allow memory to be freed multiple
+times; that's probably why this has never been fixed.  You can
+run configure with the `--without-gnu-malloc' option to use
+the C library malloc and avoid the problem.
+
+F4) I'm running SVR4.2.  Why is the line erased every time I type `@'?
+
+The `@' character is the default `line kill' character in most
+versions of System V, including SVR4.2.  You can change this
+character to whatever you want using `stty'.  For example, to
+change the line kill character to control-u, type
+
+       stty kill ^U
+
+where the `^' and `U' can be two separate characters.
+
+F5) Why does bash report syntax errors when my C News scripts use a
+    redirection before a subshell command?
+
+The actual command in question is something like
+
+       < file ( command )
+
+According to the grammar given in the POSIX.2 standard, this construct
+is, in fact, a syntax error.  Redirections may only precede `simple
+commands'.  A subshell construct such as the above is one of the shell's
+`compound commands'.  A redirection may only follow a compound command.
+
+This affects the mechanical transformation of commands that use `cat'
+to pipe a file into a command (a favorite Useless-Use-Of-Cat topic on
+comp.unix.shell).  While most commands of the form
+
+       cat file | command
+
+can be converted to `< file command', shell control structures such as
+loops and subshells require `command < file'.
+
+The file CWRU/sh-redir-hack in the bash distribution is an
+(unofficial) patch to parse.y that will modify the grammar to
+support this construct.  It will not apply with `patch'; you must
+modify parse.y by hand.  Note that if you apply this, you must
+recompile with -DREDIRECTION_HACK.  This introduces a large
+number of reduce/reduce conflicts into the shell grammar. 
+
+F6) Why can't I use vi-mode editing on Red Hat Linux 6.1?
+
+The short answer is that Red Hat screwed up.
+
+The long answer is that they shipped an /etc/inputrc that only works
+for emacs mode editing, and then screwed all the vi users by setting
+INPUTRC to /etc/inputrc in /etc/profile.
+
+The short fix is to do one of the following: remove or rename
+/etc/inputrc, set INPUTRC=~/.inputrc in ~/.bashrc (or .bash_profile,
+but make sure you export it if you do), remove the assignment to
+INPUTRC from /etc/profile, add
+
+        set keymap emacs
+
+to the beginning of /etc/inputrc, or bracket the key bindings in
+/etc/inputrc with these lines
+
+       $if mode=emacs
+               [...]
+       $endif
+
+F7) Why do bash-2.05a and bash-2.05b fail to compile `printf.def' on
+    HP/UX 11.x?
+
+HP/UX's support for long double is imperfect at best.
+
+GCC will support it without problems, but the HP C library functions
+like strtold(3) and printf(3) don't actually work with long doubles.
+HP implemented a `long_double' type as a 4-element array of 32-bit
+ints, and that is what the library functions use.  The ANSI C
+`long double' type is a 128-bit floating point scalar.
+
+The easiest fix, until HP fixes things up, is to edit the generated
+config.h and #undef the HAVE_LONG_DOUBLE line.  After doing that,
+the compilation should complete successfully.
+
+Section G:  How can I get bash to do certain common things?
+
+G1) How can I get bash to read and display eight-bit characters?
+
+This is a process requiring several steps.
+
+First, you must ensure that the `physical' data path is a full eight
+bits.  For xterms, for example, the `vt100' resources `eightBitInput'
+and `eightBitOutput' should be set to `true'.
+
+Once you have set up an eight-bit path, you must tell the kernel and
+tty driver to leave the eighth bit of characters alone when processing
+keyboard input.  Use `stty' to do this:
+
+       stty cs8 -istrip -parenb
+
+For old BSD-style systems, you can use
+
+       stty pass8
+
+You may also need
+
+       stty even odd
+
+Finally, you need to tell readline that you will be inputting and
+displaying eight-bit characters.  You use readline variables to do
+this.  These variables can be set in your .inputrc or using the bash
+`bind' builtin.  Here's an example using `bind':
+
+       bash$ bind 'set convert-meta off'
+       bash$ bind 'set meta-flag on'
+       bash$ bind 'set output-meta on'
+
+The `set' commands between the single quotes may also be placed
+in ~/.inputrc.
+
+The script examples/scripts.noah/meta.bash encapsulates the bind
+commands in a shell function.
+
+G2) How do I write a function `x' to replace builtin command `x', but
+    still invoke the command from within the function?
+
+This is why the `command' and `builtin' builtins exist.  The
+`command' builtin executes the command supplied as its first
+argument, skipping over any function defined with that name.  The
+`builtin' builtin executes the builtin command given as its first
+argument directly. 
+
+For example, to write a function to replace `cd' that writes the
+hostname and current directory to an xterm title bar, use
+something like the following:
+
+       cd()
+       {
+               builtin cd "$@" && xtitle "$HOST: $PWD"
+       }
+
+This could also be written using `command' instead of `builtin';
+the version above is marginally more efficient. 
+
+G3) How can I find the value of a shell variable whose name is the value
+    of another shell variable?
+
+Versions of Bash newer than Bash-2.0 support this directly.  You can use 
+
+       ${!var}
+
+For example, the following sequence of commands will echo `z':
+
+       var1=var2
+       var2=z
+       echo ${!var1}
+
+For sh compatibility, use the `eval' builtin.  The important
+thing to remember is that `eval' expands the arguments you give
+it again, so you need to quote the parts of the arguments that
+you want `eval' to act on. 
+
+For example, this expression prints the value of the last positional
+parameter:
+
+       eval echo \"\$\{$#\}\"
+
+The expansion of the quoted portions of this expression will be
+deferred until `eval' runs, while the `$#' will be expanded
+before `eval' is executed.  In versions of bash later than bash-2.0,
+
+       echo ${!#}
+
+does the same thing.
+
+This is not the same thing as ksh93 `nameref' variables, though the syntax
+is similar.  I may add namerefs in a future bash version.
+
+G4) How can I make the bash `time' reserved word print timing output that
+     looks like the output from my system's /usr/bin/time?
+
+The bash command timing code looks for a variable `TIMEFORMAT' and
+uses its value as a format string to decide how to display the
+timing statistics.
+
+The value of TIMEFORMAT is a string with `%' escapes expanded in a
+fashion similar in spirit to printf(3).  The manual page explains
+the meanings of the escape sequences in the format string.
+
+If TIMEFORMAT is not set, bash acts as if the following assignment had
+been performed:
+
+       TIMEFORMAT=$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'
+
+The POSIX.2 default time format (used by `time -p command') is
+
+       TIMEFORMAT=$'real %2R\nuser %2U\nsys %2S'
+
+The BSD /usr/bin/time format can be emulated with:
+
+       TIMEFORMAT=$'\t%1R real\t%1U user\t%1S sys'
+
+The System V /usr/bin/time format can be emulated with:
+
+       TIMEFORMAT=$'\nreal\t%1R\nuser\t%1U\nsys\t%1S'
+
+The ksh format can be emulated with:
+
+       TIMEFORMAT=$'\nreal\t%2lR\nuser\t%2lU\nsys\t%2lS'
+
+G5) How do I get the current directory into my prompt?
+
+Bash provides a number of backslash-escape sequences which are expanded
+when the prompt string (PS1 or PS2) is displayed.  The full list is in
+the manual page.
+
+The \w expansion gives the full pathname of the current directory, with
+a tilde (`~') substituted for the current value of $HOME.  The \W
+expansion gives the basename of the current directory.  To put the full
+pathname of the current directory into the path without any tilde
+subsitution, use $PWD.  Here are some examples:
+
+       PS1='\w$ '      # current directory with tilde
+       PS1='\W$ '      # basename of current directory
+       PS1='$PWD$ '    # full pathname of current directory
+
+The single quotes are important in the final example to prevent $PWD from
+being expanded when the assignment to PS1 is performed.
+
+G6) How can I rename "*.foo" to "*.bar"?
+
+Use the pattern removal functionality described in D3.  The following `for'
+loop will do the trick:
+
+       for f in *.foo; do
+               mv $f ${f%foo}bar
+       done
+
+G7) How can I translate a filename from uppercase to lowercase?
+
+The script examples/functions/lowercase, originally written by John DuBois,
+will do the trick.  The converse is left as an exercise.
+
+G8) How can I write a filename expansion (globbing) pattern that will match
+    all files in the current directory except "." and ".."?
+
+You must have set the `extglob' shell option using `shopt -s extglob' to use
+this:
+
+       echo .!(.|) *
+
+A solution that works without extended globbing is given in the Unix Shell
+FAQ, posted periodically to comp.unix.shell.  It's a variant of
+
+       echo .[!.]* ..?* *
+
+(The ..?* catches files with names of three or more characters beginning
+with `..')
+
+Section H:  Where do I go from here?
+
+H1) How do I report bugs in bash, and where should I look for fixes and
+    advice?
+
+Use the `bashbug' script to report bugs.  It is built and
+installed at the same time as bash.  It provides a standard
+template for reporting a problem and automatically includes
+information about your configuration and build environment. 
+
+`bashbug' sends its reports to bug-bash@gnu.org, which
+is a large mailing list gatewayed to the usenet newsgroup gnu.bash.bug. 
+
+Bug fixes, answers to questions, and announcements of new releases
+are all posted to gnu.bash.bug.  Discussions concerning bash features
+and problems also take place there.
+
+To reach the bash maintainers directly, send mail to
+bash-maintainers@gnu.org.
+
+H2) What kind of bash documentation is there?
+
+First, look in the doc directory in the bash distribution.  It should
+contain at least the following files:
+
+bash.1         an extensive, thorough Unix-style manual page
+builtins.1     a manual page covering just bash builtin commands
+bashref.texi   a reference manual in GNU tex`info format
+bashref.info   an info version of the reference manual
+FAQ            this file
+article.ms     text of an article written for The Linux Journal
+readline.3     a man page describing readline
+
+Postscript, HTML, and ASCII files created from the above source are
+available in the documentation distribution.
+
+There is additional documentation available for anonymous FTP from host
+ftp.cwru.edu in the `pub/bash' directory.
+
+Cameron Newham and Bill Rosenblatt have written a book on bash, published
+by O'Reilly and Associates.  The book is based on Bill Rosenblatt's Korn
+Shell book.  The title is ``Learning the Bash Shell'', and the ISBN number
+of the third edition, published in March, 2005, is 0-596-00965-8.  Look for
+it in fine bookstores near you.  This edition of the book has been updated
+to cover bash-3.0.
+
+The GNU Bash Reference Manual has been published as a printed book by
+Network Theory Ltd (Paperback, ISBN: 0-9541617-7-7, Nov. 2006).  It covers
+bash-3.2 and is available from most online bookstores (see
+http://www.network-theory.co.uk/bash/manual/ for details).  The publisher
+will donate $1 to the Free Software Foundation for each copy sold. 
+
+Arnold Robbins and Nelson Beebe have written ``Classic Shell Scripting'',
+published by O'Reilly.  The first edition, with ISBN number 0-596-00595-4,
+was published in May, 2005.
+
+Chris F. A. Johnson, a frequent contributor to comp.unix.shell and
+gnu.bash.bug, has written ``Shell Scripting Recipes: A Problem-Solution
+Approach,'' a new book on shell scripting, concentrating on features of
+the POSIX standard helpful to shell script writers.  The first edition from
+Apress, with ISBN number 1-59059-471-1, was published in May, 2005.
+
+H3) What's coming in future versions?
+
+These are features I hope to include in a future version of bash.
+
+Rocky Bernstein's bash debugger (support is included with bash-4.0)
+
+H4) What's on the bash `wish list' for future versions?
+
+These are features that may or may not appear in a future version of bash.
+
+breaking some of the shell functionality into embeddable libraries
+a module system like zsh's, using dynamic loading like builtins
+a bash programmer's guide with a chapter on creating loadable builtins
+a better loadable interface to perl with access to the shell builtins and
+       variables (contributions gratefully accepted)
+ksh93-like `nameref' variables
+ksh93-like `xx.yy' variables (including some of the .sh.* variables) and
+       associated disipline functions
+Some of the new ksh93 pattern matching operators, like backreferencing
+
+H5) When will the next release appear?
+
+The next version will appear sometime in 2010.  Never make predictions. 
+
+This document is Copyright 1995-2010 by Chester Ramey.
+
+Permission is hereby granted, without written agreement and
+without license or royalty fees, to use, copy, and distribute
+this document for any purpose, provided that the above copyright
+notice appears in all copies of this document and that the
+contents of this document remain unaltered.
diff --git a/doc/FAQ-4.2~ b/doc/FAQ-4.2~
new file mode 100644 (file)
index 0000000..fc34029
--- /dev/null
@@ -0,0 +1,2273 @@
+This is the Bash FAQ, version 4.12, for Bash version 4.2.
+
+This document contains a set of frequently-asked questions concerning
+Bash, the GNU Bourne-Again Shell.  Bash is a freely-available command
+interpreter with advanced features for both interactive use and shell
+programming.
+
+Another good source of basic information about shells is the collection
+of FAQ articles periodically posted to comp.unix.shell.
+
+Questions and comments concerning this document should be sent to
+chet.ramey@case.edu.
+
+This document is available for anonymous FTP with the URL
+
+ftp://ftp.cwru.edu/pub/bash/FAQ
+
+The Bash home page is http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
+
+----------
+Contents:
+
+Section A:  The Basics
+
+A1) What is it?
+A2) What's the latest version?
+A3) Where can I get it?
+A4) On what machines will bash run?
+A5) Will bash run on operating systems other than Unix?
+A6) How can I build bash with gcc?
+A7) How can I make bash my login shell?
+A8) I just changed my login shell to bash, and now I can't FTP into my
+    machine.  Why not?
+A9) What's the `POSIX Shell and Utilities standard'?
+A10) What is the bash `posix mode'?
+
+Section B:  The latest version
+
+B1) What's new in version 4.2?
+B2) Are there any user-visible incompatibilities between bash-4.2 and
+    previous bash versions?
+
+Section C:  Differences from other Unix shells
+
+C1) How does bash differ from sh, the Bourne shell?
+C2) How does bash differ from the Korn shell, version ksh88?
+C3) Which new features in ksh-93 are not in bash, and which are?
+
+Section D:  Why does bash do some things differently than other Unix shells?
+
+D1) Why does bash run a different version of `command' than
+    `which command' says it will?
+D2) Why doesn't bash treat brace expansions exactly like csh?
+D3) Why doesn't bash have csh variable modifiers?
+D4) How can I make my csh aliases work when I convert to bash?
+D5) How can I pipe standard output and standard error from one command to
+    another, like csh does with `|&'?
+D6) Now that I've converted from ksh to bash, are there equivalents to
+    ksh features like autoloaded functions and the `whence' command?
+
+Section E:  Why does bash do certain things the way it does?
+
+E1) Why is the bash builtin `test' slightly different from /bin/test?
+E2) Why does bash sometimes say `Broken pipe'?
+E3) When I have terminal escape sequences in my prompt, why does bash
+    wrap lines at the wrong column?
+E4) If I pipe the output of a command into `read variable', why doesn't
+    the output show up in $variable when the read command finishes?
+E5) I have a bunch of shell scripts that use backslash-escaped characters
+    in arguments to `echo'.  Bash doesn't interpret these characters.  Why
+    not, and how can I make it understand them?
+E6) Why doesn't a while or for loop get suspended when I type ^Z?
+E7) What about empty for loops in Makefiles?
+E8) Why does the arithmetic evaluation code complain about `08'?
+E9) Why does the pattern matching expression [A-Z]* match files beginning
+    with every letter except `z'?
+E10) Why does `cd //' leave $PWD as `//'?
+E11) If I resize my xterm while another program is running, why doesn't bash
+     notice the change?
+E12) Why don't negative offsets in substring expansion work like I expect?
+E13) Why does filename completion misbehave if a colon appears in the filename?
+E14) Why does quoting the pattern argument to the regular expression matching
+     conditional operator (=~) cause matching to stop working?
+E15) Tell me more about the shell compatibility level.
+
+Section F:  Things to watch out for on certain Unix versions
+
+F1) Why can't I use command line editing in my `cmdtool'?
+F2) I built bash on Solaris 2.  Why do globbing expansions and filename
+    completion chop off the first few characters of each filename?
+F3) Why does bash dump core after I interrupt username completion or
+    `~user' tilde expansion on a machine running NIS?
+F4) I'm running SVR4.2.  Why is the line erased every time I type `@'?
+F5) Why does bash report syntax errors when my C News scripts use a
+    redirection before a subshell command?
+F6) Why can't I use vi-mode editing on Red Hat Linux 6.1?
+F7) Why do bash-2.05a and  bash-2.05b fail to compile `printf.def' on
+    HP/UX 11.x?
+
+Section G:  How can I get bash to do certain common things?
+
+G1) How can I get bash to read and display eight-bit characters?
+G2) How do I write a function `x' to replace builtin command `x', but
+    still invoke the command from within the function?
+G3) How can I find the value of a shell variable whose name is the value
+    of another shell variable?
+G4) How can I make the bash `time' reserved word print timing output that
+    looks like the output from my system's /usr/bin/time?
+G5) How do I get the current directory into my prompt?
+G6) How can I rename "*.foo" to "*.bar"?
+G7) How can I translate a filename from uppercase to lowercase?
+G8) How can I write a filename expansion (globbing) pattern that will match
+    all files in the current directory except "." and ".."?
+
+Section H:  Where do I go from here?
+
+H1) How do I report bugs in bash, and where should I look for fixes and
+    advice?
+H2) What kind of bash documentation is there?
+H3) What's coming in future versions?
+H4) What's on the bash `wish list'?
+H5) When will the next release appear?
+
+----------
+Section A:  The Basics
+
+A1)  What is it?
+
+Bash is a Unix command interpreter (shell).  It is an implementation of
+the Posix 1003.2 shell standard, and resembles the Korn and System V
+shells.
+
+Bash contains a number of enhancements over those shells, both
+for interactive use and shell programming.  Features geared
+toward interactive use include command line editing, command
+history, job control, aliases, and prompt expansion.  Programming
+features include additional variable expansions, shell
+arithmetic, and a number of variables and options to control
+shell behavior.
+
+Bash was originally written by Brian Fox of the Free Software
+Foundation.  The current developer and maintainer is Chet Ramey
+of Case Western Reserve University.
+
+A2)  What's the latest version?
+
+The latest version is 4.2, first made available on NN December, 2010.
+
+A3)  Where can I get it?
+
+Bash is the GNU project's shell, and so is available from the
+master GNU archive site, ftp.gnu.org, and its mirrors.  The
+latest version is also available for FTP from ftp.cwru.edu.
+The following URLs tell how to get version 4.2:
+
+ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-4.2.tar.gz
+
+Formatted versions of the documentation are available with the URLs:
+
+ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.2.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-doc-4.2.tar.gz
+
+Any patches for the current version are available with the URL:
+
+ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
+
+A4)  On what machines will bash run?
+
+Bash has been ported to nearly every version of Unix.  All you
+should have to do to build it on a machine for which a port
+exists is to type `configure' and then `make'.  The build process
+will attempt to discover the version of Unix you have and tailor
+itself accordingly, using a script created by GNU autoconf.
+
+More information appears in the file `INSTALL' in the distribution.
+
+The Bash web page (http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html)
+explains how to obtain binary versions of bash for most of the major
+commercial Unix systems.
+
+A5) Will bash run on operating systems other than Unix?
+
+Configuration specifics for Unix-like systems such as QNX and
+LynxOS are included in the distribution.  Bash-2.05 and later
+versions should compile and run on Minix 2.0 (patches were
+contributed), but I don't believe anyone has built bash-2.x on
+earlier Minix versions yet. 
+
+Bash has been ported to versions of Windows implementing the Win32
+programming interface.  This includes Windows 95 and Windows NT.
+The port was done by Cygnus Solutions (now part of Red Hat) as part
+of their CYGWIN project.  For more information about the project, see
+http://www.cygwin.com/.
+
+Cygnus originally ported bash-1.14.7, and that port was part of their
+early GNU-Win32 (the original name) releases.  Cygnus has also done
+ports of bash-3.2 and bash-4.0 to the CYGWIN environment, and both
+are available as part of their current release.
+
+Bash-2.05b and later versions should require no local Cygnus changes to
+build and run under CYGWIN.
+
+DJ Delorie has a port of bash-2.x which runs under MS-DOS, as part
+of the DJGPP project.  For more information on the project, see
+
+http://www.delorie.com/djgpp/
+
+I have been told that the original DJGPP port was done by Daisuke Aoyama.
+
+Mark Elbrecht <snowball3@bigfoot.com> has sent me notice that bash-2.04
+is available for DJGPP V2.  The files are available as:
+
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204b.zip binary
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204d.zip documentation
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204s.zip source
+
+Mark began to work with bash-2.05, but I don't know the current status.
+
+Bash-3.0 compiles and runs with no modifications under Microsoft's Services
+for Unix (SFU), once known as Interix.  I do not anticipate any problems
+with building bash-4.2, but will gladly accept any patches that are needed.
+
+A6) How can I build bash with gcc? 
+
+Bash configures to use gcc by default if it is available.  Read the
+file INSTALL in the distribution for more information.
+
+A7)  How can I make bash my login shell?
+
+Some machines let you use `chsh' to change your login shell.  Other
+systems use `passwd -s' or `passwd -e'.  If one of these works for
+you, that's all you need.  Note that many systems require the full
+pathname to a shell to appear in /etc/shells before you can make it
+your login shell.  For this, you may need the assistance of your
+friendly local system administrator. 
+
+If you cannot do this, you can still use bash as your login shell, but
+you need to perform some tricks.  The basic idea is to add a command
+to your login shell's startup file to replace your login shell with
+bash.
+
+For example, if your login shell is csh or tcsh, and you have installed
+bash in /usr/gnu/bin/bash, add the following line to ~/.login:
+
+       if ( -f /usr/gnu/bin/bash ) exec /usr/gnu/bin/bash --login
+
+(the `--login' tells bash that it is a login shell).
+
+It's not a good idea to put this command into ~/.cshrc, because every
+csh you run without the `-f' option, even ones started to run csh scripts,
+reads that file.  If you must put the command in ~/.cshrc, use something
+like
+
+       if ( $?prompt ) exec /usr/gnu/bin/bash --login
+
+to ensure that bash is exec'd only when the csh is interactive.
+
+If your login shell is sh or ksh, you have to do two things.
+
+First, create an empty file in your home directory named `.bash_profile'.
+The existence of this file will prevent the exec'd bash from trying to
+read ~/.profile, and re-execing itself over and over again.  ~/.bash_profile
+is the first file bash tries to read initialization commands from when
+it is invoked as a login shell.
+
+Next, add a line similar to the above to ~/.profile:
+
+       [ -f /usr/gnu/bin/bash ] && [ -x /usr/gnu/bin/bash ] && \
+               exec /usr/gnu/bin/bash --login
+
+This will cause login shells to replace themselves with bash running as
+a login shell.  Once you have this working, you can copy your initialization
+code from ~/.profile to ~/.bash_profile.
+
+I have received word that the recipe supplied above is insufficient for
+machines running CDE.  CDE has a maze of twisty little startup files, all
+slightly different.
+
+If you cannot change your login shell in the password file to bash, you
+will have to (apparently) live with CDE using the shell in the password
+file to run its startup scripts.  If you have changed your shell to bash,
+there is code in the CDE startup files (on Solaris, at least) that attempts
+to do the right thing.  It is, however, often broken, and may require that
+you use the $BASH_ENV trick described below.
+
+`dtterm' claims to use $SHELL as the default program to start, so if you
+can change $SHELL in the CDE startup files, you should be able to use bash
+in your terminal windows.
+
+Setting DTSOURCEPROFILE in ~/.dtprofile will cause the `Xsession' program
+to read your login shell's startup files.  You may be able to use bash for
+the rest of the CDE programs by setting SHELL to bash in ~/.dtprofile as
+well, but I have not tried this.
+
+You can use the above `exec' recipe to start bash when not logging in with
+CDE by testing the value of the DT variable:
+
+       if [ -n "$DT" ]; then
+               [ -f /usr/gnu/bin/bash ] && exec /usr/gnu/bin/bash --login
+       fi
+
+If CDE starts its shells non-interactively during login, the login shell
+startup files (~/.profile, ~/.bash_profile) will not be sourced at login.
+To get around this problem, append a line similar to the following to your
+~/.dtprofile:
+
+       BASH_ENV=${HOME}/.bash_profile ; export BASH_ENV
+
+and add the following line to the beginning of ~/.bash_profile:
+
+       unset BASH_ENV
+
+A8) I just changed my login shell to bash, and now I can't FTP into my
+   machine.  Why not?
+
+You must add the full pathname to bash to the file /etc/shells.  As
+noted in the answer to the previous question, many systems require
+this before you can make bash your login shell. 
+
+Most versions of ftpd use this file to prohibit `special' users
+such as `uucp' and `news' from using FTP. 
+
+A9)  What's the `POSIX Shell and Utilities standard'?
+
+POSIX is a name originally coined by Richard Stallman for a
+family of open system standards based on UNIX.  There are a
+number of aspects of UNIX under consideration for
+standardization, from the basic system services at the system
+call and C library level to applications and tools to system
+administration and management.  Each area of standardization is
+assigned to a working group in the 1003 series. 
+
+The POSIX Shell and Utilities standard was originally developed by
+IEEE Working Group 1003.2 (POSIX.2).  Today it has been merged with
+the original 1003.1 Working Group and is maintained by the Austin
+Group (a joint working group of the IEEE, The Open Group and
+ISO/IEC SC22/WG15).  Today the Shell and Utilities are a volume
+within the set of documents that make up IEEE Std 1003.1-2001, and
+thus now the former POSIX.2 (from 1992) is now part of the current
+POSIX.1 standard (POSIX 1003.1-2001). 
+
+The Shell and Utilities volume concentrates on the command
+interpreter interface and utility programs commonly executed from
+the command line or by other programs.  The standard is freely
+available on the web at http://www.UNIX-systems.org/version3/ . 
+Work continues at the Austin Group on maintenance issues; see
+http://www.opengroup.org/austin/ to join the discussions. 
+
+Bash is concerned with the aspects of the shell's behavior defined
+by the POSIX Shell and Utilities volume.  The shell command
+language has of course been standardized, including the basic flow
+control and program execution constructs, I/O redirection and
+pipelining, argument handling, variable expansion, and quoting. 
+
+The `special' builtins, which must be implemented as part of the
+shell to provide the desired functionality, are specified as
+being part of the shell; examples of these are `eval' and
+`export'.  Other utilities appear in the sections of POSIX not
+devoted to the shell which are commonly (and in some cases must
+be) implemented as builtin commands, such as `read' and `test'. 
+POSIX also specifies aspects of the shell's interactive
+behavior as part of the UPE, including job control and command
+line editing.  Only vi-style line editing commands have been
+standardized; emacs editing commands were left out due to
+objections.
+
+The latest version of the POSIX Shell and Utilities standard is
+available (now updated to the 2004 Edition) as part of the Single
+UNIX Specification Version 3 at
+
+http://www.UNIX-systems.org/version3/
+
+A10)  What is the bash `posix mode'?
+
+Although bash is an implementation of the POSIX shell
+specification, there are areas where the bash default behavior
+differs from that spec.  The bash `posix mode' changes the bash
+behavior in these areas so that it obeys the spec more closely. 
+
+Posix mode is entered by starting bash with the --posix or
+'-o posix' option or executing `set -o posix' after bash is running.
+
+The specific aspects of bash which change when posix mode is
+active are listed in the file POSIX in the bash distribution.
+They are also listed in a section in the Bash Reference Manual
+(from which that file is generated).
+
+Section B:  The latest version
+
+B1) What's new in version 4.2?
+
+Bash-4.2 is the second revision to the fourth major release of bash.
+
+Bash-4.2 contains the following new features (see the manual page for
+complete descriptions and the CHANGES and NEWS files in the bash-4.2
+distribution):
+
+a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+    leading #!.
+
+b.  Subshells begun to execute command substitutions or run shell functions or
+    builtins in subshells do not reset trap strings until a new trap is
+    specified.  This allows $(trap) to display the caller's traps and the
+    trap strings to persist until a new trap is set.
+
+c.  `trap -p' will now show signals ignored at shell startup, though their
+    disposition still cannot be modified.
+
+d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e.  declare/typeset has a new `-g' option, which creates variables in the
+    global scope even when run in a shell function.
+
+f.  test/[/[[ have a new -v variable unary operator, which returns success if
+    `variable' has been set.
+
+g.  Posix parsing changes to allow `! time command' and multiple consecutive
+    instances of `!' (which toggle) and `time' (which have no cumulative
+    effect).
+
+h.  Posix change to allow `time' as a command by itself to print the elapsed
+    user, system, and real times for the shell and its children.
+
+j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
+    a potential nested command substitution, as Posix requires.
+
+k.  A new FUNCNEST variable to allow the user to control the maximum shell
+    function nesting (recursive execution) level.
+
+l.  The mapfile builtin now supplies a third argument to the callback command:
+    the line about to be assigned to the supplied array index.
+
+m.  The printf builtin has as new %(fmt)T specifier, which allows time values
+    to use strftime-like formatting.
+
+n.  There is a new `compat41' shell option.
+
+o.  The cd builtin has a new Posix-mandated `-e' option.
+
+p.  Negative subscripts to indexed arrays, previously errors, now are treated
+    as offsets from the maximum assigned index + 1.
+
+q.  Negative length specifications in the ${var:offset:length} expansion,
+    previously errors, are now treated as offsets from the end of the variable.
+
+r.  Parsing change to allow `time -p --'.
+
+s.  Posix-mode parsing change to not recognize `time' as a keyword if the
+    following token begins with a `-'.  This means no more Posix-mode
+    `time -p'.  Posix interpretation 267.
+
+t.  There is a new `lastpipe' shell option that runs the last command of a
+    pipeline in the current shell context.  The lastpipe option has no
+    effect if job control is enabled.
+
+u.  History expansion no longer expands the `$!' variable expansion.
+
+v.  Posix mode shells no longer exit if a variable assignment error occurs
+    with an assignment preceding a command that is not a special builtin.
+
+w.  Non-interactive mode shells exit if -u is enabled an an attempt is made
+    to use an unset variable with the % or # expansions, the `//', `^', or
+    `,' expansions, or the parameter length expansion.
+
+x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+    fails, effectively searching the current directory.  Posix-2008 change.
+
+A short feature history dating from Bash-2.0:
+
+Bash-4.1 contained the following new features:
+
+o   Here-documents within $(...) command substitutions may once more be
+    delimited by the closing right paren, instead of requiring a newline.
+
+o   Bash's file status checks (executable, readable, etc.) now take file
+    system ACLs into account on file systems that support them.
+
+o   Bash now passes environment variables with names that are not valid
+    shell variable names through into the environment passed to child
+    processes.
+
+o   The `execute-unix-command' readline function now attempts to clear and
+    reuse the current line rather than move to a new one after the command
+    executes.
+
+o   `printf -v' can now assign values to array indices.
+
+o   New `complete -E' and `compopt -E' options that work on the "empty"
+    completion: completion attempted on an empty command line.
+
+o   New complete/compgen/compopt -D option to define a `default' completion:
+    a completion to be invoked on command for which no completion has been
+    defined.  If this function returns 124, programmable completion is
+    attempted again, allowing a user to dynamically build a set of completions
+    as completion is attempted by having the default completion function
+    install individual completion functions each time it is invoked.
+
+o   When displaying associative arrays, subscripts are now quoted.
+
+o   Changes to dabbrev-expand to make it more `emacs-like': no space appended
+    after matches, completions are not sorted, and most recent history entries
+    are presented first.
+
+o   The [[ and (( commands are now subject to the setting of `set -e' and the
+    ERR trap.
+
+o   The source/. builtin now removes NUL bytes from the file before attempting
+    to parse commands.
+
+o   There is a new configuration option (in config-top.h) that forces bash to
+    forward all history entries to syslog.
+
+o   A new variable $BASHOPTS to export shell options settable using `shopt' to
+    child processes.
+
+o   There is a new confgure option that forces the extglob option to be
+    enabled by default.
+
+o   New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
+    output to that file descriptor.
+
+o   If the optional left-hand-side of a redirection is of the form {var}, the
+    shell assigns the file descriptor used to $var or uses $var as the file
+    descriptor to move or close, depending on the redirection operator.
+
+o   The < and > operators to the [[ conditional command now do string
+    comparison according to the current locale.
+
+o   Programmable completion now uses the completion for `b' instead of `a'
+    when completion is attempted on a line like: a $(b c.
+
+o   Force extglob on temporarily when parsing the pattern argument to
+    the == and != operators to the [[ command, for compatibility.
+
+o   Changed the behavior of interrupting the wait builtin when a SIGCHLD is
+    received and a trap on SIGCHLD is set to be Posix-mode only.
+
+o   The read builtin has a new `-N nchars' option, which reads exactly NCHARS
+    characters, ignoring delimiters like newline.
+
+o   The mapfile/readarray builtin no longer stores the commands it invokes via
+    callbacks in the history list.
+
+o   There is a new `compat40' shopt option.
+
+o   The < and > operators to [[ do string comparisons using the current locale
+    only if the compatibility level is greater than 40 (set to 41 by default).
+
+o   New bindable readline function: menu-complete-backward.
+
+o   In the readline vi-mode insertion keymap, C-n is now bound to menu-complete
+    by default, and C-p to menu-complete-backward.
+
+o   When in readline vi command mode, repeatedly hitting ESC now does nothing,
+    even when ESC introduces a bound key sequence.  This is closer to how
+    historical vi behaves.
+
+o   New bindable readline function: skip-csi-sequence.  Can be used as a
+    default to consume key sequences generated by keys like Home and End
+    without having to bind all keys.
+
+o   New bindable readline variable: skip-completed-text, active when
+    completing in the middle of a word.  If enabled, it means that characters
+    in the completion that match characters in the remainder of the word are
+    "skipped" rather than inserted into the line.
+
+o   The pre-readline-6.0 version of menu completion is available as
+    "old-menu-complete" for users who do not like the readline-6.0 version.
+
+o   New bindable readline variable: echo-control-characters.  If enabled, and
+    the tty ECHOCTL bit is set, controls the echoing of characters
+    corresponding to keyboard-generated signals.
+
+o   New bindable readline variable: enable-meta-key.  Controls whether or not
+    readline sends the smm/rmm sequences if the terminal indicates it has a
+    meta key that enables eight-bit characters.
+
+Bash-4.0 contained the following new features:
+
+o   When using substring expansion on the positional parameters, a starting
+    index of 0 now causes $0 to be prefixed to the list.
+
+o   There is a new variable, $BASHPID, which always returns the process id of
+    the current shell.
+
+o   There is a new `autocd' option that, when enabled, causes bash to attempt
+    to `cd' to a directory name that is supplied as the first word of a
+    simple command.
+
+o   There is a new `checkjobs' option that causes the shell to check for and
+    report any running or stopped jobs at exit.
+
+o   The programmable completion code exports a new COMP_TYPE variable, set to
+    a character describing the type of completion being attempted.
+
+o   The programmable completion code exports a new COMP_KEY variable, set to
+    the character that caused the completion to be invoked (e.g., TAB).
+
+o   The programmable completion code now uses the same set of characters as
+    readline when breaking the command line into a list of words.
+
+o   The block multiplier for the ulimit -c and -f options is now 512 when in
+    Posix mode, as Posix specifies.
+
+o   Changed the behavior of the read builtin to save any partial input received
+    in the specified variable when the read builtin times out.  This also
+    results in variables specified as arguments to read to be set to the empty
+    string when there is no input available.  When the read builtin times out,
+    it returns an exit status greater than 128.
+
+o   The shell now has the notion of a `compatibility level', controlled by
+    new variables settable by `shopt'.  Setting this variable currently
+    restores the bash-3.1 behavior when processing quoted strings on the rhs
+    of the `=~' operator to the `[[' command.
+
+o   The `ulimit' builtin now has new -b (socket buffer size) and -T (number
+    of threads) options.
+
+o   There is a new `compopt' builtin that allows completion functions to modify
+    completion options for existing completions or the completion currently
+    being executed.
+
+o   The `read' builtin has a new -i option which inserts text into the reply
+    buffer when using readline.
+
+o   A new `-E' option to the complete builtin allows control of the default
+    behavior for completion on an empty line.
+
+o   There is now limited support for completing command name words containing
+    globbing characters.
+
+o   The `help' builtin now has a new -d option, to display a short description,
+    and a -m option, to print help information in a man page-like format.
+
+o   There is a new `mapfile' builtin to populate an array with lines from a
+    given file.
+
+o   If a command is not found, the shell attempts to execute a shell function
+    named `command_not_found_handle', supplying the command words as the
+    function arguments.
+
+o   There is a new shell option: `globstar'.  When enabled, the globbing code
+    treats `**' specially -- it matches all directories (and files within
+    them, when appropriate) recursively.
+
+o   There is a new shell option: `dirspell'.  When enabled, the filename
+    completion code performs spelling correction on directory names during
+    completion.
+
+o   The `-t' option to the `read' builtin now supports fractional timeout
+    values.
+
+o   Brace expansion now allows zero-padding of expanded numeric values and
+    will add the proper number of zeroes to make sure all values contain the
+    same number of digits.
+
+o   There is a new bash-specific bindable readline function: `dabbrev-expand'.
+    It uses menu completion on a set of words taken from the history list.
+
+o   The command assigned to a key sequence with `bind -x' now sets two new
+    variables in the environment of the executed command:  READLINE_LINE_BUFFER
+    and READLINE_POINT.  The command can change the current readline line
+    and cursor position by modifying READLINE_LINE_BUFFER and READLINE_POINT,
+    respectively.
+
+o   There is a new >>& redirection operator, which appends the standard output
+    and standard error to the named file.
+
+o   The parser now understands `|&' as a synonym for `2>&1 |', which redirects
+    the standard error for a command through a pipe.
+
+o   The new `;&' case statement action list terminator causes execution to
+    continue with the action associated with the next pattern in the
+    statement rather than terminating the command.
+
+o   The new `;;&' case statement action list terminator causes the shell to
+    test the next set of patterns after completing execution of the current
+    action, rather than terminating the command.
+
+o   The shell understands a new variable: PROMPT_DIRTRIM.  When set to an
+    integer value greater than zero, prompt expansion of \w and \W  will
+    retain only that number of trailing pathname components and replace
+    the intervening characters with `...'.
+
+o   There are new case-modifying word expansions: uppercase (^[^]) and
+    lowercase (,[,]).  They can work on either the first character or
+    array element, or globally.  They accept an optional shell pattern
+    that determines which characters to modify.  There is an optionally-
+    configured feature to include capitalization operators.
+
+o   The shell provides associative array variables, with the appropriate
+    support to create, delete, assign values to, and expand them.
+
+o   The `declare' builtin now has new -l (convert value to lowercase upon
+    assignment) and -u (convert value to uppercase upon assignment) options.
+    There is an optionally-configurable -c option to capitalize a value at
+    assignment.
+
+o   There is a new `coproc' reserved word that specifies a coprocess: an
+    asynchronous command run with two pipes connected to the creating shell.
+    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.
+
+Bash-3.2 contained the following new features:
+
+o Bash-3.2 now checks shell scripts for NUL characters rather than non-printing
+  characters when deciding whether or not a script is a binary file.
+
+o Quoting the string argument to the [[ command's  =~ (regexp) operator now
+  forces string matching, as with the other pattern-matching operators.
+
+Bash-3.1 contained the following new features:
+
+o Bash-3.1 may now be configured and built in a mode that enforces strict
+  POSIX compliance.
+
+o The `+=' assignment operator, which appends to the value of a string or
+  array variable, has been implemented.
+
+o It is now possible to ignore case when matching in contexts other than
+  filename generation using the new `nocasematch' shell option.
+
+Bash-3.0 contained the following new features:
+
+o Features to support the bash debugger have been implemented, and there
+  is a new `extdebug' option to turn the non-default options on
+
+o HISTCONTROL is now a colon-separated list of options and has been
+  extended with a new `erasedups' option that will result in only one
+  copy of a command being kept in the history list
+
+o Brace expansion has been extended with a new {x..y} form, producing
+  sequences of digits or characters
+
+o Timestamps are now kept with history entries, with an option to save
+  and restore them from the history file; there is a new HISTTIMEFORMAT
+  variable describing how to display the timestamps when listing history
+  entries
+
+o The `[[' command can now perform extended regular expression (egrep-like)
+  matching, with matched subexpressions placed in the BASH_REMATCH array
+  variable
+
+o A new `pipefail' option causes a pipeline to return a failure status if
+  any command in it fails
+
+o The `jobs', `kill', and `wait' builtins now accept job control notation
+  in their arguments even if job control is not enabled
+
+o The `gettext' package and libintl have been integrated, and the shell
+  messages may be translated into other languages
+
+Bash-2.05b introduced the following new features:
+
+o support for multibyte characters has been added to both bash and readline
+
+o the DEBUG trap is now run *before* simple commands, ((...)) commands,
+  [[...]] conditional commands, and for ((...)) loops
+
+o the shell now performs arithmetic in the largest integer size the machine
+  supports (intmax_t)
+
+o there is a new \D{...} prompt expansion; passes the `...' to strftime(3)
+  and inserts the result into the expanded prompt
+
+o there is a new `here-string' redirection operator:  <<< word
+
+o when displaying variables, function attributes and definitions are shown
+  separately, allowing them to be re-used as input (attempting to re-use
+  the old output would result in syntax errors).
+
+o `read' has a new `-u fd' option to read from a specified file descriptor
+
+o the bash debugger in examples/bashdb has been modified to work with the
+  new DEBUG trap semantics, the command set has been made more gdb-like,
+  and the changes to $LINENO make debugging functions work better
+
+o the expansion of $LINENO inside a shell function is only relative to the
+  function start if the shell is interactive -- if the shell is running a
+  script, $LINENO expands to the line number in the script.  This is as
+  POSIX-2001 requires
+
+Bash-2.05a introduced the following new features:
+
+o The `printf' builtin has undergone major work
+
+o There is a new read-only `shopt' option: login_shell, which is set by
+  login shells and unset otherwise
+
+o New `\A' prompt string escape sequence; expanding to time in 24-hour
+  HH:MM format
+
+o New `-A group/-g' option to complete and compgen; goes group name
+  completion
+
+o New [+-]O invocation option to set and unset `shopt' options at startup
+
+o ksh-like `ERR' trap
+
+o `for' loops now allow empty word lists after the `in' reserved word
+
+o new `hard' and `soft' arguments for the `ulimit' builtin
+
+o Readline can be configured to place the user at the same point on the line
+  when retrieving commands from the history list
+
+o Readline can be configured to skip `hidden' files (filenames with a leading
+  `.' on Unix) when performing completion
+
+Bash-2.05 introduced the following new features:
+
+o This version has once again reverted to using locales and strcoll(3) when
+  processing pattern matching bracket expressions, as POSIX requires. 
+o Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+  per the new GNU coding standards.
+o The /dev/tcp and /dev/udp redirections now accept service names as well as
+  port numbers.
+o `complete' and `compgen' now take a `-o value' option, which controls some
+   of the aspects of that compspec.  Valid values are:
+
+        default - perform bash default completion if programmable
+                  completion produces no matches
+        dirnames - perform directory name completion if programmable
+                   completion produces no matches
+        filenames - tell readline that the compspec produces filenames,
+                    so it can do things like append slashes to
+                    directory names and suppress trailing spaces
+o A new loadable builtin, realpath, which canonicalizes and expands symlinks
+  in pathname arguments.
+o When `set' is called without options, it prints function defintions in a
+  way that allows them to be reused as input.  This affects `declare' and 
+  `declare -p' as well.  This only happens when the shell is not in POSIX
+   mode, since POSIX.2 forbids this behavior.
+
+Bash-2.04 introduced the following new features:
+
+o Programmable word completion with the new `complete' and `compgen' builtins;
+  examples are provided in examples/complete/complete-examples
+o `history' has a new `-d' option to delete a history entry
+o `bind' has a new `-x' option to bind key sequences to shell commands
+o The prompt expansion code has new `\j' and `\l' escape sequences
+o The `no_empty_cmd_completion' shell option, if enabled, inhibits
+  command completion when TAB is typed on an empty line
+o `help' has a new `-s' option to print a usage synopsis
+o New arithmetic operators: var++, var--, ++var, --var, expr1,expr2 (comma)
+o New ksh93-style arithmetic for command:
+       for ((expr1 ; expr2; expr3 )); do list; done
+o `read' has new options: `-t', `-n', `-d', `-s'
+o The redirection code handles several filenames specially:  /dev/fd/N,
+  /dev/stdin, /dev/stdout, /dev/stderr
+o The redirection code now recognizes /dev/tcp/HOST/PORT and
+  /dev/udp/HOST/PORT and tries to open a TCP or UDP socket, respectively,
+  to the specified port on the specified host
+o The ${!prefix*} expansion has been implemented
+o A new FUNCNAME variable, which expands to the name of a currently-executing
+  function
+o The GROUPS variable is no longer readonly
+o A new shopt `xpg_echo' variable, to control the behavior of echo with
+  respect to backslash-escape sequences at runtime
+o The NON_INTERACTIVE_LOGIN_SHELLS #define has returned
+
+The version of Readline released with Bash-2.04, Readline-4.1, had several
+new features as well:
+
+o Parentheses matching is always compiled into readline, and controllable
+  with the new `blink-matching-paren' variable
+o The history-search-forward and history-search-backward functions now leave
+  point at the end of the line when the search string is empty, like
+  reverse-search-history, and forward-search-history
+o A new function for applications:  rl_on_new_line_with_prompt()
+o New variables for applications:  rl_already_prompted, and rl_gnu_readline_p
+
+
+Bash-2.03 had very few new features, in keeping with the convention
+that odd-numbered releases provide mainly bug fixes.  A number of new
+features were added to Readline, mostly at the request of the Cygnus
+folks.
+
+A new shopt option, `restricted_shell', so that startup files can test
+       whether or not the shell was started in restricted mode
+Filename generation is now performed on the words between ( and ) in
+       compound array assignments (this is really a bug fix)
+OLDPWD is now auto-exported, as POSIX.2 requires
+ENV and BASH_ENV are read-only variables in a restricted shell
+Bash may now be linked against an already-installed Readline library,
+       as long as the Readline library is version 4 or newer
+All shells begun with the `--login' option will source the login shell
+       startup files, even if the shell is not interactive
+
+There were lots of changes to the version of the Readline library released
+along with Bash-2.03.  For a complete list of the changes, read the file
+CHANGES in the Bash-2.03 distribution.
+
+Bash-2.02 contained the following new features:
+
+a new version of malloc (based on the old GNU malloc code in previous
+       bash versions) that is more page-oriented, more conservative
+       with memory usage, does not `orphan' large blocks when they
+       are freed, is usable on 64-bit machines, and has allocation
+       checking turned on unconditionally
+POSIX.2-style globbing character classes ([:alpha:], [:alnum:], etc.)
+POSIX.2-style globbing equivalence classes
+POSIX.2-style globbing collating symbols
+the ksh [[...]] extended conditional command
+the ksh egrep-style extended pattern matching operators
+a new `printf' builtin
+the ksh-like $(<filename) command substitution, which is equivalent to
+       $(cat filename)
+new tilde prefixes that expand to directories from the directory stack
+new `**' arithmetic operator to do exponentiation
+case-insensitive globbing (filename expansion)
+menu completion a la tcsh
+`magic-space' history expansion function like tcsh
+the readline inputrc `language' has a new file inclusion directive ($include)
+
+Bash-2.01 contained only a few new features:
+
+new `GROUPS' builtin array variable containing the user's group list
+new bindable readline commands: history-and-alias-expand-line and
+       alias-expand-line
+
+Bash-2.0 contained extensive changes and new features from bash-1.14.7.
+Here's a short list:
+
+new `time' reserved word to time pipelines, shell builtins, and
+       shell functions
+one-dimensional arrays with a new compound assignment statement,
+        appropriate expansion constructs and modifications to some
+       of the builtins (read, declare, etc.) to use them
+new quoting syntaxes for ANSI-C string expansion and locale-specific
+       string translation
+new expansions to do substring extraction, pattern replacement, and
+       indirect variable expansion
+new builtins: `disown' and `shopt'
+new variables: HISTIGNORE, SHELLOPTS, PIPESTATUS, DIRSTACK, GLOBIGNORE,
+              MACHTYPE, BASH_VERSINFO
+special handling of many unused or redundant variables removed
+       (e.g., $notify, $glob_dot_filenames, $no_exit_on_failed_exec)
+dynamic loading of new builtin commands; many loadable examples provided
+new prompt expansions: \a, \e, \n, \H, \T, \@, \v, \V
+history and aliases available in shell scripts
+new readline variables: enable-keypad, mark-directories, input-meta,
+       visible-stats, disable-completion, comment-begin
+new readline commands to manipulate the mark and operate on the region
+new readline emacs mode commands and bindings for ksh-88 compatibility
+updated and extended builtins
+new DEBUG trap
+expanded (and now documented) restricted shell mode
+
+implementation stuff:  
+autoconf-based configuration
+nearly all of the bugs reported since version 1.14 have been fixed
+most builtins converted to use builtin `getopt' for consistency
+most builtins use -p option to display output in a reusable form
+       (for consistency)
+grammar tighter and smaller (66 reduce-reduce conflicts gone)
+lots of code now smaller and faster
+test suite greatly expanded
+
+B2) Are there any user-visible incompatibilities between bash-4.2 and
+    previous bash versions?
+
+There are a few incompatibilities between version 4.2 and previous
+versions.  They are detailed in the file COMPAT in the bash distribution.
+That file is not meant to be all-encompassing; send mail to
+bash-maintainers@gnu.org (or bug-bash@gnu.org if you would like
+community discussion) if if you find something that's not mentioned there.
+
+Section C:  Differences from other Unix shells
+
+C1) How does bash differ from sh, the Bourne shell?
+
+This is a non-comprehensive list of features that differentiate bash
+from the SVR4.2 shell.  The bash manual page explains these more
+completely.
+
+Things bash has that sh does not:
+       long invocation options
+       [+-]O invocation option
+       -l invocation option
+       `!' reserved word to invert pipeline return value
+       `time' reserved word to time pipelines and shell builtins
+       the `function' reserved word
+       the `select' compound command and reserved word
+       arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
+       new $'...' and $"..." quoting
+       the $(...) form of command substitution
+       the $(<filename) form of command substitution, equivalent to
+               $(cat filename)
+       the ${#param} parameter value length operator
+       the ${!param} indirect parameter expansion operator
+       the ${!param*} prefix expansion operator
+       the ${param:offset[:length]} parameter substring operator
+       the ${param/pat[/string]} parameter pattern substitution operator
+       expansions to perform substring removal (${p%[%]w}, ${p#[#]w})
+       expansion of positional parameters beyond $9 with ${num}
+       variables: BASH, BASHPID, BASH_VERSION, BASH_VERSINFO, UID, EUID, REPLY,
+                  TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,
+                  LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,
+                  ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,
+                  HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,
+                  PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
+                  SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars,
+                  auto_resume, PROMPT_DIRTRIM, BASHOPTS, BASH_XTRACEFD
+       DEBUG trap
+       ERR trap
+       variable arrays with new compound assignment syntax
+       redirections: <>, &>, >|, <<<, [n]<&word-, [n]>&word-, >>&
+       prompt string special char translation and variable expansion
+       auto-export of variables in initial environment
+       command search finds functions before builtins
+       bash return builtin will exit a file sourced with `.'
+       builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t.
+                 export -n/-f/-p/name=value, pwd -L/-P,
+                 read -e/-p/-a/-t/-n/-d/-s/-u/-i/-N,
+                 readonly -a/-f/name=value, trap -l, set +o,
+                 set -b/-m/-o option/-h/-p/-B/-C/-H/-P,
+                 unset -f/-v, ulimit -i/-m/-p/-q/-u/-x,
+                 type -a/-p/-t/-f/-P, suspend -f, kill -n,
+                 test -o optname/s1 == s2/s1 < s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S
+       bash reads ~/.bashrc for interactive shells, $ENV for non-interactive
+       bash restricted shell mode is more extensive
+       bash allows functions and variables with the same name
+       brace expansion
+       tilde expansion
+       arithmetic expansion with $((...)) and `let' builtin
+       the `[[...]]' extended conditional command
+       process substitution
+       aliases and alias/unalias builtins
+       local variables in functions and `local' builtin
+       readline and command-line editing with programmable completion
+       command history and history/fc builtins
+       csh-like history expansion
+       other new bash builtins: bind, command, compgen, complete, builtin,
+                                declare/typeset, dirs, enable, fc, help,
+                                history, logout, popd, pushd, disown, shopt,
+                                printf, compopt, mapfile
+       exported functions
+       filename generation when using output redirection (command >a*)
+       POSIX.2-style globbing character classes
+       POSIX.2-style globbing equivalence classes
+       POSIX.2-style globbing collating symbols
+       egrep-like extended pattern matching operators
+       case-insensitive pattern matching and globbing
+       variable assignments preceding commands affect only that command,
+               even for builtins and functions
+       posix mode and strict posix conformance
+       redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr,
+               /dev/tcp/host/port, /dev/udp/host/port
+       debugger support, including `caller' builtin and new variables
+       RETURN trap
+       the `+=' assignment operator
+       autocd shell option and behavior
+       command-not-found hook with command_not_found_handle shell function
+       globstar shell option and `**' globbing behavior
+       |& synonym for `2>&1 |'
+       ;& and ;;& case action list terminators
+       case-modifying word expansions and variable attributes
+       associative arrays
+       coprocesses using the `coproc' reserved word and variables
+       shell assignment of a file descriptor used in a redirection to a variable
+
+Things sh has that bash does not:
+       uses variable SHACCT to do shell accounting
+       includes `stop' builtin (bash can use alias stop='kill -s STOP')
+       `newgrp' builtin
+       turns on job control if called as `jsh'
+       $TIMEOUT (like bash $TMOUT)
+       `^' is a synonym for `|'
+       new SVR4.2 sh builtins: mldmode, priv
+
+Implementation differences:
+       redirection to/from compound commands causes sh to create a subshell
+       bash does not allow unbalanced quotes; sh silently inserts them at EOF
+       bash does not mess with signal 11
+       sh sets (euid, egid) to (uid, gid) if -p not supplied and uid < 100
+       bash splits only the results of expansions on IFS, using POSIX.2
+               field splitting rules; sh splits all words on IFS
+       sh does not allow MAILCHECK to be unset (?)
+       sh does not allow traps on SIGALRM or SIGCHLD
+       bash allows multiple option arguments when invoked (e.g. -x -v);
+               sh allows only a single option argument (`sh -x -v' attempts
+               to open a file named `-v', and, on SunOS 4.1.4, dumps core.
+               On Solaris 2.4 and earlier versions, sh goes into an infinite
+               loop.)
+       sh exits a script if any builtin fails; bash exits only if one of
+               the POSIX.2 `special' builtins fails
+
+C2)  How does bash differ from the Korn shell, version ksh88?
+
+Things bash has or uses that ksh88 does not:
+       long invocation options
+       [-+]O invocation option
+       -l invocation option
+       `!' reserved word
+       arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
+       arithmetic in largest machine-supported size (intmax_t)
+       posix mode and posix conformance
+       command hashing
+       tilde expansion for assignment statements that look like $PATH
+       process substitution with named pipes if /dev/fd is not available
+       the ${!param} indirect parameter expansion operator
+       the ${!param*} prefix expansion operator
+       the ${param:offset[:length]} parameter substring operator
+       the ${param/pat[/string]} parameter pattern substitution operator
+       variables: BASH, BASH_VERSION, BASH_VERSINFO, BASHPID, UID, EUID, SHLVL,
+                  TIMEFORMAT, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE,
+                  HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,
+                  IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,
+                  PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,
+                  GROUPS, FUNCNAME, histchars, auto_resume, PROMPT_DIRTRIM
+       prompt expansion with backslash escapes and command substitution
+       redirection: &> (stdout and stderr), <<<, [n]<&word-, [n]>&word-, >>&
+       more extensive and extensible editing and programmable completion
+       builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable,
+                 exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history,
+                 jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd,
+                 read -e/-p/-a/-t/-n/-d/-s/-N, readonly -a/-n/-f/-p,
+                 set -o braceexpand/-o histexpand/-o interactive-comments/
+                 -o notify/-o physical/-o posix/-o hashall/-o onecmd/
+                 -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type,
+                 typeset -a/-F/-p, ulimit -i/-q/-u/-x, umask -S, alias -p,
+                 shopt, disown, printf, complete, compgen, compopt, mapfile
+       `!' csh-style history expansion
+       POSIX.2-style globbing character classes
+       POSIX.2-style globbing equivalence classes
+       POSIX.2-style globbing collating symbols
+       egrep-like extended pattern matching operators
+       case-insensitive pattern matching and globbing
+       `**' arithmetic operator to do exponentiation
+       redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr
+       arrays of unlimited size
+       TMOUT is default timeout for `read' and `select'
+       debugger support, including the `caller' builtin
+       RETURN trap
+       Timestamps in history entries
+       {x..y} brace expansion
+       The `+=' assignment operator
+       autocd shell option and behavior
+       command-not-found hook with command_not_found_handle shell function
+       globstar shell option and `**' globbing behavior
+       |& synonym for `2>&1 |'
+       ;& and ;;& case action list terminators
+       case-modifying word expansions and variable attributes
+       associative arrays
+       coprocesses using the `coproc' reserved word and variables
+       shell assignment of a file descriptor used in a redirection to a variable
+
+Things ksh88 has or uses that bash does not:
+       tracked aliases (alias -t)
+       variables: ERRNO, FPATH, EDITOR, VISUAL
+       co-processes (bash uses different syntax)
+       weirdly-scoped functions
+       typeset +f to list all function names without definitions
+       text of command history kept in a file, not memory
+       builtins: alias -x, cd old new, newgrp, print,
+                 read -p/-s/var?prompt, set -A/-o gmacs/
+                 -o bgnice/-o markdirs/-o trackall/-o viraw/-s,
+                 typeset -H/-L/-R/-Z/-A/-ft/-fu/-fx/-t, whence
+       using environment to pass attributes of exported variables
+       arithmetic evaluation done on arguments to some builtins
+       reads .profile from $PWD when invoked as login shell
+
+Implementation differences:
+       ksh runs last command of a pipeline in parent shell context
+       bash has brace expansion by default (ksh88 compile-time option)
+       bash has fixed startup file for all interactive shells; ksh reads $ENV
+       bash has exported functions
+       bash command search finds functions before builtins
+       bash waits for all commands in pipeline to exit before returning status
+       emacs-mode editing has some slightly different key bindings
+
+C3)  Which new features in ksh-93 are not in bash, and which are?
+
+This list is current through ksh93t+ (05/05/2009)
+
+New things in ksh-93 not in bash-4.2:
+       floating point arithmetic and variables
+       math library functions
+       ${!name[sub]} name of subscript for associative array
+       `.' is allowed in variable names to create a hierarchical namespace
+       more extensive compound assignment syntax
+       discipline functions
+       KEYBD trap
+       variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, .sh.version,
+                  .sh.name, .sh.subscript, .sh.value, .sh.match, HISTEDIT
+       backreferences in pattern matching (\N)
+       `&' operator in pattern lists for matching (match all instead of any)
+       exit statuses between 0 and 255
+       FPATH and PATH mixing
+       lexical scoping for local variables in `ksh' functions
+       no scoping for local variables in `POSIX' functions
+       $''  \C[.collating-element.] escape sequence
+       -C/-I invocation options
+       print -f (bash uses printf)
+       `fc' has been renamed to `hist'
+       `.' can execute shell functions
+       getopts -a
+       printf %B, %H, %P, %R, %Z modifiers, output base for %d, `=' flag
+       read -n/-N differ/-v
+       set -o showme/-o multiline (bash default)
+       `sleep' and `getconf' builtins (bash has loadable versions)
+       typeset -n and `nameref' variables
+       [[ -R name ]] (checks whether or not name is a nameref)
+       typeset -C/-S/-T/-X/-h/-s
+       experimental `type' definitions (a la typedef) using typeset
+       array expansions ${array[sub1..sub2]} and ${!array[sub1..sub2]}
+       associative array assignments using `;' as element separator
+       command substitution $(n<#) expands to current byte offset for fd N
+       new '${ ' form of command substitution, executed in current shell
+       new >;/<>;/<#pat/<##pat/<#/># redirections
+       brace expansion printf-like formats 
+
+New things in ksh-93 present in bash-4.2:
+       associative arrays
+       [n]<&word- and [n]>&word- redirections (combination dup and close)
+        for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command
+        ?:, ++, --, `expr1 , expr2' arithmetic operators
+       expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]},
+                   ${!param*}
+       compound array assignment
+       negative subscripts for indexed array variables
+       the `!' reserved word
+       loadable builtins -- but ksh uses `builtin' while bash uses `enable'
+       new $'...' and $"..." quoting
+       FIGNORE (but bash uses GLOBIGNORE), HISTCMD
+       brace expansion and set -B
+       changes to kill builtin
+       `command', `builtin', `disown' builtins
+       echo -e
+       exec -c/-a
+       printf %T modifier
+       read -A (bash uses read -a)
+        read -t/-d
+       trap -p
+       `.' restores the positional parameters when it completes
+       set -o notify/-C
+       set -o pipefail
+       set -G (-o globstar) and **
+       POSIX.2 `test'
+       umask -S
+       unalias -a
+       command and arithmetic substitution performed on PS1, PS4, and ENV
+       command name completion, TAB displaying possible completions
+       ENV processed only for interactive shells
+       The `+=' assignment operator
+       the `;&' case statement "fallthrough" pattern list terminator
+       csh-style history expansion and set -H
+       negative offsets in ${param:offset:length}
+       redirection operators preceded with {varname} to store fd number in varname
+       DEBUG can force skipping following command
+       [[ -v var ]] operator (checks whether or not var is set)
+
+Section D:  Why does bash do some things differently than other Unix shells?
+
+D1) Why does bash run a different version of `command' than
+    `which command' says it will?
+
+On many systems, `which' is actually a csh script that assumes
+you're running csh.  In tcsh, `which' and its cousin `where'
+are builtins.  On other Unix systems, `which' is a perl script
+that uses the PATH environment variable.  Many Linux distributions
+use GNU `which', which is a C program that can understand shell
+aliases.
+
+The csh script version reads the csh startup files from your
+home directory and uses those to determine which `command' will
+be invoked.  Since bash doesn't use any of those startup files,
+there's a good chance that your bash environment differs from
+your csh environment.  The bash `type' builtin does everything
+`which' does, and will report correct results for the running
+shell.  If you're really wedded to the name `which', try adding
+the following function definition to your .bashrc:
+
+       which()
+       {
+               builtin type "$@"
+       }
+
+If you're moving from tcsh and would like to bring `where' along
+as well, use this function:
+
+       where()
+       {
+               builtin type -a "$@"
+       }
+
+D2) Why doesn't bash treat brace expansions exactly like csh?
+
+The only difference between bash and csh brace expansion is that
+bash requires a brace expression to contain at least one unquoted
+comma if it is to be expanded.  Any brace-surrounded word not
+containing an unquoted comma is left unchanged by the brace
+expansion code.  This affords the greatest degree of sh
+compatibility. 
+
+Bash, ksh, zsh, and pd-ksh all implement brace expansion this way. 
+
+D3) Why doesn't bash have csh variable modifiers?
+
+Posix has specified a more powerful, albeit somewhat more cryptic,
+mechanism cribbed from ksh, and bash implements it.
+
+${parameter%word}
+        Remove smallest suffix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        smallest portion of the suffix matched by the pattern deleted.
+
+        x=file.c
+        echo ${x%.c}.o
+        -->file.o
+
+${parameter%%word}
+
+        Remove largest suffix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        largest portion of the suffix matched by the pattern deleted.
+
+        x=posix/src/std
+        echo ${x%%/*}
+        -->posix
+
+${parameter#word}
+        Remove smallest prefix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        smallest portion of the prefix matched by the pattern deleted.
+
+        x=$HOME/src/cmd
+        echo ${x#$HOME}
+        -->/src/cmd
+
+${parameter##word}
+        Remove largest prefix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        largest portion of the prefix matched by the pattern deleted.
+
+        x=/one/two/three
+        echo ${x##*/}
+        -->three
+
+
+Given
+       a=/a/b/c/d
+       b=b.xxx
+
+       csh                     bash            result
+       ---                     ----            ------
+       $a:h                    ${a%/*}            /a/b/c
+       $a:t                    ${a##*/}           d
+       $b:r                    ${b%.*}            b
+       $b:e                    ${b##*.}           xxx
+
+
+D4) How can I make my csh aliases work when I convert to bash?
+
+Bash uses a different syntax to support aliases than csh does. 
+The details can be found in the documentation.  We have provided
+a shell script which does most of the work of conversion for you;
+this script can be found in ./examples/misc/aliasconv.sh.  Here is
+how you use it:
+  
+Start csh in the normal way for you.  (e.g., `csh')
+  
+Pipe the output of `alias' through `aliasconv.sh', saving the
+results into `bash_aliases':
+  
+       alias | bash aliasconv.sh >bash_aliases
+  
+Edit `bash_aliases', carefully reading through any created
+functions.  You will need to change the names of some csh specific
+variables to the bash equivalents.  The script converts $cwd to
+$PWD, $term to $TERM, $home to $HOME, $user to $USER, and $prompt
+to $PS1.  You may also have to add quotes to avoid unwanted
+expansion.
+
+For example, the csh alias:
+  
+       alias cd 'cd \!*; echo $cwd'
+  
+is converted to the bash function:
+
+       cd () { command cd "$@"; echo $PWD ; }
+
+The only thing that needs to be done is to quote $PWD:
+  
+       cd () { command cd "$@"; echo "$PWD" ; }
+  
+Merge the edited file into your ~/.bashrc.
+
+There is an additional, more ambitious, script in
+examples/misc/cshtobash that attempts to convert your entire csh
+environment to its bash equivalent.  This script can be run as
+simply `cshtobash' to convert your normal interactive
+environment, or as `cshtobash ~/.login' to convert your login
+environment. 
+
+D5) How can I pipe standard output and standard error from one command to
+    another, like csh does with `|&'?
+
+Use
+       command 2>&1 | command2
+
+The key is to remember that piping is performed before redirection, so
+file descriptor 1 points to the pipe when it is duplicated onto file
+descriptor 2.
+
+D6) Now that I've converted from ksh to bash, are there equivalents to
+    ksh features like autoloaded functions and the `whence' command?
+
+There are features in ksh-88 and ksh-93 that do not have direct bash
+equivalents.  Most, however, can be emulated with very little trouble.
+
+ksh-88 feature         Bash equivalent
+--------------         ---------------
+compiled-in aliases    set up aliases in .bashrc; some ksh aliases are
+                       bash builtins (hash, history, type)
+coprocesses            named pipe pairs (one for read, one for write)
+typeset +f             declare -F
+cd, print, whence      function substitutes in examples/functions/kshenv
+autoloaded functions   examples/functions/autoload is the same as typeset -fu
+read var?prompt                read -p prompt var
+
+ksh-93 feature         Bash equivalent
+--------------         ---------------
+sleep, getconf         Bash has loadable versions in examples/loadables
+${.sh.version}         $BASH_VERSION
+print -f               printf
+hist                   alias hist=fc
+$HISTEDIT              $FCEDIT
+
+Section E:  How can I get bash to do certain things, and why does bash do
+           things the way it does?
+
+E1) Why is the bash builtin `test' slightly different from /bin/test?
+
+The specific example used here is [ ! x -o x ], which is false.
+
+Bash's builtin `test' implements the Posix.2 spec, which can be
+summarized as follows (the wording is due to David Korn):
+   
+Here is the set of rules for processing test arguments.
+  
+    0 Args: False
+    1 Arg:  True iff argument is not null.
+    2 Args: If first arg is !, True iff second argument is null.
+           If first argument is unary, then true if unary test is true
+           Otherwise error.
+    3 Args: If second argument is a binary operator, do binary test of $1 $3
+           If first argument is !, negate two argument test of $2 $3
+           If first argument is `(' and third argument is `)', do the
+           one-argument test of the second argument.
+           Otherwise error.
+    4 Args: If first argument is !, negate three argument test of $2 $3 $4.
+           Otherwise unspecified
+    5 or more Args: unspecified.  (Historical shells would use their
+    current algorithm).
+   
+The operators -a and -o are considered binary operators for the purpose
+of the 3 Arg case.
+   
+As you can see, the test becomes (not (x or x)), which is false.
+
+E2) Why does bash sometimes say `Broken pipe'?
+
+If a sequence of commands appears in a pipeline, and one of the
+reading commands finishes before the writer has finished, the
+writer receives a SIGPIPE signal.  Many other shells special-case
+SIGPIPE as an exit status in the pipeline and do not report it. 
+For example, in:
+  
+      ps -aux | head
+  
+`head' can finish before `ps' writes all of its output, and ps
+will try to write on a pipe without a reader.  In that case, bash
+will print `Broken pipe' to stderr when ps is killed by a
+SIGPIPE. 
+
+As of bash-3.1, bash does not report SIGPIPE errors by default.  You
+can build a version of bash that will report such errors.
+
+E3) When I have terminal escape sequences in my prompt, why does bash
+    wrap lines at the wrong column?
+
+Readline, the line editing library that bash uses, does not know
+that the terminal escape sequences do not take up space on the
+screen.  The redisplay code assumes, unless told otherwise, that
+each character in the prompt is a `printable' character that
+takes up one character position on the screen. 
+
+You can use the bash prompt expansion facility (see the PROMPTING
+section in the manual page) to tell readline that sequences of
+characters in the prompt strings take up no screen space. 
+
+Use the \[ escape to begin a sequence of non-printing characters,
+and the \] escape to signal the end of such a sequence. 
+
+E4) If I pipe the output of a command into `read variable', why doesn't
+    the output show up in $variable when the read command finishes?
+
+This has to do with the parent-child relationship between Unix
+processes.  It affects all commands run in pipelines, not just
+simple calls to `read'.  For example, piping a command's output
+into a `while' loop that repeatedly calls `read' will result in
+the same behavior.
+
+Each element of a pipeline, even a builtin or shell function,
+runs in a separate process, a child of the shell running the
+pipeline.  A subprocess cannot affect its parent's environment. 
+When the `read' command sets the variable to the input, that
+variable is set only in the subshell, not the parent shell.  When
+the subshell exits, the value of the variable is lost. 
+
+Many pipelines that end with `read variable' can be converted
+into command substitutions, which will capture the output of
+a specified command.  The output can then be assigned to a
+variable:
+
+       grep ^gnu /usr/lib/news/active | wc -l | read ngroup
+
+can be converted into
+
+       ngroup=$(grep ^gnu /usr/lib/news/active | wc -l)
+
+This does not, unfortunately, work to split the text among
+multiple variables, as read does when given multiple variable
+arguments.  If you need to do this, you can either use the
+command substitution above to read the output into a variable
+and chop up the variable using the bash pattern removal
+expansion operators or use some variant of the following
+approach.
+
+Say /usr/local/bin/ipaddr is the following shell script:
+
+#! /bin/sh
+host `hostname` | awk '/address/ {print $NF}'
+
+Instead of using
+
+       /usr/local/bin/ipaddr | read A B C D
+
+to break the local machine's IP address into separate octets, use
+
+       OIFS="$IFS"
+       IFS=.
+       set -- $(/usr/local/bin/ipaddr)
+       IFS="$OIFS"
+       A="$1" B="$2" C="$3" D="$4"
+
+Beware, however, that this will change the shell's positional
+parameters.  If you need them, you should save them before doing
+this.
+
+This is the general approach -- in most cases you will not need to
+set $IFS to a different value.
+
+Some other user-supplied alternatives include:
+
+read A B C D << HERE
+    $(IFS=.; echo $(/usr/local/bin/ipaddr))
+HERE
+
+and, where process substitution is available,
+
+read A B C D < <(IFS=.; echo $(/usr/local/bin/ipaddr))
+
+E5) I have a bunch of shell scripts that use backslash-escaped characters
+    in arguments to `echo'.  Bash doesn't interpret these characters.  Why
+    not, and how can I make it understand them?
+
+This is the behavior of echo on most Unix System V machines.
+
+The bash builtin `echo' is modeled after the 9th Edition
+Research Unix version of `echo'.  It does not interpret
+backslash-escaped characters in its argument strings by default;
+it requires the use of the -e option to enable the
+interpretation.  The System V echo provides no way to disable the
+special characters; the bash echo has a -E option to disable
+them. 
+
+There is a configuration option that will make bash behave like
+the System V echo and interpret things like `\t' by default.  Run
+configure with the --enable-xpg-echo-default option to turn this
+on.  Be aware that this will cause some of the tests run when you
+type `make tests' to fail.
+
+There is a shell option, `xpg_echo', settable with `shopt', that will
+change the behavior of echo at runtime.  Enabling this option turns
+on expansion of backslash-escape sequences.
+
+E6) Why doesn't a while or for loop get suspended when I type ^Z?
+
+This is a consequence of how job control works on Unix.  The only
+thing that can be suspended is the process group.  This is a single
+command or pipeline of commands that the shell forks and executes.
+
+When you run a while or for loop, the only thing that the shell forks
+and executes are any commands in the while loop test and commands in
+the loop bodies.  These, therefore, are the only things that can be
+suspended when you type ^Z.
+
+If you want to be able to stop the entire loop, you need to put it
+within parentheses, which will force the loop into a subshell that
+may be stopped (and subsequently restarted) as a single unit.
+
+E7) What about empty for loops in Makefiles?
+
+It's fairly common to see constructs like this in automatically-generated
+Makefiles:
+
+SUBDIRS = @SUBDIRS@
+
+       ...
+
+subdirs-clean:
+       for d in ${SUBDIRS}; do \
+               ( cd $$d && ${MAKE} ${MFLAGS} clean ) \
+       done
+
+When SUBDIRS is empty, this results in a command like this being passed to
+bash:
+
+       for d in ; do
+               ( cd $d && ${MAKE} ${MFLAGS} clean )
+       done
+
+In versions of bash before bash-2.05a, this was a syntax error.  If the
+reserved word `in' was present, a word must follow it before the semicolon
+or newline.  The language in the manual page referring to the list of words
+being empty referred to the list after it is expanded.  These versions of
+bash required that there be at least one word following the `in' when the
+construct was parsed.
+
+The idiomatic Makefile solution is something like:
+
+SUBDIRS = @SUBDIRS@
+
+subdirs-clean:
+       subdirs=$SUBDIRS ; for d in $$subdirs; do \
+               ( cd $$d && ${MAKE} ${MFLAGS} clean ) \
+       done
+
+The latest updated POSIX standard has changed this:  the word list
+is no longer required.  Bash versions 2.05a and later accept the
+new syntax.
+
+E8) Why does the arithmetic evaluation code complain about `08'?
+
+The bash arithmetic evaluation code (used for `let', $(()), (()), and in
+other places), interprets a leading `0' in numeric constants as denoting
+an octal number, and a leading `0x' as denoting hexadecimal.  This is
+in accordance with the POSIX.2 spec, section 2.9.2.1, which states that
+arithmetic constants should be handled as signed long integers as defined
+by the ANSI/ISO C standard.
+
+The POSIX.2 interpretation committee has confirmed this:
+
+http://www.pasc.org/interps/unofficial/db/p1003.2/pasc-1003.2-173.html
+
+E9) Why does the pattern matching expression [A-Z]* match files beginning
+    with every letter except `z'?
+
+Bash-2.03, Bash-2.05 and later versions honor the current locale setting
+when processing ranges within pattern matching bracket expressions ([A-Z]). 
+This is what POSIX.2 and SUSv3/XPG6 specify. 
+
+The behavior of the matcher in bash-2.05 and later versions depends on the
+current LC_COLLATE setting.  Setting this variable to `C' or `POSIX' will
+result in the traditional behavior ([A-Z] matches all uppercase ASCII
+characters).  Many other locales, including the en_US locale (the default
+on many US versions of Linux) collate the upper and lower case letters like
+this:
+
+       AaBb...Zz
+
+which means that [A-Z] matches every letter except `z'.  Others collate like
+
+       aAbBcC...zZ
+
+which means that [A-Z] matches every letter except `a'.
+
+The portable way to specify upper case letters is [:upper:] instead of
+A-Z; lower case may be specified as [:lower:] instead of a-z.
+
+Look at the manual pages for setlocale(3), strcoll(3), and, if it is
+present, locale(1).  If you have locale(1), you can use it to find
+your current locale information even if you do not have any of the
+LC_ variables set.
+
+My advice is to put
+
+       export LC_COLLATE=C
+
+into /etc/profile and inspect any shell scripts run from cron for
+constructs like [A-Z].  This will prevent things like
+
+       rm [A-Z]*
+
+from removing every file in the current directory except those beginning
+with `z' and still allow individual users to change the collation order.
+Users may put the above command into their own profiles as well, of course.
+
+E10) Why does `cd //' leave $PWD as `//'?
+
+POSIX.2, in its description of `cd', says that *three* or more leading
+slashes may be replaced with a single slash when canonicalizing the
+current working directory.
+
+This is, I presume, for historical compatibility.  Certain versions of
+Unix, and early network file systems, used paths of the form
+//hostname/path to access `path' on server `hostname'.
+
+E11) If I resize my xterm while another program is running, why doesn't bash
+     notice the change?
+
+This is another issue that deals with job control.
+
+The kernel maintains a notion of a current terminal process group.  Members
+of this process group (processes whose process group ID is equal to the
+current terminal process group ID) receive terminal-generated signals like
+SIGWINCH.  (For more details, see the JOB CONTROL section of the bash
+man page.)
+
+If a terminal is resized, the kernel sends SIGWINCH to each member of
+the terminal's current process group (the `foreground' process group).
+
+When bash is running with job control enabled, each pipeline (which may be
+a single command) is run in its own process group, different from bash's
+process group.  This foreground process group receives the SIGWINCH; bash
+does not.  Bash has no way of knowing that the terminal has been resized.
+
+There is a `checkwinsize' option, settable with the `shopt' builtin, that
+will cause bash to check the window size and adjust its idea of the
+terminal's dimensions each time a process stops or exits and returns control
+of the terminal to bash.  Enable it with `shopt -s checkwinsize'.
+
+E12) Why don't negative offsets in substring expansion work like I expect?
+
+When substring expansion of the form ${param:offset[:length} is used,
+an `offset' that evaluates to a number less than zero counts back from
+the end of the expanded value of $param.
+
+When a negative `offset' begins with a minus sign, however, unexpected things
+can happen.  Consider
+
+       a=12345678
+       echo ${a:-4}
+
+intending to print the last four characters of $a.  The problem is that
+${param:-word} already has a well-defined meaning: expand to word if the
+expanded value of param is unset or null, and $param otherwise.
+
+To use negative offsets that begin with a minus sign, separate the
+minus sign and the colon with a space.
+
+E13) Why does filename completion misbehave if a colon appears in the filename?
+
+Filename completion (and word completion in general) may appear to behave
+improperly if there is a colon in the word to be completed.
+
+The colon is special to readline's word completion code:  it is one of the
+characters that breaks words for the completer.  Readline uses these characters
+in sort of the same way that bash uses $IFS: they break or separate the words
+the completion code hands to the application-specific or default word
+completion functions.  The original intent was to make it easy to edit
+colon-separated lists (such as $PATH in bash) in various applications using
+readline for input.
+
+This is complicated by the fact that some versions of the popular
+`bash-completion' programmable completion package have problems with the
+default completion behavior in the presence of colons.  
+
+The current set of completion word break characters is available in bash as
+the value of the COMP_WORDBREAKS variable.  Removing `:' from that value is
+enough to make the colon not special to completion:
+
+COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
+
+You can also quote the colon with a backslash to achieve the same result
+temporarily.
+
+E14) Why does quoting the pattern argument to the regular expression matching
+     conditional operator (=~) cause regexp matching to stop working?
+
+In versions of bash prior to bash-3.2, the effect of quoting the regular
+expression argument to the [[ command's =~ operator was not specified.
+The practical effect was that double-quoting the pattern argument required
+backslashes to quote special pattern characters, which interfered with the
+backslash processing performed by double-quoted word expansion and was
+inconsistent with how the == shell pattern matching operator treated
+quoted characters.
+
+In bash-3.2, the shell was changed to internally quote characters in single-
+and double-quoted string arguments to the =~ operator, which suppresses the
+special meaning of the characters special to regular expression processing
+(`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces
+them to be matched literally.  This is consistent with how the `==' pattern
+matching operator treats quoted portions of its pattern argument.
+
+Since the treatment of quoted string arguments was changed, several issues
+have arisen, chief among them the problem of white space in pattern arguments
+and the differing treatment of quoted strings between bash-3.1 and bash-3.2.
+Both problems may be solved by using a shell variable to hold the pattern.
+Since word splitting is not performed when expanding shell variables in all
+operands of the [[ command, this allows users to quote patterns as they wish
+when assigning the variable, then expand the values to a single string that
+may contain whitespace.  The first problem may be solved by using backslashes
+or any other quoting mechanism to escape the white space in the patterns.
+
+Bash-4.0 introduces the concept of a `compatibility level', controlled by
+several options to the `shopt' builtin.  If the `compat31' option is enabled,
+bash reverts to the bash-3.1 behavior with respect to quoting the rhs of
+the =~ operator.
+
+E15) Tell me more about the shell compatibility level.
+
+Bash-4.0 introduced the concept of a `shell compatibility level', specified
+as a set of options to the shopt builtin (compat31, compat32, compat40 at
+this writing).  There is only one current compatibility level -- each
+option is mutually exclusive.  This list does not mention behavior that is
+standard for a particular version (e.g., setting compat32 means that quoting
+the rhs of the regexp matching operator quotes special regexp characters in
+the word, which is default behavior in bash-3.2 and above).
+
+compat31 set
+       - the < and > operators to the [[ command do not consider the current
+         locale when comparing strings
+       - quoting the rhs of the regexp matching operator (=~) has no
+         special effect
+
+compat32 set
+       - the < and > operators to the [[ command do not consider the current
+         locale when comparing strings
+
+compat40 set
+       - the < and > operators to the [[ command do not consider the current
+         locale when comparing strings
+       - interrupting a command list such as "a ; b ; c" causes the execution
+         of the entire list to be aborted (in versions before bash-4.0,
+         interrupting one command in a list caused the next to be executed)
+
+Section F:  Things to watch out for on certain Unix versions
+
+F1) Why can't I use command line editing in my `cmdtool'?
+
+The problem is `cmdtool' and bash fighting over the input.  When
+scrolling is enabled in a cmdtool window, cmdtool puts the tty in
+`raw mode' to permit command-line editing using the mouse for
+applications that cannot do it themselves.  As a result, bash and
+cmdtool each try to read keyboard input immediately, with neither
+getting enough of it to be useful.
+
+This mode also causes cmdtool to not implement many of the
+terminal functions and control sequences appearing in the
+`sun-cmd' termcap entry.  For a more complete explanation, see
+that file examples/suncmd.termcap in the bash distribution. 
+
+`xterm' is a better choice, and gets along with bash much more
+smoothly.
+
+If you must use cmdtool, you can use the termcap description in
+examples/suncmd.termcap.  Set the TERMCAP variable to the terminal
+description contained in that file, i.e.
+
+TERMCAP='Mu|sun-cmd:am:bs:km:pt:li#34:co#80:cl=^L:ce=\E[K:cd=\E[J:rs=\E[s:'
+
+Then export TERMCAP and start a new cmdtool window from that shell.
+The bash command-line editing should behave better in the new
+cmdtool.  If this works, you can put the assignment to TERMCAP
+in your bashrc file.
+
+F2) I built bash on Solaris 2.  Why do globbing expansions and filename
+    completion chop off the first few characters of each filename?
+
+This is the consequence of building bash on SunOS 5 and linking
+with the libraries in /usr/ucblib, but using the definitions
+and structures from files in /usr/include. 
+
+The actual conflict is between the dirent structure in
+/usr/include/dirent.h and the struct returned by the version of
+`readdir' in libucb.a (a 4.3-BSD style `struct direct'). 
+
+Make sure you've got /usr/ccs/bin ahead of /usr/ucb in your $PATH
+when configuring and building bash.  This will ensure that you
+use /usr/ccs/bin/cc or acc instead of /usr/ucb/cc and that you
+link with libc before libucb. 
+
+If you have installed the Sun C compiler, you may also need to
+put /usr/ccs/bin and /opt/SUNWspro/bin into your $PATH before
+/usr/ucb.
+
+F3) Why does bash dump core after I interrupt username completion or
+    `~user' tilde expansion on a machine running NIS?
+
+This is a famous and long-standing bug in the SunOS YP (sorry, NIS)
+client library, which is part of libc.
+
+The YP library code keeps static state -- a pointer into the data
+returned from the server.  When YP initializes itself (setpwent),
+it looks at this pointer and calls free on it if it's non-null. 
+So far, so good. 
+
+If one of the YP functions is interrupted during getpwent (the
+exact function is interpretwithsave()), and returns NULL, the
+pointer is freed without being reset to NULL, and the function
+returns.  The next time getpwent is called, it sees that this
+pointer is non-null, calls free, and the bash free() blows up
+because it's being asked to free freed memory. 
+
+The traditional Unix mallocs allow memory to be freed multiple
+times; that's probably why this has never been fixed.  You can
+run configure with the `--without-gnu-malloc' option to use
+the C library malloc and avoid the problem.
+
+F4) I'm running SVR4.2.  Why is the line erased every time I type `@'?
+
+The `@' character is the default `line kill' character in most
+versions of System V, including SVR4.2.  You can change this
+character to whatever you want using `stty'.  For example, to
+change the line kill character to control-u, type
+
+       stty kill ^U
+
+where the `^' and `U' can be two separate characters.
+
+F5) Why does bash report syntax errors when my C News scripts use a
+    redirection before a subshell command?
+
+The actual command in question is something like
+
+       < file ( command )
+
+According to the grammar given in the POSIX.2 standard, this construct
+is, in fact, a syntax error.  Redirections may only precede `simple
+commands'.  A subshell construct such as the above is one of the shell's
+`compound commands'.  A redirection may only follow a compound command.
+
+This affects the mechanical transformation of commands that use `cat'
+to pipe a file into a command (a favorite Useless-Use-Of-Cat topic on
+comp.unix.shell).  While most commands of the form
+
+       cat file | command
+
+can be converted to `< file command', shell control structures such as
+loops and subshells require `command < file'.
+
+The file CWRU/sh-redir-hack in the bash distribution is an
+(unofficial) patch to parse.y that will modify the grammar to
+support this construct.  It will not apply with `patch'; you must
+modify parse.y by hand.  Note that if you apply this, you must
+recompile with -DREDIRECTION_HACK.  This introduces a large
+number of reduce/reduce conflicts into the shell grammar. 
+
+F6) Why can't I use vi-mode editing on Red Hat Linux 6.1?
+
+The short answer is that Red Hat screwed up.
+
+The long answer is that they shipped an /etc/inputrc that only works
+for emacs mode editing, and then screwed all the vi users by setting
+INPUTRC to /etc/inputrc in /etc/profile.
+
+The short fix is to do one of the following: remove or rename
+/etc/inputrc, set INPUTRC=~/.inputrc in ~/.bashrc (or .bash_profile,
+but make sure you export it if you do), remove the assignment to
+INPUTRC from /etc/profile, add
+
+        set keymap emacs
+
+to the beginning of /etc/inputrc, or bracket the key bindings in
+/etc/inputrc with these lines
+
+       $if mode=emacs
+               [...]
+       $endif
+
+F7) Why do bash-2.05a and bash-2.05b fail to compile `printf.def' on
+    HP/UX 11.x?
+
+HP/UX's support for long double is imperfect at best.
+
+GCC will support it without problems, but the HP C library functions
+like strtold(3) and printf(3) don't actually work with long doubles.
+HP implemented a `long_double' type as a 4-element array of 32-bit
+ints, and that is what the library functions use.  The ANSI C
+`long double' type is a 128-bit floating point scalar.
+
+The easiest fix, until HP fixes things up, is to edit the generated
+config.h and #undef the HAVE_LONG_DOUBLE line.  After doing that,
+the compilation should complete successfully.
+
+Section G:  How can I get bash to do certain common things?
+
+G1) How can I get bash to read and display eight-bit characters?
+
+This is a process requiring several steps.
+
+First, you must ensure that the `physical' data path is a full eight
+bits.  For xterms, for example, the `vt100' resources `eightBitInput'
+and `eightBitOutput' should be set to `true'.
+
+Once you have set up an eight-bit path, you must tell the kernel and
+tty driver to leave the eighth bit of characters alone when processing
+keyboard input.  Use `stty' to do this:
+
+       stty cs8 -istrip -parenb
+
+For old BSD-style systems, you can use
+
+       stty pass8
+
+You may also need
+
+       stty even odd
+
+Finally, you need to tell readline that you will be inputting and
+displaying eight-bit characters.  You use readline variables to do
+this.  These variables can be set in your .inputrc or using the bash
+`bind' builtin.  Here's an example using `bind':
+
+       bash$ bind 'set convert-meta off'
+       bash$ bind 'set meta-flag on'
+       bash$ bind 'set output-meta on'
+
+The `set' commands between the single quotes may also be placed
+in ~/.inputrc.
+
+The script examples/scripts.noah/meta.bash encapsulates the bind
+commands in a shell function.
+
+G2) How do I write a function `x' to replace builtin command `x', but
+    still invoke the command from within the function?
+
+This is why the `command' and `builtin' builtins exist.  The
+`command' builtin executes the command supplied as its first
+argument, skipping over any function defined with that name.  The
+`builtin' builtin executes the builtin command given as its first
+argument directly. 
+
+For example, to write a function to replace `cd' that writes the
+hostname and current directory to an xterm title bar, use
+something like the following:
+
+       cd()
+       {
+               builtin cd "$@" && xtitle "$HOST: $PWD"
+       }
+
+This could also be written using `command' instead of `builtin';
+the version above is marginally more efficient. 
+
+G3) How can I find the value of a shell variable whose name is the value
+    of another shell variable?
+
+Versions of Bash newer than Bash-2.0 support this directly.  You can use 
+
+       ${!var}
+
+For example, the following sequence of commands will echo `z':
+
+       var1=var2
+       var2=z
+       echo ${!var1}
+
+For sh compatibility, use the `eval' builtin.  The important
+thing to remember is that `eval' expands the arguments you give
+it again, so you need to quote the parts of the arguments that
+you want `eval' to act on. 
+
+For example, this expression prints the value of the last positional
+parameter:
+
+       eval echo \"\$\{$#\}\"
+
+The expansion of the quoted portions of this expression will be
+deferred until `eval' runs, while the `$#' will be expanded
+before `eval' is executed.  In versions of bash later than bash-2.0,
+
+       echo ${!#}
+
+does the same thing.
+
+This is not the same thing as ksh93 `nameref' variables, though the syntax
+is similar.  I may add namerefs in a future bash version.
+
+G4) How can I make the bash `time' reserved word print timing output that
+     looks like the output from my system's /usr/bin/time?
+
+The bash command timing code looks for a variable `TIMEFORMAT' and
+uses its value as a format string to decide how to display the
+timing statistics.
+
+The value of TIMEFORMAT is a string with `%' escapes expanded in a
+fashion similar in spirit to printf(3).  The manual page explains
+the meanings of the escape sequences in the format string.
+
+If TIMEFORMAT is not set, bash acts as if the following assignment had
+been performed:
+
+       TIMEFORMAT=$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'
+
+The POSIX.2 default time format (used by `time -p command') is
+
+       TIMEFORMAT=$'real %2R\nuser %2U\nsys %2S'
+
+The BSD /usr/bin/time format can be emulated with:
+
+       TIMEFORMAT=$'\t%1R real\t%1U user\t%1S sys'
+
+The System V /usr/bin/time format can be emulated with:
+
+       TIMEFORMAT=$'\nreal\t%1R\nuser\t%1U\nsys\t%1S'
+
+The ksh format can be emulated with:
+
+       TIMEFORMAT=$'\nreal\t%2lR\nuser\t%2lU\nsys\t%2lS'
+
+G5) How do I get the current directory into my prompt?
+
+Bash provides a number of backslash-escape sequences which are expanded
+when the prompt string (PS1 or PS2) is displayed.  The full list is in
+the manual page.
+
+The \w expansion gives the full pathname of the current directory, with
+a tilde (`~') substituted for the current value of $HOME.  The \W
+expansion gives the basename of the current directory.  To put the full
+pathname of the current directory into the path without any tilde
+subsitution, use $PWD.  Here are some examples:
+
+       PS1='\w$ '      # current directory with tilde
+       PS1='\W$ '      # basename of current directory
+       PS1='$PWD$ '    # full pathname of current directory
+
+The single quotes are important in the final example to prevent $PWD from
+being expanded when the assignment to PS1 is performed.
+
+G6) How can I rename "*.foo" to "*.bar"?
+
+Use the pattern removal functionality described in D3.  The following `for'
+loop will do the trick:
+
+       for f in *.foo; do
+               mv $f ${f%foo}bar
+       done
+
+G7) How can I translate a filename from uppercase to lowercase?
+
+The script examples/functions/lowercase, originally written by John DuBois,
+will do the trick.  The converse is left as an exercise.
+
+G8) How can I write a filename expansion (globbing) pattern that will match
+    all files in the current directory except "." and ".."?
+
+You must have set the `extglob' shell option using `shopt -s extglob' to use
+this:
+
+       echo .!(.|) *
+
+A solution that works without extended globbing is given in the Unix Shell
+FAQ, posted periodically to comp.unix.shell.  It's a variant of
+
+       echo .[!.]* ..?* *
+
+(The ..?* catches files with names of three or more characters beginning
+with `..')
+
+Section H:  Where do I go from here?
+
+H1) How do I report bugs in bash, and where should I look for fixes and
+    advice?
+
+Use the `bashbug' script to report bugs.  It is built and
+installed at the same time as bash.  It provides a standard
+template for reporting a problem and automatically includes
+information about your configuration and build environment. 
+
+`bashbug' sends its reports to bug-bash@gnu.org, which
+is a large mailing list gatewayed to the usenet newsgroup gnu.bash.bug. 
+
+Bug fixes, answers to questions, and announcements of new releases
+are all posted to gnu.bash.bug.  Discussions concerning bash features
+and problems also take place there.
+
+To reach the bash maintainers directly, send mail to
+bash-maintainers@gnu.org.
+
+H2) What kind of bash documentation is there?
+
+First, look in the doc directory in the bash distribution.  It should
+contain at least the following files:
+
+bash.1         an extensive, thorough Unix-style manual page
+builtins.1     a manual page covering just bash builtin commands
+bashref.texi   a reference manual in GNU tex`info format
+bashref.info   an info version of the reference manual
+FAQ            this file
+article.ms     text of an article written for The Linux Journal
+readline.3     a man page describing readline
+
+Postscript, HTML, and ASCII files created from the above source are
+available in the documentation distribution.
+
+There is additional documentation available for anonymous FTP from host
+ftp.cwru.edu in the `pub/bash' directory.
+
+Cameron Newham and Bill Rosenblatt have written a book on bash, published
+by O'Reilly and Associates.  The book is based on Bill Rosenblatt's Korn
+Shell book.  The title is ``Learning the Bash Shell'', and the ISBN number
+of the third edition, published in March, 2005, is 0-596-00965-8.  Look for
+it in fine bookstores near you.  This edition of the book has been updated
+to cover bash-3.0.
+
+The GNU Bash Reference Manual has been published as a printed book by
+Network Theory Ltd (Paperback, ISBN: 0-9541617-7-7, Nov. 2006).  It covers
+bash-3.2 and is available from most online bookstores (see
+http://www.network-theory.co.uk/bash/manual/ for details).  The publisher
+will donate $1 to the Free Software Foundation for each copy sold. 
+
+Arnold Robbins and Nelson Beebe have written ``Classic Shell Scripting'',
+published by O'Reilly.  The first edition, with ISBN number 0-596-00595-4,
+was published in May, 2005.
+
+Chris F. A. Johnson, a frequent contributor to comp.unix.shell and
+gnu.bash.bug, has written ``Shell Scripting Recipes: A Problem-Solution
+Approach,'' a new book on shell scripting, concentrating on features of
+the POSIX standard helpful to shell script writers.  The first edition from
+Apress, with ISBN number 1-59059-471-1, was published in May, 2005.
+
+H3) What's coming in future versions?
+
+These are features I hope to include in a future version of bash.
+
+Rocky Bernstein's bash debugger (support is included with bash-4.0)
+
+H4) What's on the bash `wish list' for future versions?
+
+These are features that may or may not appear in a future version of bash.
+
+breaking some of the shell functionality into embeddable libraries
+a module system like zsh's, using dynamic loading like builtins
+a bash programmer's guide with a chapter on creating loadable builtins
+a better loadable interface to perl with access to the shell builtins and
+       variables (contributions gratefully accepted)
+ksh93-like `nameref' variables
+ksh93-like `xx.yy' variables (including some of the .sh.* variables) and
+       associated disipline functions
+Some of the new ksh93 pattern matching operators, like backreferencing
+
+H5) When will the next release appear?
+
+The next version will appear sometime in 2010.  Never make predictions. 
+
+This document is Copyright 1995-2010 by Chester Ramey.
+
+Permission is hereby granted, without written agreement and
+without license or royalty fees, to use, copy, and distribute
+this document for any purpose, provided that the above copyright
+notice appears in all copies of this document and that the
+contents of this document remain unaltered.
index cc83e8a832499b866276a57b795c74332bb952d0..36ef16b368aeaa21e0f5c667498f3e4717d7b759 100644 (file)
@@ -183,14 +183,14 @@ I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
        startup files are read.
 
        B\bBa\bas\bsh\bh attempts to determine when it is being run with its standard input
-       connected to a a network connection, as if by the remote shell  daemon,
-       usually  _\br_\bs_\bh_\bd,  or the secure shell daemon _\bs_\bs_\bh_\bd.  If b\bba\bas\bsh\bh determines it
-       is being run in this fashion,  it  reads  and  executes  commands  from
-       _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file exists and is readable.  It will not do this if
-       invoked as s\bsh\bh.  The -\b--\b-n\bno\bor\brc\bc option may be used to inhibit this behavior,
-       and  the  -\b--\b-r\brc\bcf\bfi\bil\ble\be option may be used to force another file to be read,
-       but _\br_\bs_\bh_\bd does not generally invoke the  shell  with  those  options  or
-       allow them to be specified.
+       connected to a network connection, as when executed by the remote shell
+       daemon,  usually _\br_\bs_\bh_\bd, or the secure shell daemon _\bs_\bs_\bh_\bd.  If b\bba\bas\bsh\bh deter-
+       mines it is being run in this fashion, it reads and  executes  commands
+       from  _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc,  if  that file exists and is readable.  It will not do
+       this if invoked as s\bsh\bh.  The -\b--\b-n\bno\bor\brc\bc option may be used to  inhibit  this
+       behavior,  and the -\b--\b-r\brc\bcf\bfi\bil\ble\be option may be used to force another file to
+       be read, but _\br_\bs_\bh_\bd does  not  generally  invoke  the  shell  with  those
+       options or allow them to be specified.
 
        If the shell is started with the effective user (group) id not equal to
        the real user (group) id, and the -\b-p\bp option is not supplied, no startup
@@ -497,7 +497,7 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
        before any redirections  specified  by  the  command  (see  R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
        below).   The  file  descriptors  can be utilized as arguments to shell
        commands and redirections using standard word expansions.  The  process
-       id  of  the  shell spawned to execute the coprocess is available as the
+       ID  of  the  shell spawned to execute the coprocess is available as the
        value of the variable _\bN_\bA_\bM_\bE_PID.  The w\bwa\bai\bit\bt builtin command may  be  used
        to wait for the coprocess to terminate.
 
@@ -637,7 +637,7 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        In  the context where an assignment statement is assigning a value to a
        shell variable or array index, the += operator can be used to append to
        or add to the variable's previous value.  When += is applied to a vari-
-       able for which the integer attribute has been set, _\bv_\ba_\bl_\bu_\be  is  evaluated
+       able for which the _\bi_\bn_\bt_\be_\bg_\be_\br attribute has been set, _\bv_\ba_\bl_\bu_\be  is  evaluated
        as  an arithmetic expression and added to the variable's current value,
        which is also evaluated.  When += is applied to an array variable using
        compound  assignment  (see  A\bAr\brr\bra\bay\bys\bs  below), the variable's value is not
@@ -719,7 +719,7 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               shell  option  in  the  list  will be enabled before reading any
               startup files.  This variable is read-only.
        B\bBA\bAS\bSH\bHP\bPI\bID\bD
-              Expands to the process id of the  current  b\bba\bas\bsh\bh  process.   This
+              Expands to the process ID of the  current  b\bba\bas\bsh\bh  process.   This
               differs  from  $\b$$\b$ under certain circumstances, such as subshells
               that do not require b\bba\bas\bsh\bh to be re-initialized.
        B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS
@@ -1010,7 +1010,7 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
        E\bEM\bMA\bAC\bCS\bS  If  b\bba\bas\bsh\bh  finds  this variable in the environment when the shell
               starts with value "t", it assumes that the shell is  running  in
-              an emacs shell buffer and disables line editing.
+              an Emacs shell buffer and disables line editing.
        E\bEN\bNV\bV    Similar  to  B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV;  used  when the shell is invoked in POSIX
               mode.
        F\bFC\bCE\bED\bDI\bIT\bT The default editor for the f\bfc\bc builtin command.
@@ -1128,73 +1128,74 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        L\bLI\bIN\bNE\bES\bS  Used  by  the  s\bse\bel\ble\bec\bct\bt  builtin  command  to determine the column
               length for printing selection  lists.   Automatically  set  upon
               receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
-       M\bMA\bAI\bIL\bL   If  this  parameter is set to a file name and the M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH vari-
-              able is not set, b\bba\bas\bsh\bh informs the user of the arrival of mail in
-              the specified file.
+       M\bMA\bAI\bIL\bL   If  this  parameter  is  set to a file or directory name and the
+              M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH variable is not set,  b\bba\bas\bsh\bh  informs  the  user  of  the
+              arrival  of  mail in the specified file or Maildir-format direc-
+              tory.
        M\bMA\bAI\bIL\bLC\bCH\bHE\bEC\bCK\bK
-              Specifies  how  often  (in  seconds)  b\bba\bas\bsh\bh checks for mail.  The
-              default is 60 seconds.  When it is time to check for  mail,  the
-              shell  does  so  before  displaying the primary prompt.  If this
-              variable is unset, or set to  a  value  that  is  not  a  number
+              Specifies how often (in seconds)  b\bba\bas\bsh\bh  checks  for  mail.   The
+              default  is  60 seconds.  When it is time to check for mail, the
+              shell does so before displaying the  primary  prompt.   If  this
+              variable  is  unset,  or  set  to  a  value that is not a number
               greater than or equal to zero, the shell disables mail checking.
        M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
-              A colon-separated list of file names to  be  checked  for  mail.
+              A  colon-separated  list  of  file names to be checked for mail.
               The message to be printed when mail arrives in a particular file
-              may be specified by separating the file name  from  the  message
+              may  be  specified  by separating the file name from the message
               with a `?'.  When used in the text of the message, $\b$_\b_ expands to
               the name of the current mailfile.  Example:
               M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH='/var/mail/bfox?"You  have  mail":~/shell-mail?"$_  has
               mail!"'
-              B\bBa\bas\bsh\b supplies  a default value for this variable, but the loca-
-              tion of the user mail files that it  uses  is  system  dependent
+              B\bBa\bas\bsh\bsupplies a default value for this variable, but  the  loca-
+              tion  of  the  user  mail files that it uses is system dependent
               (e.g., /var/mail/$\b$U\bUS\bSE\bER\bR).
        O\bOP\bPT\bTE\bER\bRR\bR If set to the value 1, b\bba\bas\bsh\bh displays error messages generated by
-              the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\b below).
-              O\bOP\bPT\bTE\bER\bRR\b is  initialized to 1 each time the shell is invoked or a
+              the  g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
+              O\bOP\bPT\bTE\bER\bRR\bis initialized to 1 each time the shell is invoked  or  a
               shell script is executed.
-       P\bPA\bAT\bTH\bH   The search path for commands.  It is a colon-separated  list  of
-              directories  in  which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bbelow).  A zero-length (null) directory  name  in  the
+       P\bPA\bAT\bTH\bH   The  search  path for commands.  It is a colon-separated list of
+              directories in which the shell looks for commands  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD
+              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b below).   A  zero-length (null) directory name in the
               value of P\bPA\bAT\bTH\bH indicates the current directory.  A null directory
-              name may appear as two adjacent colons,  or  as  an  initial  or
-              trailing  colon.   The  default path is system-dependent, and is
-              set by the administrator who installs b\bba\bas\bsh\bh.  A common  value  is
+              name  may  appear  as  two  adjacent colons, or as an initial or
+              trailing colon.  The default path is  system-dependent,  and  is
+              set  by  the administrator who installs b\bba\bas\bsh\bh.  A common value is
               ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin''.
        P\bPO\bOS\bSI\bIX\bXL\bLY\bY_\b_C\bCO\bOR\bRR\bRE\bEC\bCT\bT
-              If  this  variable  is  in the environment when b\bba\bas\bsh\bh starts, the
-              shell enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as  if
-              the  -\b--\b-p\bpo\bos\bsi\bix\bx  invocation option had been supplied.  If it is set
-              while the shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as  if  the
+              If this variable is in the environment  when  b\bba\bas\bsh\bh  starts,  the
+              shell  enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as if
+              the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied.  If it  is  set
+              while  the  shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as if the
               command _\bs_\be_\bt _\b-_\bo _\bp_\bo_\bs_\bi_\bx had been executed.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
               If set, the value is executed as a command prior to issuing each
               primary prompt.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM
-              If set to a number greater than zero, the value is used  as  the
+              If  set  to a number greater than zero, the value is used as the
               number of trailing directory components to retain when expanding
-              the \\b\w\bw and \\b\W\bW  prompt  string  escapes  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below).
+              the  \\b\w\bw  and  \\b\W\bW  prompt  string  escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
               Characters removed are replaced with an ellipsis.
-       P\bPS\bS1\b1    The  value  of  this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
-              and used as the primary prompt string.   The  default  value  is
+       P\bPS\bS1\b1    The value of this parameter is expanded  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below)
+              and  used  as  the  primary prompt string.  The default value is
               ``\\b\s\bs-\b-\\b\v\bv\\b\$\b$ ''.
-       P\bPS\bS2\b2    The  value of this parameter is expanded as with P\bPS\bS1\b1 and used as
+       P\bPS\bS2\b2    The value of this parameter is expanded as with P\bPS\bS1\b1 and used  as
               the secondary prompt string.  The default is ``>\b> ''.
        P\bPS\bS3\b3    The value of this parameter is used as the prompt for the s\bse\bel\ble\bec\bct\bt
               command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
-       P\bPS\bS4\b4    The  value  of  this  parameter  is expanded as with P\bPS\bS1\b1 and the
-              value is printed before each command  b\bba\bas\bsh\bh  displays  during  an
-              execution  trace.  The first character of P\bPS\bS4\b4 is replicated mul-
-              tiple times, as necessary, to indicate multiple levels of  indi-
+       P\bPS\bS4\b4    The value of this parameter is expanded  as  with  P\bPS\bS1\b1  and  the
+              value  is  printed  before  each command b\bba\bas\bsh\bh displays during an
+              execution trace.  The first character of P\bPS\bS4\b4 is replicated  mul-
+              tiple  times, as necessary, to indicate multiple levels of indi-
               rection.  The default is ``+\b+ ''.
        S\bSH\bHE\bEL\bLL\bL  The full pathname to the shell is kept in this environment vari-
-              able.  If it is not set when the shell starts, b\bba\bas\bsh\bh  assigns  to
+              able.   If  it is not set when the shell starts, b\bba\bas\bsh\bh assigns to
               it the full pathname of the current user's login shell.
        T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
-              The  value of this parameter is used as a format string specify-
-              ing how the timing information for pipelines prefixed  with  the
-              t\bti\bim\bme\b reserved word should be displayed.  The %\b% character intro-
-              duces an escape sequence that is expanded to  a  time  value  or
-              other  information.  The escape sequences and their meanings are
+              The value of this parameter is used as a format string  specify-
+              ing  how  the timing information for pipelines prefixed with the
+              t\bti\bim\bme\breserved word should be displayed.  The %\b% character  intro-
+              duces  an  escape  sequence  that is expanded to a time value or
+              other information.  The escape sequences and their meanings  are
               as follows; the braces denote optional portions.
               %\b%%\b%        A literal %\b%.
               %\b%[\b[_\bp]\b][\b[l\bl]\b]R\bR  The elapsed time in seconds.
@@ -1202,191 +1203,191 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               %\b%[\b[_\bp]\b][\b[l\bl]\b]S\bS  The number of CPU seconds spent in system mode.
               %\b%P\bP        The CPU percentage, computed as (%U + %S) / %R.
 
-              The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn,  the  number
+              The  optional  _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
               of fractional digits after a decimal point.  A value of 0 causes
               no decimal point or fraction to be output.  At most three places
-              after  the  decimal  point may be specified; values of _\bp greater
-              than 3 are changed to 3.  If _\bp is not specified, the value 3  is
+              after the decimal point may be specified; values  of  _\b greater
+              than  3 are changed to 3.  If _\bp is not specified, the value 3 is
               used.
 
-              The  optional l\bl specifies a longer format, including minutes, of
-              the form _\bM_\bMm_\bS_\bS._\bF_\bFs.  The value of _\bp determines  whether  or  not
+              The optional l\bl specifies a longer format, including minutes,  of
+              the  form  _\bM_\bMm_\bS_\bS._\bF_\bFs.   The value of _\bp determines whether or not
               the fraction is included.
 
-              If  this  variable  is not set, b\bba\bas\bsh\bh acts as if it had the value
-              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs%\b%3\b3l\blS\bS'\b'.  If the value is null,  no
-              timing  information  is  displayed.  A trailing newline is added
+              If this variable is not set, b\bba\bas\bsh\bh acts as if it  had  the  value
+              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs%\b%3\b3l\blS\bS'\b'.   If the value is null, no
+              timing information is displayed.  A trailing  newline  is  added
               when the format string is displayed.
 
-       T\bTM\bMO\bOU\bUT\bT  If set to a value greater than zero, T\bTM\bMO\bOU\bUT\bT  is  treated  as  the
+       T\bTM\bMO\bOU\bUT\bT  If  set  to  a  value greater than zero, T\bTM\bMO\bOU\bUT\bT is treated as the
               default timeout for the r\bre\bea\bad\bd builtin.  The s\bse\bel\ble\bec\bct\bt command termi-
               nates if input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is
-              coming  from  a terminal.  In an interactive shell, the value is
-              interpreted as the number of seconds to  wait  for  input  after
-              issuing  the  primary prompt.  B\bBa\bas\bsh\bh terminates after waiting for
+              coming from a terminal.  In an interactive shell, the  value  is
+              interpreted  as  the  number  of seconds to wait for input after
+              issuing the primary prompt.  B\bBa\bas\bsh\bh terminates after  waiting  for
               that number of seconds if input does not arrive.
 
-       T\bTM\bMP\bPD\bDI\bIR\bR If set, B\bBa\bas\bsh\bh uses its value as the name of a directory in  which
-              B\bBa\bas\bsh\bh creates temporary files for the shell's use.
+       T\bTM\bMP\bPD\bDI\bIR\bR If  set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
+              b\bba\bas\bsh\bh creates temporary files for the shell's use.
 
        a\bau\but\bto\bo_\b_r\bre\bes\bsu\bum\bme\be
               This variable controls how the shell interacts with the user and
-              job control.  If this variable is set, single word  simple  com-
+              job  control.   If this variable is set, single word simple com-
               mands without redirections are treated as candidates for resump-
               tion of an existing stopped job.  There is no ambiguity allowed;
-              if  there  is more than one job beginning with the string typed,
-              the job most recently accessed  is  selected.   The  _\bn_\ba_\bm_\be  of  a
-              stopped  job, in this context, is the command line used to start
-              it.  If set to the value _\be_\bx_\ba_\bc_\bt, the string supplied  must  match
-              the  name  of  a  stopped  job exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the
-              string supplied needs to match a substring  of  the  name  of  a
-              stopped  job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality analo-
-              gous to the %\b%?\b?  job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below).  If  set
-              to  any  other  value, the supplied string must be a prefix of a
+              if there is more than one job beginning with the  string  typed,
+              the  job  most  recently  accessed  is  selected.  The _\bn_\ba_\bm_\be of a
+              stopped job, in this context, is the command line used to  start
+              it.   If  set to the value _\be_\bx_\ba_\bc_\bt, the string supplied must match
+              the name of a stopped job exactly;  if  set  to  _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg,  the
+              string  supplied  needs  to  match  a substring of the name of a
+              stopped job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality  analo-
+              gous  to the %\b%?\b?  job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below).  If set
+              to any other value, the supplied string must be a  prefix  of  a
               stopped job's name; this provides functionality analogous to the
               %\b%_\bs_\bt_\br_\bi_\bn_\bg job identifier.
 
        h\bhi\bis\bst\btc\bch\bha\bar\brs\bs
-              The  two or three characters which control history expansion and
+              The two or three characters which control history expansion  and
               tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below).  The first character
-              is  the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which signals
-              the start of a history  expansion,  normally  `!\b!'.   The  second
-              character  is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used as
-              shorthand for re-running the previous command  entered,  substi-
-              tuting  one  string  for another in the command.  The default is
-              `^\b^'.  The optional third character is the character which  indi-
-              cates  that the remainder of the line is a comment when found as
-              the first character of a word, normally `#\b#'.  The  history  com-
+              is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which  signals
+              the  start  of  a  history  expansion, normally `!\b!'.  The second
+              character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used  as
+              shorthand  for  re-running the previous command entered, substi-
+              tuting one string for another in the command.   The  default  is
+              `^\b^'.   The optional third character is the character which indi-
+              cates that the remainder of the line is a comment when found  as
+              the  first  character of a word, normally `#\b#'.  The history com-
               ment character causes history substitution to be skipped for the
-              remaining words on the line.  It does not necessarily cause  the
+              remaining  words on the line.  It does not necessarily cause the
               shell parser to treat the rest of the line as a comment.
 
    A\bAr\brr\bra\bay\bys\bs
-       B\bBa\bas\bsh\b provides one-dimensional indexed and associative array variables.
-       Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin  will
-       explicitly  declare an array.  There is no maximum limit on the size of
-       an array, nor any requirement that members be indexed or assigned  con-
-       tiguously.   Indexed  arrays  are  referenced using integers (including
-       arithmetic expressions)  and are  zero-based;  associative  arrays  are
+       B\bBa\bas\bsh\bprovides one-dimensional indexed and associative array  variables.
+       Any  variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
+       explicitly declare an array.  There is no maximum limit on the size  of
+       an  array, nor any requirement that members be indexed or assigned con-
+       tiguously.  Indexed arrays are  referenced  using  integers  (including
+       arithmetic  expressions)   and  are  zero-based; associative arrays are
        referenced using arbitrary strings.
 
-       An  indexed  array is created automatically if any variable is assigned
+       An indexed array is created automatically if any variable  is  assigned
        to using the syntax _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be.  The _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is treated as
-       an  arithmetic expression that must evaluate to a number.  If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt
-       evaluates to a number less than zero, it is used as an offset from  one
-       greater  than  the array's maximum index (so a subcript of -1 refers to
-       the last element of the  array).   To  explicitly  declare  an  indexed
+       an arithmetic expression that must evaluate to a number.  If  _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt
+       evaluates  to a number less than zero, it is used as an offset from one
+       greater than the array's maximum index (so a subcript of -1  refers  to
+       the  last  element  of  the  array).   To explicitly declare an indexed
        array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  d\bde\bec\bcl\bla\bar\bre\be
        -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is also accepted; the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is ignored.
 
        Associative arrays are created using d\bde\bec\bcl\bla\bar\bre\be -\b-A\bA _\bn_\ba_\bm_\be.
 
        Attributes may be specified for an array variable using the d\bde\bec\bcl\bla\bar\bre\be and
-       r\bre\bea\bad\bdo\bon\bnl\bly\b builtins.  Each attribute applies to all members of an array.
+       r\bre\bea\bad\bdo\bon\bnl\bly\bbuiltins.  Each attribute applies to all members of an  array.
 
-       Arrays  are  assigned  to  using  compound  assignments  of  the   form
-       _\bn_\ba_\bm_\be=(\b(value_\b ...  value_\bn)\b),  where  each  _\bv_\ba_\bl_\bu_\be  is  of  the form [_\bs_\bu_\bb_\b-
-       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.  Indexed array assignments do not require  the  bracket
-       and  subscript.   When  assigning  to  indexed  arrays, if the optional
-       brackets and subscript are supplied, that index is assigned to;  other-
+       Arrays   are  assigned  to  using  compound  assignments  of  the  form
+       _\bn_\ba_\bm_\be=(\b(value_\b... value_\bn)\b),  where  each  _\bv_\ba_\bl_\bu_\be  is  of  the  form  [_\bs_\bu_\bb_\b-
+       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.   Indexed  array assignments do not require the bracket
+       and subscript.  When assigning  to  indexed  arrays,  if  the  optional
+       brackets  and subscript are supplied, that index is assigned to; other-
        wise the index of the element assigned is the last index assigned to by
        the statement plus one.  Indexing starts at zero.
 
        When assigning to an associative array, the subscript is required.
 
-       This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual  array
-       elements  may  be  assigned  to  using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax
+       This  syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual array
+       elements may be assigned  to  using  the  _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\b syntax
        introduced above.
 
-       Any element of an array may  be  referenced  using  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
+       Any  element  of  an  array may be referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
        The braces are required to avoid conflicts with pathname expansion.  If
-       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bis @\b@ or *\b*, the word expands to all members  of  _\bn_\ba_\bm_\be.   These
-       subscripts  differ only when the word appears within double quotes.  If
+       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\b is  @\b@  or *\b*, the word expands to all members of _\bn_\ba_\bm_\be.  These
+       subscripts differ only when the word appears within double quotes.   If
        the word is double-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the
-       value  of each array member separated by the first character of the I\bIF\bFS\bS
+       value of each array member separated by the first character of the  I\bIF\bFS\bS
        special variable, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a sep-
-       arate  word.   When  there  are no array members, ${_\bn_\ba_\bm_\be[@]} expands to
-       nothing.  If the double-quoted expansion  occurs  within  a  word,  the
-       expansion  of  the first parameter is joined with the beginning part of
-       the original word, and the expansion of the last  parameter  is  joined
-       with  the  last  part  of  the original word.  This is analogous to the
-       expansion of the special parameters *\b* and  @\b@  (see  S\bSp\bpe\bec\bci\bia\bal\b P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       above).   ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the  length  of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\b-
-       _\bs_\bc_\br_\bi_\bp_\bt]}.  If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of  ele-
-       ments  in the array.  Referencing an array variable without a subscript
+       arate word.  When there are no array  members,  ${_\bn_\ba_\bm_\be[@]}  expands  to
+       nothing.   If  the  double-quoted  expansion  occurs within a word, the
+       expansion of the first parameter is joined with the beginning  part  of
+       the  original  word,  and the expansion of the last parameter is joined
+       with the last part of the original word.   This  is  analogous  to  the
+       expansion  of  the  special  parameters *\b* and @\b@ (see S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
+       above).  ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the  length  of  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\b-
+       _\bs_\bc_\br_\bi_\bp_\bt]}.   If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of ele-
+       ments in the array.  Referencing an array variable without a  subscript
        is equivalent to referencing the array with a subscript of 0.
 
-       An array variable is considered set if a subscript has been assigned  a
+       An  array variable is considered set if a subscript has been assigned a
        value.  The null string is a valid value.
 
-       The  u\bun\bns\bse\bet\bt  builtin  is  used to destroy arrays.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
-       destroys the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt.  Care must be  taken  to
-       avoid  unwanted side effects caused by pathname expansion.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be,
-       where _\bn_\ba_\bm_\be is an array, or u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is  *\b*
+       The u\bun\bns\bse\bet\bt builtin is used to  destroy  arrays.   u\bun\bns\bse\bet\b _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
+       destroys  the  array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt.  Care must be taken to
+       avoid unwanted side effects caused by pathname expansion.  u\bun\bns\bse\bet\b _\bn_\ba_\bm_\be,
+       where  _\bn_\ba_\bm_\be is an array, or u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b*
        or @\b@, removes the entire array.
 
-       The  d\bde\bec\bcl\bla\bar\bre\be,  l\blo\boc\bca\bal\bl,  and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
-       specify an indexed array and a -\b-A\bA  option  to  specify  an  associative
-       array.   The r\bre\bea\bad\bd builtin accepts a -\b-a\ba option to assign a list of words
+       The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a  -\b-a\ba  option  to
+       specify  an  indexed  array  and  a -\b-A\bA option to specify an associative
+       array.  The r\bre\bea\bad\bd builtin accepts a -\b-a\ba option to assign a list of  words
        read from the standard input to an array.  The s\bse\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtins
-       display  array values in a way that allows them to be reused as assign-
+       display array values in a way that allows them to be reused as  assign-
        ments.
 
 E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Expansion is performed on the command line after it has been split into
-       words.   There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
-       _\bt_\bi_\bl_\bd_\b_\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be  _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bc_\bo_\bm_\bm_\ba_\bn_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
+       words.  There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
+       _\bt_\bi_\bl_\bd_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
        _\bt_\bi_\bo_\bn, _\ba_\br_\bi_\bt_\bh_\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, and _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.
 
-       The  order  of expansions is: brace expansion, tilde expansion, parame-
-       ter, variable and arithmetic expansion and command  substitution  (done
+       The order of expansions is: brace expansion, tilde  expansion,  parame-
+       ter,  variable  and arithmetic expansion and command substitution (done
        in a left-to-right fashion), word splitting, and pathname expansion.
 
        On systems that can support it, there is an additional expansion avail-
        able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn.
 
        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.  The only exceptions to this are the  expansions
+       the number of words of the expansion; other expansions expand a  single
+       word  to a single word.  The only exceptions to this are the expansions
        of "$\b$@\b@" and "$\b${\b{_\bn_\ba_\bm_\be[\b[@\b@]\b]}\b}" as explained above (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS).
 
    B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        _\bB_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism by which arbitrary strings may be gener-
-       ated.  This mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but  the  file-
+       ated.   This  mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the file-
        names generated need not exist.  Patterns to be brace expanded take the
        form of an optional _\bp_\br_\be_\ba_\bm_\bb_\bl_\be, followed by either a series of comma-sep-
-       arated  strings or a sequence expression between a pair of braces, fol-
-       lowed by an optional _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.  The  preamble  is  prefixed  to  each
+       arated strings or a sequence expression between a pair of braces,  fol-
+       lowed  by  an  optional  _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.   The preamble is prefixed to each
        string contained within the braces, and the postscript is then appended
        to each resulting string, expanding left to right.
 
-       Brace expansions may be nested.  The results of  each  expanded  string
-       are  not  sorted;  left  to  right  order  is  preserved.  For example,
+       Brace  expansions  may  be nested.  The results of each expanded string
+       are not sorted;  left  to  right  order  is  preserved.   For  example,
        a{\b{d,c,b}\b}e expands into `ade ace abe'.
 
-       A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\b are
-       either  integers or single characters, and _\bi_\bn_\bc_\br, an optional increment,
-       is an integer.  When integers are supplied, the expression  expands  to
-       each  number between _\bx and _\by, inclusive.  Supplied integers may be pre-
-       fixed with _\b0 to force each term to have the same width.  When either  _\bx
-       or  _\by  begins  with  a  zero, the shell attempts to force all generated
-       terms to contain the same number of digits, zero-padding  where  neces-
-       sary.   When  characters  are  supplied, the expression expands to each
+       A  sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
+       either integers or single characters, and _\bi_\bn_\bc_\br, an optional  increment,
+       is  an  integer.  When integers are supplied, the expression expands to
+       each number between _\bx and _\by, inclusive.  Supplied integers may be  pre-
+       fixed  with _\b0 to force each term to have the same width.  When either _\bx
+       or _\by begins with a zero, the shell  attempts  to  force  all  generated
+       terms  to  contain the same number of digits, zero-padding where neces-
+       sary.  When characters are supplied, the  expression  expands  to  each
        character lexicographically between _\bx and _\by, inclusive.  Note that both
-       _\b and  _\by must be of the same type.  When the increment is supplied, it
-       is used as the difference between each term.  The default increment  is
+       _\band _\by must be of the same type.  When the increment is  supplied,  it
+       is  used as the difference between each term.  The default increment is
        1 or -1 as appropriate.
 
        Brace expansion is performed before any other expansions, and any char-
-       acters special to other expansions are preserved in the result.  It  is
-       strictly  textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
+       acters  special to other expansions are preserved in the result.  It is
+       strictly textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation  to
        the context of the expansion or the text between the braces.
 
-       A correctly-formed brace expansion must contain  unquoted  opening  and
-       closing  braces,  and  at  least one unquoted comma or a valid sequence
-       expression.  Any incorrectly formed brace expansion is left  unchanged.
+       A  correctly-formed  brace  expansion must contain unquoted opening and
+       closing braces, and at least one unquoted comma  or  a  valid  sequence
+       expression.   Any incorrectly formed brace expansion is left unchanged.
        A {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
-       part of a brace expression.  To avoid conflicts with  parameter  expan-
+       part  of  a brace expression.  To avoid conflicts with parameter expan-
        sion, the string $\b${\b{ is not considered eligible for brace expansion.
 
        This construct is typically used as shorthand when the common prefix of
@@ -1396,36 +1397,36 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        or
               chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 
-       Brace expansion introduces a  slight  incompatibility  with  historical
-       versions  of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces specially
-       when they appear as part of a word, and preserves them in  the  output.
-       B\bBa\bas\bsh\b removes  braces  from  words as a consequence of brace expansion.
-       For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears  identically  in
-       the  output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion by
-       b\bba\bas\bsh\bh.  If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with  the
+       Brace  expansion  introduces  a  slight incompatibility with historical
+       versions of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces  specially
+       when  they  appear as part of a word, and preserves them in the output.
+       B\bBa\bas\bsh\bremoves braces from words as a  consequence  of  brace  expansion.
+       For  example,  a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
+       the output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion  by
+       b\bba\bas\bsh\bh.   If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with the
        +\b+B\bB option or disable brace expansion with the +\b+B\bB option to the s\bse\bet\bt com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       If a word begins with an unquoted tilde character  (`~\b~'),  all  of  the
-       characters  preceding  the  first unquoted slash (or all characters, if
-       there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none  of
-       the  characters  in  the tilde-prefix are quoted, the characters in the
-       tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\b _\bn_\ba_\bm_\be.
-       If  this  login name is the null string, the tilde is replaced with the
-       value of the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the  home  direc-
-       tory  of  the  user executing the shell is substituted instead.  Other-
-       wise, the tilde-prefix is replaced with the home  directory  associated
+       If  a  word  begins  with an unquoted tilde character (`~\b~'), all of the
+       characters preceding the first unquoted slash (or  all  characters,  if
+       there  is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none of
+       the characters in the tilde-prefix are quoted, the  characters  in  the
+       tilde-prefix  following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
+       If this login name is the null string, the tilde is replaced  with  the
+       value  of  the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the home direc-
+       tory of the user executing the shell is  substituted  instead.   Other-
+       wise,  the  tilde-prefix is replaced with the home directory associated
        with the specified login name.
 
-       If  the  tilde-prefix  is  a  `~+', the value of the shell variable P\bPW\bWD\bD
+       If the tilde-prefix is a `~+', the value  of  the  shell  variable  P\bPW\bWD\bD
        replaces the tilde-prefix.  If the tilde-prefix is a `~-', the value of
-       the  shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the char-
-       acters following the tilde in the tilde-prefix consist of a  number  _\bN,
-       optionally  prefixed  by  a  `+' or a `-', the tilde-prefix is replaced
+       the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the  char-
+       acters  following  the tilde in the tilde-prefix consist of a number _\bN,
+       optionally prefixed by a `+' or a `-',  the  tilde-prefix  is  replaced
        with the corresponding element from the directory stack, as it would be
        displayed by the d\bdi\bir\brs\bs builtin invoked with the tilde-prefix as an argu-
-       ment.  If the characters following the tilde in the  tilde-prefix  con-
+       ment.   If  the characters following the tilde in the tilde-prefix con-
        sist of a number without a leading `+' or `-', `+' is assumed.
 
        If the login name is invalid, or the tilde expansion fails, the word is
@@ -1433,176 +1434,176 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
        Each variable assignment is checked for unquoted tilde-prefixes immedi-
        ately following a :\b: or the first =\b=.  In these cases, tilde expansion is
-       also performed.  Consequently, one may use file names  with  tildes  in
-       assignments  to  P\bPA\bAT\bTH\bH,  M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the
+       also  performed.   Consequently,  one may use file names with tildes in
+       assignments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the  shell  assigns  the
        expanded value.
 
    P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        The `$\b$' character introduces parameter expansion, command substitution,
-       or  arithmetic  expansion.  The parameter name or symbol to be expanded
-       may be enclosed in braces, which are optional but serve to protect  the
-       variable  to be expanded from characters immediately following it which
+       or arithmetic expansion.  The parameter name or symbol to  be  expanded
+       may  be enclosed in braces, which are optional but serve to protect the
+       variable to be expanded from characters immediately following it  which
        could be interpreted as part of the name.
 
-       When braces are used, the matching ending brace is the  first  `}\b}'  not
-       escaped  by  a  backslash  or within a quoted string, and not within an
+       When  braces  are  used, the matching ending brace is the first `}\b}' not
+       escaped by a backslash or within a quoted string,  and  not  within  an
        embedded  arithmetic  expansion,  command  substitution,  or  parameter
        expansion.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              The  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are required
-              when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional  parameter  with  more  than  one
+              The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are  required
+              when  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  a  positional  parameter with more than one
               digit, or when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not
               to be interpreted as part of its name.
 
-       If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  an  exclamation  point  (!\b!),  a
-       level  of  variable  indirection is introduced.  B\bBa\bas\bsh\bh uses the value of
+       If  the  first  character  of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), a
+       level of variable indirection is introduced.  B\bBa\bas\bsh\bh uses  the  value  of
        the variable formed from the rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the name of the vari-
        able; this variable is then expanded and that value is used in the rest
-       of the substitution, rather than the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  itself.   This
-       is  known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.  The exceptions to this are the expan-
-       sions of ${!_\bp_\br_\be_\bf_\bi_\bx*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below.  The  exclamation
-       point  must  immediately  follow  the  left brace in order to introduce
-       indirection.
+       of  the  substitution, rather than the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br itself.  This
+       is known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.  The exceptions to this are the  expan-
+       sions  of ${!\b!\\b\f\bfP\bPf\bfI\bIp\bpr\bre\bef\bfi\bix\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below.  The excla-
+       mation point must immediately follow the left brace in order to  intro-
+       duce indirection.
 
        In each of the cases below, _\bw_\bo_\br_\bd is subject to tilde expansion, parame-
        ter expansion, command substitution, and arithmetic expansion.
 
-       When  not  performing  substring  expansion, using the forms documented
-       below, b\bba\bas\bsh\bh tests for a parameter that is unset or null.  Omitting  the
+       When not performing substring expansion,  using  the  forms  documented
+       below,  b\bba\bas\bsh\bh tests for a parameter that is unset or null.  Omitting the
        colon results in a test only for a parameter that is unset.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:-\b-_\bw_\bo_\br_\bd}
-              U\bUs\bse\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
-              sion of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              U\bUs\bse\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null,  the  expan-
+              sion  of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:=\b=_\bw_\bo_\br_\bd}
-              A\bAs\bss\bsi\big\bgn\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  unset or null, the
+              A\bAs\bss\bsi\big\bgn\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  unset  or  null,  the
               expansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The value of _\bp_\ba_\br_\ba_\bm_\b-
-              _\be_\bt_\be_\b is  then  substituted.   Positional parameters and special
+              _\be_\bt_\be_\bis then substituted.   Positional  parameters  and  special
               parameters may not be assigned to in this way.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
-              D\bDi\bis\bsp\bpl\bla\bay\bE\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or  unset,
-              the  expansion  of  _\bw_\bo_\br_\bd (or a message to that effect if _\bw_\bo_\br_\bd is
-              not present) is written to the standard error and the shell,  if
+              D\bDi\bis\bsp\bpl\bla\bay\b E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
+              the expansion of _\bw_\bo_\br_\bd (or a message to that effect  if  _\bw_\bo_\br_\b is
+              not  present) is written to the standard error and the shell, if
               it is not interactive, exits.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
-              U\bUs\bse\bA\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing  is
+              U\bUs\bse\b A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
               substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt:\b:_\bl_\be_\bn_\bg_\bt_\bh}
-              S\bSu\bub\bbs\bst\btr\bri\bin\bng\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.\b.   Expands  to  up  to _\bl_\be_\bn_\bg_\bt_\bh characters of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bstarting at the character  specified  by  _\bo_\bf_\bf_\bs_\be_\bt.   If
-              _\bl_\be_\bn_\bg_\bt_\b is omitted, expands to the substring of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br start-
+              S\bSu\bub\bbs\bst\btr\bri\bin\bng\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.  Expands to  up  to  _\bl_\be_\bn_\bg_\bt_\bh  characters  of
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b starting  at  the  character specified by _\bo_\bf_\bf_\bs_\be_\bt.  If
+              _\bl_\be_\bn_\bg_\bt_\bis omitted, expands to the substring of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b start-
               ing at the character specified by _\bo_\bf_\bf_\bs_\be_\bt.  _\bl_\be_\bn_\bg_\bt_\bh and _\bo_\bf_\bf_\bs_\be_\bt are
-              arithmetic  expressions  (see  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN below).  If
-              _\bo_\bf_\bf_\bs_\be_\bevaluates to a number less than zero, the value  is  used
-              as  an offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bl_\be_\bn_\bg_\bt_\bh
+              arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC  E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  below).   If
+              _\bo_\bf_\bf_\bs_\be_\b evaluates  to a number less than zero, the value is used
+              as an offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If  _\bl_\be_\bn_\bg_\bt_\bh
               evaluates to a number less than zero, and _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is not @\b@ and
-              not  an  indexed  or  associative array, it is interpreted as an
+              not an indexed or associative array, it  is  interpreted  as  an
               offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a num-
-              ber  of  characters, and the expansion is the characters between
-              the two offsets.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@, the result is _\bl_\be_\bn_\bg_\bt_\b posi-
-              tional  parameters  beginning  at  _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an
-              indexed array name subscripted by @ or  *,  the  result  is  the
+              ber of characters, and the expansion is the  characters  between
+              the  two offsets.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@, the result is _\bl_\be_\bn_\bg_\bt_\bh posi-
+              tional parameters beginning  at  _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  an
+              indexed  array  name  subscripted  by  @ or *, the result is the
               _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning with ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}.
               A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one greater than the max-
-              imum  index of the specified array.  Substring expansion applied
+              imum index of the specified array.  Substring expansion  applied
               to an associative array produces undefined results.  Note that a
               negative offset must be separated from the colon by at least one
-              space to avoid being confused with the :- expansion.   Substring
-              indexing  is  zero-based  unless  the  positional parameters are
-              used, in which case the indexing starts at  1  by  default.   If
-              _\bo_\bf_\bf_\bs_\be_\b is 0, and the positional parameters are used, $\b$0\b0 is pre-
+              space  to avoid being confused with the :- expansion.  Substring
+              indexing is zero-based  unless  the  positional  parameters  are
+              used,  in  which  case  the indexing starts at 1 by default.  If
+              _\bo_\bf_\bf_\bs_\be_\bis 0, and the positional parameters are used, $\b$0\b0 is  pre-
               fixed to the list.
 
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx@\b@}
-              N\bNa\bam\bme\bes\bm\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx.\b.  Expands to the names of variables  whose
+              N\bNa\bam\bme\bes\b m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx.  Expands to the names of variables whose
               names begin with _\bp_\br_\be_\bf_\bi_\bx, separated by the first character of the
-              I\bIF\bFS\bspecial variable.  When _\b@ is used and the expansion  appears
-              within  double  quotes, each variable name expands to a separate
+              I\bIF\bFS\b special variable.  When _\b@ is used and the expansion appears
+              within double quotes, each variable name expands to  a  separate
               word.
 
        ${!\b!_\bn_\ba_\bm_\be[_\b@]}
        ${!\b!_\bn_\ba_\bm_\be[_\b*]}
-              L\bLi\bis\bst\bo\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs.\b.  If _\bn_\ba_\bm_\be is an array  variable,  expands  to
-              the  list  of array indices (keys) assigned in _\bn_\ba_\bm_\be.  If _\bn_\ba_\bm_\be is
-              not an array, expands to 0 if _\bn_\ba_\bm_\be is set  and  null  otherwise.
-              When  _\b@  is used and the expansion appears within double quotes,
+              L\bLi\bis\bst\b o\bof\bf  a\bar\brr\bra\bay\by  k\bke\bey\bys\bs.  If _\bn_\ba_\bm_\be is an array variable, expands to
+              the list of array indices (keys) assigned in _\bn_\ba_\bm_\be.  If  _\bn_\ba_\bm_\b is
+              not  an  array,  expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
+              When _\b@ is used and the expansion appears within  double  quotes,
               each key expands to a separate word.
 
        ${#\b#_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              P\bPa\bar\bra\bam\bme\bet\bte\ber\bl\ble\ben\bng\bgt\bth\bh.\b.  The length in  characters  of  the  value  of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is  substituted.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value
-              substituted is the number of positional parameters.  If  _\bp_\ba_\br_\ba_\bm_\be_\b-
-              _\bt_\be_\b is  an  array name subscripted by *\b* or @\b@, the value substi-
+              P\bPa\bar\bra\bam\bme\bet\bte\ber\b l\ble\ben\bng\bgt\bth\bh.   The  length  in  characters of the value of
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis substituted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b*  or  @\b@,  the  value
+              substituted  is the number of positional parameters.  If _\bp_\ba_\br_\ba_\bm_\be_\b-
+              _\bt_\be_\bis an array name subscripted by *\b* or @\b@,  the  value  substi-
               tuted is the number of elements in the array.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b#_\bw_\bo_\br_\bd}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b##\b#_\bw_\bo_\br_\bd}
-              R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.\b.  The _\bw_\bo_\br_\bd is expanded to produce
+              R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.  The _\bw_\bo_\br_\bd is expanded to produce
               a pattern just as in pathname expansion.  If the pattern matches
-              the beginning of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of  the
-              expansion  is  the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
-              matching pattern (the ``#\b#'' case) or the longest  matching  pat-
-              tern  (the  ``#\b##\b#''  case)  deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the
-              pattern removal operation is applied to each positional  parame-
+              the  beginning of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the
+              expansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with  the  shortest
+              matching  pattern  (the ``#\b#'' case) or the longest matching pat-
+              tern (the ``#\b##\b#'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  @\b@  or  *\b*,  the
+              pattern  removal operation is applied to each positional parame-
               ter in turn, and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\b-
-              _\be_\bt_\be_\bis an array variable subscripted with @\b@ or *\b*,  the  pattern
-              removal  operation  is  applied  to  each member of the array in
+              _\be_\bt_\be_\b is  an array variable subscripted with @\b@ or *\b*, the pattern
+              removal operation is applied to each  member  of  the  array  in
               turn, and the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%_\bw_\bo_\br_\bd}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%%\b%_\bw_\bo_\br_\bd}
-              R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg s\bsu\buf\bff\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.\b.  The _\bw_\bo_\br_\bd is expanded to produce
+              R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg s\bsu\buf\bff\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.  The _\bw_\bo_\br_\bd is expanded to produce
               a pattern just as in pathname expansion.  If the pattern matches
-              a trailing portion of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then  the
-              result  of the expansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with
-              the shortest matching pattern (the ``%\b%'' case)  or  the  longest
-              matching  pattern  (the ``%\b%%\b%'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@
-              or *\b*, the pattern removal operation is  applied  to  each  posi-
-              tional  parameter  in  turn,  and the expansion is the resultant
-              list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with  @\b or
-              *\b*,  the  pattern  removal operation is applied to each member of
+              a  trailing portion of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the
+              result of the expansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b with
+              the  shortest  matching  pattern (the ``%\b%'' case) or the longest
+              matching pattern (the ``%\b%%\b%'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  @\b@
+              or  *\b*,  the  pattern  removal operation is applied to each posi-
+              tional parameter in turn, and the  expansion  is  the  resultant
+              list.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
+              *\b*, the pattern removal operation is applied to  each  member  of
               the array in turn, and the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
-              P\bPa\bat\btt\bte\ber\brn\bn s\bsu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn.\b.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pat-
-              tern  just  as in pathname expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and
-              the longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced  with
-              _\bs_\bt_\br_\bi_\bn_\bg.   If  _\bp_\ba_\bt_\bt_\be_\br_\bn  begins with /\b/, all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are
-              replaced  with  _\bs_\bt_\br_\bi_\bn_\bg.   Normally  only  the  first  match   is
+              P\bPa\bat\btt\bte\ber\brn\bn s\bsu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pat-
+              tern just as in pathname expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  expanded  and
+              the  longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced with
+              _\bs_\bt_\br_\bi_\bn_\bg.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with /\b/, all matches  of  _\bp_\ba_\bt_\bt_\be_\br_\b are
+              replaced   with  _\bs_\bt_\br_\bi_\bn_\bg.   Normally  only  the  first  match  is
               replaced.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with #\b#, it must match at the begin-
               ning of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with
-              %\b%,  it must match at the end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
+              %\b%, it must match at the end of the expanded value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
               If _\bs_\bt_\br_\bi_\bn_\bg is null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted and the /\b/ fol-
               lowing _\bp_\ba_\bt_\bt_\be_\br_\bn may be omitted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the sub-
-              stitution operation is applied to each positional  parameter  in
-              turn,  and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
-              an array variable subscripted with  @\b@  or  *\b*,  the  substitution
-              operation  is  applied  to each member of the array in turn, and
+              stitution  operation  is applied to each positional parameter in
+              turn, and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is
+              an  array  variable  subscripted  with  @\b@ or *\b*, the substitution
+              operation is applied to each member of the array  in  turn,  and
               the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
-              C\bCa\bas\bse\bm\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn.\b.  This expansion modifies the case  of  alpha-
-              betic  characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
-              duce a pattern just as in pathname expansion.   The  ^\b operator
-              converts  lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to uppercase; the ,\b,
-              operator converts matching uppercase letters to lowercase.   The
-              ^\b^^\b and  ,\b,,\b,  expansions  convert  each  matched character in the
-              expanded value; the ^\b^ and ,\b, expansions match  and  convert  only
-              the  first character in the expanded value.  If _\bp_\ba_\bt_\bt_\be_\br_\bn is omit-
-              ted, it is treated like a ?\b?, which matches every character.   If
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is @\b@ or *\b*, the case modification operation is applied
-              to each positional parameter in turn, and the expansion  is  the
-              resultant  list.   If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
-              with @\b@ or *\b*, the case modification operation is applied to  each
-              member  of the array in turn, and the expansion is the resultant
+              C\bCa\bas\bse\b m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn.   This expansion modifies the case of alpha-
+              betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to  pro-
+              duce  a  pattern  just as in pathname expansion.  The ^\b^ operator
+              converts lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to uppercase; the  ,\b,
+              operator  converts matching uppercase letters to lowercase.  The
+              ^\b^^\band ,\b,,\b, expansions  convert  each  matched  character  in  the
+              expanded  value;  the  ^\b^ and ,\b, expansions match and convert only
+              the first character in the expanded value.  If _\bp_\ba_\bt_\bt_\be_\br_\bn is  omit-
+              ted,  it is treated like a ?\b?, which matches every character.  If
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis @\b@ or *\b*, the case modification operation is  applied
+              to  each  positional parameter in turn, and the expansion is the
+              resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array  variable  subscripted
+              with  @\b@ or *\b*, the case modification operation is applied to each
+              member of the array in turn, and the expansion is the  resultant
               list.
 
    C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
@@ -1615,160 +1616,160 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               `\b`_\bc_\bo_\bm_\bm_\ba_\bn_\bd`\b`
 
        B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd and replacing the com-
-       mand substitution with the standard output of  the  command,  with  any
+       mand  substitution  with  the  standard output of the command, with any
        trailing newlines deleted.  Embedded newlines are not deleted, but they
-       may be removed during word splitting.  The command  substitution  $\b$(\b(c\bca\bat\bt
+       may  be  removed during word splitting.  The command substitution $\b$(\b(c\bca\bat\bt
        _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but faster $\b$(\b(<\b< _\bf_\bi_\bl_\be)\b).
 
-       When  the  old-style  backquote form of substitution is used, backslash
-       retains its literal meaning except when followed by $\b$, `\b`,  or  \\b\.   The
+       When the old-style backquote form of substitution  is  used,  backslash
+       retains  its  literal  meaning except when followed by $\b$, `\b`, or \\b\.  The
        first backquote not preceded by a backslash terminates the command sub-
-       stitution.  When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between  the
+       stitution.   When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
        parentheses make up the command; none are treated specially.
 
        Command substitutions may be nested.  To nest when using the backquoted
        form, escape the inner backquotes with backslashes.
 
-       If the substitution appears within double quotes,  word  splitting  and
+       If  the  substitution  appears within double quotes, word splitting and
        pathname expansion are not performed on the results.
 
    A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       Arithmetic  expansion allows the evaluation of an arithmetic expression
-       and the substitution of the result.  The format for  arithmetic  expan-
+       Arithmetic expansion allows the evaluation of an arithmetic  expression
+       and  the  substitution of the result.  The format for arithmetic expan-
        sion is:
 
               $\b$(\b((\b(_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn)\b))\b)
 
-       The  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn  is  treated  as if it were within double quotes, but a
-       double quote inside the parentheses  is  not  treated  specially.   All
+       The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is treated as if it were within  double  quotes,  but  a
+       double  quote  inside  the  parentheses  is not treated specially.  All
        tokens in the expression undergo parameter expansion, string expansion,
-       command substitution, and quote removal.  Arithmetic expansions may  be
+       command  substitution, and quote removal.  Arithmetic expansions may be
        nested.
 
-       The  evaluation  is performed according to the rules listed below under
+       The evaluation is performed according to the rules listed  below  under
        A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is invalid, b\bba\bas\bsh\bh prints a message
        indicating failure and no substitution occurs.
 
    P\bPr\bro\boc\bce\bes\bss\bs S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
-       _\bP_\br_\bo_\bc_\be_\bs_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn  is supported on systems that support named pipes
-       (_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.  It takes the  form
-       of  <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The process _\bl_\bi_\bs_\bt is run with its input or out-
+       _\bP_\br_\bo_\bc_\be_\bs_\b_\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn is supported on systems that support  named  pipes
+       (_\bF_\bI_\bF_\bO_\bs)  or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.  It takes the form
+       of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The process _\bl_\bi_\bs_\bt is run with its input or  out-
        put connected to a _\bF_\bI_\bF_\bO or some file in /\b/d\bde\bev\bv/\b/f\bfd\bd.  The name of this file
-       is  passed  as  an argument to the current command as the result of the
-       expansion.  If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will  pro-
-       vide  input  for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, the file passed as
+       is passed as an argument to the current command as the  result  of  the
+       expansion.   If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will pro-
+       vide input for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, the file  passed  as
        an argument should be read to obtain the output of _\bl_\bi_\bs_\bt.
 
-       When available, process substitution is performed  simultaneously  with
-       parameter  and variable expansion, command substitution, and arithmetic
+       When  available,  process substitution is performed simultaneously with
+       parameter and variable expansion, command substitution, and  arithmetic
        expansion.
 
    W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg
-       The shell scans the results of parameter expansion,  command  substitu-
-       tion,  and arithmetic expansion that did not occur within double quotes
+       The  shell  scans the results of parameter expansion, command substitu-
+       tion, and arithmetic expansion that did not occur within double  quotes
        for _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg.
 
-       The shell treats each character of I\bIF\bFS\bS as a delimiter, and  splits  the
+       The  shell  treats each character of I\bIF\bFS\bS as a delimiter, and splits the
        results of the other expansions into words on these characters.  If I\bIF\bFS\bS
-       is unset, or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>,  the  default,
-       then  sequences  of  <\b<s\bsp\bpa\bac\bce\be>\b>, <\b<t\bta\bab\bb>\b>, and <\b<n\bne\bew\bwl\bli\bin\bne\be>\b> at the beginning and
-       end of the results of the previous  expansions  are  ignored,  and  any
-       sequence  of  I\bIF\bFS\bS  characters  not  at  the  beginning or end serves to
-       delimit words.  If I\bIF\bFS\bS  has  a  value  other  than  the  default,  then
+       is  unset,  or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, the default,
+       then sequences of <\b<s\bsp\bpa\bac\bce\be>\b>, <\b<t\bta\bab\bb>\b>, and <\b<n\bne\bew\bwl\bli\bin\bne\be>\b> at  the  beginning  and
+       end  of  the  results  of  the previous expansions are ignored, and any
+       sequence of I\bIF\bFS\bS characters not  at  the  beginning  or  end  serves  to
+       delimit  words.   If  I\bIF\bFS\bS  has  a  value  other  than the default, then
        sequences of the whitespace characters s\bsp\bpa\bac\bce\be and t\bta\bab\bb are ignored at the
-       beginning and end of the word, as long as the whitespace  character  is
-       in  the  value  of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).  Any character in
-       I\bIF\bFS\bthat is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\b whitespace
-       characters,  delimits a field.  A sequence of I\bIF\bFS\bS whitespace characters
-       is also treated as a delimiter.  If the value of I\bIF\bFS\bS is null,  no  word
+       beginning  and  end of the word, as long as the whitespace character is
+       in the value of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).   Any  character  in
+       I\bIF\bFS\b that is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\bS whitespace
+       characters, delimits a field.  A sequence of I\bIF\bFS\bS whitespace  characters
+       is  also  treated as a delimiter.  If the value of I\bIF\bFS\bS is null, no word
        splitting occurs.
 
-       Explicit  null  arguments  ("\b""\b"  or '\b''\b') are retained.  Unquoted implicit
+       Explicit null arguments ("\b""\b" or '\b''\b')  are  retained.   Unquoted  implicit
        null arguments, resulting from the expansion of parameters that have no
-       values,  are  removed.  If a parameter with no value is expanded within
+       values, are removed.  If a parameter with no value is  expanded  within
        double quotes, a null argument results and is retained.
 
        Note that if no expansion occurs, no splitting is performed.
 
    P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       After word splitting, unless the -\b-f\bf option has  been  set,  b\bba\bas\bsh\b scans
-       each  word  for the characters *\b*, ?\b?, and [\b[.  If one of these characters
-       appears, then the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and replaced  with  an
-       alphabetically  sorted  list of file names matching the pattern.  If no
-       matching file names are found, and the shell  option  n\bnu\bul\bll\blg\bgl\blo\bob\bb  is  not
-       enabled,  the  word  is left unchanged.  If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set,
-       and no matches are found, the word is removed.  If the  f\bfa\bai\bil\blg\bgl\blo\bob\b shell
-       option  is  set,  and no matches are found, an error message is printed
-       and the command is not executed.  If the  shell  option  n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\b is
-       enabled,  the  match  is performed without regard to the case of alpha-
-       betic characters.  When a pattern is used for pathname  expansion,  the
-       character  `\b``\b`.\b.'\b''\b'   at  the  start  of a name or immediately following a
-       slash must be matched explicitly, unless the shell  option  d\bdo\bot\btg\bgl\blo\bob\b is
-       set.   When  matching  a  pathname,  the slash character must always be
-       matched explicitly.  In  other  cases,  the  `\b``\b`.\b.'\b''\b'   character  is  not
-       treated  specially.   See  the  description  of s\bsh\bho\bop\bpt\bt below under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for a description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb,  n\bnu\bul\bll\blg\bgl\blo\bob\bb,  f\bfa\bai\bil\bl-\b-
+       After  word  splitting,  unless  the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
+       each word for the characters *\b*, ?\b?, and [\b[.  If one of  these  characters
+       appears,  then  the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and replaced with an
+       alphabetically sorted list of file names matching the pattern.   If  no
+       matching  file  names  are  found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is not
+       enabled, the word is left unchanged.  If the n\bnu\bul\bll\blg\bgl\blo\bob\bb  option  is  set,
+       and  no  matches are found, the word is removed.  If the f\bfa\bai\bil\blg\bgl\blo\bob\bb shell
+       option is set, and no matches are found, an error  message  is  printed
+       and  the  command  is  not executed.  If the shell option n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb is
+       enabled, the match is performed without regard to the  case  of  alpha-
+       betic  characters.   When a pattern is used for pathname expansion, the
+       character `\b``\b`.\b.'\b''\b'  at the start of a  name  or  immediately  following  a
+       slash  must  be  matched explicitly, unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is
+       set.  When matching a pathname, the  slash  character  must  always  be
+       matched  explicitly.   In  other  cases,  the  `\b``\b`.\b.'\b''\b'   character is not
+       treated specially.  See the description  of  s\bsh\bho\bop\bpt\bt  below  under  S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  for a description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\blg\bgl\blo\bob\bb, f\bfa\bai\bil\bl-\b-
        g\bgl\blo\bob\bb, and d\bdo\bot\btg\bgl\blo\bob\bb shell options.
 
-       The  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  shell variable may be used to restrict the set of file
-       names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn.  If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is  set,  each  matching  file
-       name  that  also  matches  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
+       The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set  of  file
+       names  matching  a  _\bp_\ba_\bt_\bt_\be_\br_\bn.   If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
+       name that also matches one of the patterns  in  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  is  removed
        from the list of matches.  The file names `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are always
-       ignored  when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set and not null.  However, setting G\bGL\bLO\bOB\bBI\bIG\bG-\b-
-       N\bNO\bOR\bRE\bto a non-null value has the effect of enabling the  d\bdo\bot\btg\bgl\blo\bob\b shell
+       ignored when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set and not null.  However, setting  G\bGL\bLO\bOB\bBI\bIG\bG-\b-
+       N\bNO\bOR\bRE\b to  a non-null value has the effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell
        option, so all other file names beginning with a `\b``\b`.\b.'\b''\b'  will match.  To
-       get the old behavior of ignoring file names  beginning  with  a  `\b``\b`.\b.'\b''\b',
-       make  `\b``\b`.\b.*\b*'\b''\b'  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option is
+       get  the  old  behavior  of ignoring file names beginning with a `\b``\b`.\b.'\b''\b',
+       make `\b``\b`.\b.*\b*'\b''\b'  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option  is
        disabled when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is unset.
 
        P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
 
        Any character that appears in a pattern, other than the special pattern
-       characters  described below, matches itself.  The NUL character may not
-       occur in a pattern.  A backslash escapes the following  character;  the
-       escaping  backslash  is  discarded  when matching.  The special pattern
+       characters described below, matches itself.  The NUL character may  not
+       occur  in  a pattern.  A backslash escapes the following character; the
+       escaping backslash is discarded when  matching.   The  special  pattern
        characters must be quoted if they are to be matched literally.
 
        The special pattern characters have the following meanings:
 
-       *\b*      Matches any string, including the null string.  When  the  g\bgl\blo\bob\bb-\b-
+       *\b*      Matches  any  string, including the null string.  When the g\bgl\blo\bob\bb-\b-
               s\bst\bta\bar\br shell option is enabled, and *\b* is used in a pathname expan-
-              sion context, two adjacent *\b*s used  as  a  single  pattern  will
+              sion  context,  two  adjacent  *\b*s  used as a single pattern will
               match all files and zero or more directories and subdirectories.
-              If followed by a /\b/, two adjacent *\b*s will match only  directories
+              If  followed by a /\b/, two adjacent *\b*s will match only directories
               and subdirectories.
        ?\b?      Matches any single character.
-       [\b[.\b..\b..\b.]\b]  Matches  any  one of the enclosed characters.  A pair of charac-
+       [\b[.\b..\b..\b.]\b]  Matches any one of the enclosed characters.  A pair  of  charac-
               ters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn; any char-
-              acter  that sorts between those two characters, inclusive, using
-              the current locale's collating sequence and  character  set,  is
-              matched.   If the first character following the [\b[ is a !\b!  or a ^\b^
-              then any character not enclosed is matched.  The  sorting  order
-              of  characters in range expressions is determined by the current
-              locale and the value of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE shell variable,  if  set.
-              A  -\b- may be matched by including it as the first or last charac-
+              acter that sorts between those two characters, inclusive,  using
+              the  current  locale's  collating sequence and character set, is
+              matched.  If the first character following the [\b[ is a !\b!  or a  ^\b^
+              then  any  character not enclosed is matched.  The sorting order
+              of characters in range expressions is determined by the  current
+              locale  and  the value of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE shell variable, if set.
+              A -\b- may be matched by including it as the first or last  charac-
               ter in the set.  A ]\b] may be matched by including it as the first
               character in the set.
 
-              Within  [\b[  and  ]\b],  _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using the
-              syntax [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b], where _\bc_\bl_\ba_\bs_\bs is one of  the  following  classes
+              Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can  be  specified  using  the
+              syntax  [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b],  where  _\bc_\bl_\ba_\bs_\bs is one of the following classes
               defined in the POSIX standard:
-              a\bal\bln\bnu\bum\b a\bal\blp\bph\bha\ba  a\bas\bsc\bci\bii\bi  b\bbl\bla\ban\bnk\bk  c\bcn\bnt\btr\brl\bl  d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt p\bpu\bun\bnc\bct\bt
+              a\bal\bln\bnu\bum\ba\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl  d\bdi\big\bgi\bit\bt  g\bgr\bra\bap\bph\bh  l\blo\bow\bwe\ber\br  p\bpr\bri\bin\bnt\b p\bpu\bun\bnc\bct\bt
               s\bsp\bpa\bac\bce\be u\bup\bpp\bpe\ber\br w\bwo\bor\brd\bd x\bxd\bdi\big\bgi\bit\bt
               A character class matches any character belonging to that class.
-              The  w\bwo\bor\brd\bd character class matches letters, digits, and the char-
+              The w\bwo\bor\brd\bd character class matches letters, digits, and the  char-
               acter _.
 
-              Within [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified using  the
-              syntax  [\b[=\b=_\bc=\b=]\b], which matches all characters with the same colla-
-              tion weight (as defined by the current locale) as the  character
+              Within  [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified using the
+              syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with the same  colla-
+              tion  weight (as defined by the current locale) as the character
               _\bc.
 
               Within [\b[ and ]\b], the syntax [\b[.\b._\bs_\by_\bm_\bb_\bo_\bl.\b.]\b] matches the collating sym-
               bol _\bs_\by_\bm_\bb_\bo_\bl.
 
        If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, several
-       extended  pattern  matching operators are recognized.  In the following
+       extended pattern matching operators are recognized.  In  the  following
        description, a _\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt is a list of one or more patterns separated
        by a |\b|.  Composite patterns may be formed using one or more of the fol-
        lowing sub-patterns:
@@ -1786,55 +1787,55 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
    Q\bQu\buo\bot\bte\be R\bRe\bem\bmo\bov\bva\bal\bl
        After the preceding expansions, all unquoted occurrences of the charac-
-       ters  \\b\,  '\b', and "\b" that did not result from one of the above expansions
+       ters \\b\, '\b', and "\b" that did not result from one of the  above  expansions
        are removed.
 
 R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
-       Before a command is executed, its input and output  may  be  _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
-       using  a  special  notation  interpreted by the shell.  Redirection may
-       also be used to open and close files for the  current  shell  execution
+       Before  a  command  is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
+       using a special notation interpreted by  the  shell.   Redirection  may
+       also  be  used  to open and close files for the current shell execution
        environment.  The following redirection operators may precede or appear
        anywhere within a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or may follow a _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  Redirections
        are processed in the order they appear, from left to right.
 
-       Each  redirection  that may be preceded by a file descriptor number may
+       Each redirection that may be preceded by a file descriptor  number  may
        instead be preceded by a word of the form {_\bv_\ba_\br_\bn_\ba_\bm_\be}.  In this case, for
        each redirection operator except >&- and <&-, the shell will allocate a
-       file descriptor greater than 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.   If  >&-  or
-       <&-  is  preceded  by  {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of _\bv_\ba_\br_\bn_\ba_\bm_\be defines the file
+       file  descriptor  greater  than 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.  If >&- or
+       <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of  _\bv_\ba_\br_\bn_\ba_\bm_\be  defines  the  file
        descriptor to close.
 
-       In the following descriptions, if the file descriptor number  is  omit-
-       ted,  and the first character of the redirection operator is <\b<, the re-
-       direction refers to the standard input (file  descriptor  0).   If  the
-       first  character  of  the  redirection  operator  is >\b>, the redirection
+       In  the  following descriptions, if the file descriptor number is omit-
+       ted, and the first character of the redirection operator is <\b<, the  re-
+       direction  refers  to  the  standard input (file descriptor 0).  If the
+       first character of the  redirection  operator  is  >\b>,  the  redirection
        refers to the standard output (file descriptor 1).
 
-       The word following the redirection operator in the  following  descrip-
-       tions,  unless  otherwise noted, is subjected to brace expansion, tilde
+       The  word  following the redirection operator in the following descrip-
+       tions, unless otherwise noted, is subjected to brace  expansion,  tilde
        expansion, parameter expansion, command substitution, arithmetic expan-
-       sion,  quote  removal,  pathname  expansion, and word splitting.  If it
+       sion, quote removal, pathname expansion, and  word  splitting.   If  it
        expands to more than one word, b\bba\bas\bsh\bh reports an error.
 
-       Note that the order of redirections is significant.  For  example,  the
+       Note  that  the order of redirections is significant.  For example, the
        command
 
               ls >\b> dirlist 2>\b>&\b&1
 
-       directs  both  standard  output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
+       directs both standard output and standard error to  the  file  _\bd_\bi_\br_\bl_\bi_\bs_\bt,
        while the command
 
               ls 2>\b>&\b&1 >\b> dirlist
 
-       directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the  standard
-       error  was duplicated from the standard output before the standard out-
+       directs  only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
+       error was duplicated from the standard output before the standard  out-
        put was redirected to _\bd_\bi_\br_\bl_\bi_\bs_\bt.
 
        B\bBa\bas\bsh\bh handles several filenames specially when they are used in redirec-
        tions, as described in the following table:
 
               /\b/d\bde\bev\bv/\b/f\bfd\bd/\b/_\bf_\bd
-                     If  _\bf_\bd  is  a valid integer, file descriptor _\bf_\bd is dupli-
+                     If _\bf_\bd is a valid integer, file descriptor  _\bf_\bd  is  dupli-
                      cated.
               /\b/d\bde\bev\bv/\b/s\bst\btd\bdi\bin\bn
                      File descriptor 0 is duplicated.
@@ -1844,22 +1845,22 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                      File descriptor 2 is duplicated.
               /\b/d\bde\bev\bv/\b/t\btc\bcp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
+                     is an integer port number or service name, b\bba\bas\bsh\b attempts
                      to open a TCP connection to the corresponding socket.
               /\b/d\bde\bev\bv/\b/u\bud\bdp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
+                     is an integer port number or service name, b\bba\bas\bsh\b attempts
                      to open a UDP connection to the corresponding socket.
 
        A failure to open or create a file causes the redirection to fail.
 
-       Redirections using file descriptors greater than 9 should be used  with
-       care,  as they may conflict with file descriptors the shell uses inter-
+       Redirections  using file descriptors greater than 9 should be used with
+       care, as they may conflict with file descriptors the shell uses  inter-
        nally.
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg I\bIn\bnp\bpu\but\bt
        Redirection of input causes the file whose name results from the expan-
-       sion  of  _\bw_\bo_\br_\bd  to  be  opened for reading on file descriptor _\bn, or the
+       sion of _\bw_\bo_\br_\bd to be opened for reading on  file  descriptor  _\bn,  or  the
        standard input (file descriptor 0) if _\bn is not specified.
 
        The general format for redirecting input is:
@@ -1867,27 +1868,27 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]<\b<_\bw_\bo_\br_\bd
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg O\bOu\but\btp\bpu\but\bt
-       Redirection of output causes the  file  whose  name  results  from  the
+       Redirection  of  output  causes  the  file  whose name results from the
        expansion of _\bw_\bo_\br_\bd to be opened for writing on file descriptor _\bn, or the
        standard output (file descriptor 1) if _\bn is not specified.  If the file
-       does  not exist it is created; if it does exist it is truncated to zero
+       does not exist it is created; if it does exist it is truncated to  zero
        size.
 
        The general format for redirecting output is:
 
               [_\bn]>\b>_\bw_\bo_\br_\bd
 
-       If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to  the  s\bse\bet\bt
-       builtin  has  been enabled, the redirection will fail if the file whose
-       name results from the expansion of _\bw_\bo_\br_\bd exists and is a  regular  file.
+       If  the  redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
+       builtin has been enabled, the redirection will fail if the  file  whose
+       name  results  from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
        If the redirection operator is >\b>|\b|, or the redirection operator is >\b> and
        the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, the re-
        direction is attempted even if the file named by _\bw_\bo_\br_\bd exists.
 
    A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg R\bRe\bed\bdi\bir\bre\bec\bct\bte\bed\bd O\bOu\but\btp\bpu\but\bt
-       Redirection  of  output  in  this  fashion  causes  the file whose name
-       results from the expansion of _\bw_\bo_\br_\bd to be opened for appending  on  file
-       descriptor  _\bn,  or  the standard output (file descriptor 1) if _\bn is not
+       Redirection of output in  this  fashion  causes  the  file  whose  name
+       results  from  the expansion of _\bw_\bo_\br_\bd to be opened for appending on file
+       descriptor _\bn, or the standard output (file descriptor 1) if  _\bn  is  not
        specified.  If the file does not exist it is created.
 
        The general format for appending output is:
@@ -1896,11 +1897,11 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
-       This construct allows both the standard output (file descriptor 1)  and
-       the  standard  error output (file descriptor 2) to be redirected to the
+       This  construct allows both the standard output (file descriptor 1) and
+       the standard error output (file descriptor 2) to be redirected  to  the
        file whose name is the expansion of _\bw_\bo_\br_\bd.
 
-       There are two formats for  redirecting  standard  output  and  standard
+       There  are  two  formats  for  redirecting standard output and standard
        error:
 
               &\b&>\b>_\bw_\bo_\br_\bd
@@ -1914,8 +1915,8 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
 
    A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
-       This construct allows both the standard output (file descriptor 1)  and
-       the  standard  error  output  (file descriptor 2) to be appended to the
+       This  construct allows both the standard output (file descriptor 1) and
+       the standard error output (file descriptor 2) to  be  appended  to  the
        file whose name is the expansion of _\bw_\bo_\br_\bd.
 
        The format for appending standard output and standard error is:
@@ -1927,9 +1928,9 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               >\b>>\b>_\bw_\bo_\br_\bd 2>\b>&\b&1
 
    H\bHe\ber\bre\be D\bDo\boc\bcu\bum\bme\ben\bnt\bts\bs
-       This type of redirection instructs the shell to  read  input  from  the
+       This  type  of  redirection  instructs the shell to read input from the
        current source until a line containing only _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br (with no trailing
-       blanks) is seen.  All of the lines read up to that point are then  used
+       blanks)  is seen.  All of the lines read up to that point are then used
        as the standard input for a command.
 
        The format of here-documents is:
@@ -1938,18 +1939,18 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                       _\bh_\be_\br_\be_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
               _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br
 
-       No  parameter expansion, command substitution, arithmetic expansion, or
+       No parameter expansion, command substitution, arithmetic expansion,  or
        pathname expansion is performed on _\bw_\bo_\br_\bd.  If any characters in _\bw_\bo_\br_\bd are
-       quoted,  the  _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote removal on _\bw_\bo_\br_\bd, and the
-       lines in the here-document are not expanded.  If _\bw_\bo_\br_\bd is unquoted,  all
-       lines  of  the here-document are subjected to parameter expansion, com-
-       mand substitution, and arithmetic expansion.  In the latter  case,  the
-       character  sequence  \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored, and \\b\ must be used to quote
+       quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote removal on _\bw_\bo_\br_\bd,  and  the
+       lines  in the here-document are not expanded.  If _\bw_\bo_\br_\bd is unquoted, all
+       lines of the here-document are subjected to parameter  expansion,  com-
+       mand  substitution,  and arithmetic expansion.  In the latter case, the
+       character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored, and \\b\ must be used  to  quote
        the characters \\b\, $\b$, and `\b`.
 
        If the redirection operator is <\b<<\b<-\b-, then all leading tab characters are
-       stripped  from  input  lines  and  the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.  This
-       allows here-documents within shell scripts to be indented in a  natural
+       stripped from input lines and  the  line  containing  _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.   This
+       allows  here-documents within shell scripts to be indented in a natural
        fashion.
 
    H\bHe\ber\bre\be S\bSt\btr\bri\bin\bng\bgs\bs
@@ -1965,20 +1966,20 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]<\b<&\b&_\bw_\bo_\br_\bd
 
        is used to duplicate input file descriptors.  If _\bw_\bo_\br_\bd expands to one or
-       more  digits,  the file descriptor denoted by _\bn is made to be a copy of
-       that file descriptor.  If the digits in _\bw_\bo_\br_\bd  do  not  specify  a  file
-       descriptor  open for input, a redirection error occurs.  If _\bw_\bo_\br_\bd evalu-
-       ates to -\b-, file descriptor _\bn is closed.  If _\bn  is  not  specified,  the
+       more digits, the file descriptor denoted by _\bn is made to be a  copy  of
+       that  file  descriptor.   If  the  digits in _\bw_\bo_\br_\bd do not specify a file
+       descriptor open for input, a redirection error occurs.  If _\bw_\bo_\br_\b evalu-
+       ates  to  -\b-,  file  descriptor _\bn is closed.  If _\bn is not specified, the
        standard input (file descriptor 0) is used.
 
        The operator
 
               [_\bn]>\b>&\b&_\bw_\bo_\br_\bd
 
-       is  used  similarly  to duplicate output file descriptors.  If _\bn is not
-       specified, the standard output (file descriptor 1)  is  used.   If  the
-       digits  in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a re-
-       direction error occurs.  As a special case, if _\bn is omitted,  and  _\bw_\bo_\br_\bd
+       is used similarly to duplicate output file descriptors.  If  _\bn  is  not
+       specified,  the  standard  output  (file descriptor 1) is used.  If the
+       digits in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a  re-
+       direction  error  occurs.  As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd
        does not expand to one or more digits, the standard output and standard
        error are redirected as described previously.
 
@@ -1987,7 +1988,7 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<&\b&_\bd_\bi_\bg_\bi_\bt-\b-
 
-       moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or  the  standard
+       moves  the  file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
        input (file descriptor 0) if _\bn is not specified.  _\bd_\bi_\bg_\bi_\bt is closed after
        being duplicated to _\bn.
 
@@ -1995,7 +1996,7 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]>\b>&\b&_\bd_\bi_\bg_\bi_\bt-\b-
 
-       moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or  the  standard
+       moves  the  file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
        output (file descriptor 1) if _\bn is not specified.
 
    O\bOp\bpe\ben\bni\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs f\bfo\bor\br R\bRe\bea\bad\bdi\bin\bng\bg a\ban\bnd\bd W\bWr\bri\bit\bti\bin\bng\bg
@@ -2003,117 +2004,117 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<>\b>_\bw_\bo_\br_\bd
 
-       causes  the  file  whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
-       both reading and writing on file descriptor _\bn, or on file descriptor  0
+       causes the file whose name is the expansion of _\bw_\bo_\br_\bd to  be  opened  for
+       both  reading and writing on file descriptor _\bn, or on file descriptor 0
        if _\bn is not specified.  If the file does not exist, it is created.
 
 A\bAL\bLI\bIA\bAS\bSE\bES\bS
-       _\bA_\bl_\bi_\ba_\bs_\be_\b allow a string to be substituted for a word when it is used as
-       the first word of a simple command.  The  shell  maintains  a  list  of
-       aliases  that  may  be set and unset with the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin
-       commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first  word  of  each
-       simple  command, if unquoted, is checked to see if it has an alias.  If
-       so, that word is replaced by the text of the alias.  The characters  /\b/,
-       $\b$,  `\b`,  and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or quoting characters
+       _\bA_\bl_\bi_\ba_\bs_\be_\ballow a string to be substituted for a word when it is used  as
+       the  first  word  of  a  simple command.  The shell maintains a list of
+       aliases that may be set and unset with the a\bal\bli\bia\bas\bs  and  u\bun\bna\bal\bli\bia\bas\b builtin
+       commands  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first word of each
+       simple command, if unquoted, is checked to see if it has an alias.   If
+       so,  that word is replaced by the text of the alias.  The characters /\b/,
+       $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or  quoting  characters
        listed above may not appear in an alias name.  The replacement text may
-       contain  any  valid  shell  input, including shell metacharacters.  The
-       first word of the replacement text is tested for aliases,  but  a  word
-       that  is  identical to an alias being expanded is not expanded a second
-       time.  This means that one may alias l\bls\bs to l\bls\bs  -\b-F\bF,  for  instance,  and
-       b\bba\bas\bsh\b does  not try to recursively expand the replacement text.  If the
-       last character of the alias value is a _\bb_\bl_\ba_\bn_\bk,  then  the  next  command
+       contain any valid shell input,  including  shell  metacharacters.   The
+       first  word  of  the replacement text is tested for aliases, but a word
+       that is identical to an alias being expanded is not expanded  a  second
+       time.   This  means  that  one may alias l\bls\bs to l\bls\bs -\b-F\bF, for instance, and
+       b\bba\bas\bsh\bdoes not try to recursively expand the replacement text.   If  the
+       last  character  of  the  alias value is a _\bb_\bl_\ba_\bn_\bk, then the next command
        word following the alias is also checked for alias expansion.
 
        Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
        the u\bun\bna\bal\bli\bia\bas\bs command.
 
-       There is no mechanism for using arguments in the replacement text.   If
-       arguments  are  needed,  a shell function should be used (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
+       There  is no mechanism for using arguments in the replacement text.  If
+       arguments are needed, a shell function should be  used  (see  F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
        below).
 
-       Aliases are not expanded when the shell is not interactive, unless  the
-       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\b shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
+       Aliases  are not expanded when the shell is not interactive, unless the
+       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bshell option is set using s\bsh\bho\bop\bpt\bt (see the description  of
        s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       The rules concerning the definition and use  of  aliases  are  somewhat
-       confusing.   B\bBa\bas\bsh\bh  always  reads  at  least  one complete line of input
-       before executing any  of  the  commands  on  that  line.   Aliases  are
-       expanded  when  a command is read, not when it is executed.  Therefore,
-       an alias definition appearing on the same line as another command  does
-       not  take  effect  until  the next line of input is read.  The commands
+       The  rules  concerning  the  definition and use of aliases are somewhat
+       confusing.  B\bBa\bas\bsh\bh always reads at  least  one  complete  line  of  input
+       before  executing  any  of  the  commands  on  that  line.  Aliases are
+       expanded when a command is read, not when it is  executed.   Therefore,
+       an  alias definition appearing on the same line as another command does
+       not take effect until the next line of input  is  read.   The  commands
        following the alias definition on that line are not affected by the new
-       alias.   This  behavior  is  also an issue when functions are executed.
-       Aliases are expanded when a function definition is read, not  when  the
-       function  is  executed,  because a function definition is itself a com-
+       alias.  This behavior is also an issue  when  functions  are  executed.
+       Aliases  are  expanded when a function definition is read, not when the
+       function is executed, because a function definition is  itself  a  com-
        pound command.  As a consequence, aliases defined in a function are not
-       available  until  after  that function is executed.  To be safe, always
-       put alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in  com-
+       available until after that function is executed.  To  be  safe,  always
+       put  alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in com-
        pound commands.
 
        For almost every purpose, aliases are superseded by shell functions.
 
 F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
-       A  shell  function,  defined  as  described  above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
-       stores a series of commands for later execution.  When the  name  of  a
-       shell  function  is used as a simple command name, the list of commands
+       A shell function, defined  as  described  above  under  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+       stores  a  series  of commands for later execution.  When the name of a
+       shell function is used as a simple command name, the list  of  commands
        associated with that function name is executed.  Functions are executed
-       in  the  context  of  the  current  shell; no new process is created to
-       interpret them (contrast this with the execution of  a  shell  script).
-       When  a  function is executed, the arguments to the function become the
+       in the context of the current shell;  no  new  process  is  created  to
+       interpret  them  (contrast  this with the execution of a shell script).
+       When a function is executed, the arguments to the function  become  the
        positional parameters during its execution.  The special parameter #\b# is
-       updated  to reflect the change.  Special parameter 0 is unchanged.  The
-       first element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the  func-
+       updated to reflect the change.  Special parameter 0\b0 is unchanged.   The
+       first  element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the func-
        tion while the function is executing.
 
-       All  other  aspects  of  the  shell execution environment are identical
+       All other aspects of the  shell  execution  environment  are  identical
        between a function and its caller with these exceptions:  the D\bDE\bEB\bBU\bUG\bG and
-       R\bRE\bET\bTU\bUR\bRN\b traps  (see  the  description  of  the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has  been
-       given  the  t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
-       below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with  the  s\bse\bet\bt
-       builtin  (in  which  case  all  functions  inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
-       traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\b shell
+       R\bRE\bET\bTU\bUR\bRN\btraps (see the description  of  the  t\btr\bra\bap\bp  builtin  under  S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
+       given the t\btr\bra\bac\bce\be attribute (see the description of the  d\bde\bec\bcl\bla\bar\bre\b builtin
+       below)  or  the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
+       builtin (in which case all  functions  inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN
+       traps),  and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
        option has been enabled.
 
-       Variables  local to the function may be declared with the l\blo\boc\bca\bal\bl builtin
+       Variables local to the function may be declared with the l\blo\boc\bca\bal\b builtin
        command.  Ordinarily, variables and their values are shared between the
        function and its caller.
 
-       The  F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT  variable,  if  set  to  a  numeric value greater than 0,
-       defines a maximum function nesting level.   Function  invocations  that
+       The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set  to  a  numeric  value  greater  than  0,
+       defines  a  maximum  function nesting level.  Function invocations that
        exceed the limit cause the entire command to abort.
 
-       If  the  builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
-       completes and execution resumes with the next command after  the  func-
-       tion  call.   Any  command  associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed
+       If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function,  the  function
+       completes  and  execution resumes with the next command after the func-
+       tion call.  Any command associated with the  R\bRE\bET\bTU\bUR\bRN\bN  trap  is  executed
        before execution resumes.  When a function completes, the values of the
-       positional  parameters  and the special parameter #\b# are restored to the
+       positional parameters and the special parameter #\b# are restored  to  the
        values they had prior to the function's execution.
 
-       Function names and definitions may be listed with the -\b-f\bf option to  the
+       Function  names and definitions may be listed with the -\b-f\bf option to the
        d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands.  The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\be-\b-
-       s\bse\bet\bwill list the function names only (and optionally the  source  file
-       and  line  number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled).  Functions
-       may be exported so that subshells automatically have them defined  with
-       the  -\b-f\bf  option  to  the  e\bex\bxp\bpo\bor\brt\bt builtin.  A function definition may be
-       deleted using the -\b-f\bf option to the  u\bun\bns\bse\bet\bt  builtin.   Note  that  shell
+       s\bse\bet\b will  list the function names only (and optionally the source file
+       and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is  enabled).   Functions
+       may  be exported so that subshells automatically have them defined with
+       the -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin.   A  function  definition  may  be
+       deleted  using  the  -\b-f\bf  option  to the u\bun\bns\bse\bet\bt builtin.  Note that shell
        functions and variables with the same name may result in multiple iden-
-       tically-named entries in the environment passed to  the  shell's  chil-
+       tically-named  entries  in  the environment passed to the shell's chil-
        dren.  Care should be taken in cases where this may cause a problem.
 
        Functions may be recursive.  The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable may be used to limit
-       the depth of the function call stack and restrict the number  of  func-
-       tion  invocations.   By  default,  no limit is imposed on the number of
+       the  depth  of the function call stack and restrict the number of func-
+       tion invocations.  By default, no limit is imposed  on  the  number  of
        recursive calls.
 
 A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
-       The shell allows arithmetic expressions to be evaluated, under  certain
-       circumstances  (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands and A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc
-       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).  Evaluation is done in fixed-width integers with  no  check
-       for  overflow, though division by 0 is trapped and flagged as an error.
-       The operators and their precedence, associativity, and values  are  the
-       same  as in the C language.  The following list of operators is grouped
-       into levels of equal-precedence operators.  The levels  are  listed  in
+       The  shell allows arithmetic expressions to be evaluated, under certain
+       circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands and  A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc
+       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).   Evaluation  is done in fixed-width integers with no check
+       for overflow, though division by 0 is trapped and flagged as an  error.
+       The  operators  and their precedence, associativity, and values are the
+       same as in the C language.  The following list of operators is  grouped
+       into  levels  of  equal-precedence operators.  The levels are listed in
        order of decreasing precedence.
 
        _\bi_\bd+\b++\b+ _\bi_\bd-\b--\b-
@@ -2141,46 +2142,46 @@ A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
        _\be_\bx_\bp_\br_\b1 ,\b, _\be_\bx_\bp_\br_\b2
               comma
 
-       Shell  variables  are  allowed as operands; parameter expansion is per-
+       Shell variables are allowed as operands; parameter  expansion  is  per-
        formed before the expression is evaluated.  Within an expression, shell
-       variables  may  also  be referenced by name without using the parameter
-       expansion syntax.  A shell variable that is null or unset evaluates  to
+       variables may also be referenced by name without  using  the  parameter
+       expansion  syntax.  A shell variable that is null or unset evaluates to
        0 when referenced by name without using the parameter expansion syntax.
-       The value of a variable is evaluated as an arithmetic  expression  when
-       it  is  referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
+       The  value  of a variable is evaluated as an arithmetic expression when
+       it is referenced, or when a variable which has been given  the  _\bi_\bn_\bt_\be_\bg_\be_\br
        attribute using d\bde\bec\bcl\bla\bar\bre\be -\b-i\bi is assigned a value.  A null value evaluates
-       to  0.   A shell variable need not have its integer attribute turned on
+       to 0.  A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute  turned  on
        to be used in an expression.
 
        Constants with a leading 0 are interpreted as octal numbers.  A leading
-       0x  or  0X  denotes  hexadecimal.   Otherwise,  numbers  take  the form
-       [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal number between 2 and  64
-       representing  the  arithmetic base, and _\bn is a number in that base.  If
-       _\bb_\ba_\bs_\be_\bis omitted, then base 10 is used.  The digits greater than 9  are
-       represented  by the lowercase letters, the uppercase letters, @, and _,
-       in that order.  If _\bb_\ba_\bs_\be is less than or  equal  to  36,  lowercase  and
-       uppercase  letters  may  be  used  interchangeably to represent numbers
+       0x or  0X  denotes  hexadecimal.   Otherwise,  numbers  take  the  form
+       [_\bb_\ba_\bs_\be_\b#]n,  where the optional _\bb_\ba_\bs_\be is a decimal number between 2 and 64
+       representing the arithmetic base, and _\bn is a number in that  base.   If
+       _\bb_\ba_\bs_\be_\b is omitted, then base 10 is used.  The digits greater than 9 are
+       represented by the lowercase letters, the uppercase letters, @, and  _,
+       in  that  order.   If  _\bb_\ba_\bs_\be  is less than or equal to 36, lowercase and
+       uppercase letters may be  used  interchangeably  to  represent  numbers
        between 10 and 35.
 
-       Operators are evaluated in order  of  precedence.   Sub-expressions  in
-       parentheses  are  evaluated first and may override the precedence rules
+       Operators  are  evaluated  in  order of precedence.  Sub-expressions in
+       parentheses are evaluated first and may override the  precedence  rules
        above.
 
 C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
-       Conditional expressions are used by the [\b[[\b[  compound  command  and  the
-       t\bte\bes\bst\b and [\b[ builtin commands to test file attributes and perform string
-       and arithmetic comparisons.  Expressions are formed from the  following
-       unary  or  binary  primaries.   If any _\bf_\bi_\bl_\be argument to one of the pri-
+       Conditional  expressions  are  used  by the [\b[[\b[ compound command and the
+       t\bte\bes\bst\band [\b[ builtin commands to test file attributes and perform  string
+       and  arithmetic comparisons.  Expressions are formed from the following
+       unary or binary primaries.  If any _\bf_\bi_\bl_\be argument to  one  of  the  pri-
        maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then file descriptor _\bn is checked.  If
-       the  _\bf_\bi_\bl_\be  argument  to  one  of  the  primaries  is one of _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
-       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2,  respectively,
+       the _\bf_\bi_\bl_\be argument to  one  of  the  primaries  is  one  of  _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
+       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt,  or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2, respectively,
        is checked.
 
        Unless otherwise specified, primaries that operate on files follow sym-
        bolic links and operate on the target of the link, rather than the link
        itself.
 
-       When  used  with [\b[[\b[, The <\b< and >\b> operators sort lexicographically using
+       When used with [\b[[\b[, The <\b< and >\b> operators sort  lexicographically  using
        the current locale.
 
        -\b-a\ba _\bf_\bi_\bl_\be
@@ -2219,27 +2220,27 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
        -\b-L\bL _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a symbolic link.
        -\b-N\bN _\bf_\bi_\bl_\be
-              True if _\bf_\bi_\bl_\be exists and has been  modified  since  it  was  last
+              True  if  _\bf_\bi_\bl_\be  exists  and  has been modified since it was last
               read.
        -\b-O\bO _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is owned by the effective user id.
        -\b-S\bS _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a socket.
        _\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+              True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode  num-
               bers.
        _\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
-              True if _\bf_\bi_\bl_\be_\b1 is newer (according  to  modification  date)  than
+              True  if  _\bf_\bi_\bl_\be_\b1  is  newer (according to modification date) than
               _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
        _\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
+              True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and  _\bf_\bi_\bl_\be_\b1
               does not.
        -\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
-              True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See  the  list  of
-              options  under  the  description  of  the  -\b-o\bo  option to the s\bse\bet\bt
+              True  if  the  shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See the list of
+              options under the description  of  the  -\b-o\bo  option  to  the  s\bse\bet\bt
               builtin below.
        -\b-v\bv _\bv_\ba_\br_\bn_\ba_\bm_\be
-              True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been  assigned  a
+              True  if  the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
               value).
        -\b-z\bz _\bs_\bt_\br_\bi_\bn_\bg
               True if the length of _\bs_\bt_\br_\bi_\bn_\bg is zero.
@@ -2249,7 +2250,7 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b==\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
-              True  if  the strings are equal.  =\b= should be used with the t\bte\bes\bst\bt
+              True if the strings are equal.  =\b= should be used with  the  t\bte\bes\bst\bt
               command for POSIX conformance.
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 !\b!=\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
@@ -2262,107 +2263,107 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
               True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts after _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically.
 
        _\ba_\br_\bg_\b1 O\bOP\bP _\ba_\br_\bg_\b2
-              O\bOP\bis one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These  arithmetic
-              binary  operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
-              less than, less than or equal to, greater than, or greater  than
-              or  equal  to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
+              O\bOP\b is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These arithmetic
+              binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal  to,
+              less  than, less than or equal to, greater than, or greater than
+              or equal to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may  be  positive
               or negative integers.
 
 S\bSI\bIM\bMP\bPL\bLE\bE C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       When a simple command is executed, the  shell  performs  the  following
+       When  a  simple  command  is executed, the shell performs the following
        expansions, assignments, and redirections, from left to right.
 
-       1.     The  words  that  the  parser has marked as variable assignments
-              (those preceding the command name) and  redirections  are  saved
+       1.     The words that the parser has  marked  as  variable  assignments
+              (those  preceding  the  command name) and redirections are saved
               for later processing.
 
-       2.     The  words that are not variable assignments or redirections are
-              expanded.  If any words remain after expansion, the  first  word
-              is  taken  to be the name of the command and the remaining words
+       2.     The words that are not variable assignments or redirections  are
+              expanded.   If  any words remain after expansion, the first word
+              is taken to be the name of the command and the  remaining  words
               are the arguments.
 
        3.     Redirections are performed as described above under R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN.
 
        4.     The text after the =\b= in each variable assignment undergoes tilde
               expansion, parameter expansion, command substitution, arithmetic
-              expansion,  and quote removal before being assigned to the vari-
+              expansion, and quote removal before being assigned to the  vari-
               able.
 
        If no command name results, the variable assignments affect the current
-       shell  environment.  Otherwise, the variables are added to the environ-
-       ment of the executed command and do not affect the current shell  envi-
-       ronment.   If  any  of  the assignments attempts to assign a value to a
-       readonly variable, an error occurs, and the command exits with  a  non-
+       shell environment.  Otherwise, the variables are added to the  environ-
+       ment  of the executed command and do not affect the current shell envi-
+       ronment.  If any of the assignments attempts to assign  a  value  to  a
+       readonly  variable,  an error occurs, and the command exits with a non-
        zero status.
 
-       If  no  command  name  results,  redirections are performed, but do not
-       affect the current shell environment.  A redirection error  causes  the
+       If no command name results, redirections  are  performed,  but  do  not
+       affect  the  current shell environment.  A redirection error causes the
        command to exit with a non-zero status.
 
-       If  there is a command name left after expansion, execution proceeds as
-       described below.  Otherwise, the command exits.  If one of  the  expan-
-       sions  contained a command substitution, the exit status of the command
-       is the exit status of the  last  command  substitution  performed.   If
+       If there is a command name left after expansion, execution proceeds  as
+       described  below.   Otherwise, the command exits.  If one of the expan-
+       sions contained a command substitution, the exit status of the  command
+       is  the  exit  status  of  the last command substitution performed.  If
        there were no command substitutions, the command exits with a status of
        zero.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
-       After a command has been split into words, if it results  in  a  simple
-       command  and  an  optional list of arguments, the following actions are
+       After  a  command  has been split into words, if it results in a simple
+       command and an optional list of arguments, the  following  actions  are
        taken.
 
-       If the command name contains no slashes, the shell attempts  to  locate
-       it.   If  there  exists a shell function by that name, that function is
-       invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match  a
-       function,  the shell searches for it in the list of shell builtins.  If
+       If  the  command name contains no slashes, the shell attempts to locate
+       it.  If there exists a shell function by that name,  that  function  is
+       invoked  as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match a
+       function, the shell searches for it in the list of shell builtins.   If
        a match is found, that builtin is invoked.
 
-       If the name is neither a shell function nor a builtin, and contains  no
-       slashes,  b\bba\bas\bsh\bh  searches  each element of the P\bPA\bAT\bTH\bH for a directory con-
-       taining an executable file by that name.  B\bBa\bas\bsh\bh uses  a  hash  table  to
-       remember  the  full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  A full search of the directories in  P\bPA\bAT\bTH\b is
-       performed  only  if the command is not found in the hash table.  If the
+       If  the name is neither a shell function nor a builtin, and contains no
+       slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for  a  directory  con-
+       taining  an  executable  file  by that name.  B\bBa\bas\bsh\bh uses a hash table to
+       remember the full pathnames of executable files (see h\bha\bas\bsh\bh  under  S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below).  A full search of the directories in P\bPA\bAT\bTH\bH is
+       performed only if the command is not found in the hash table.   If  the
        search is unsuccessful, the shell searches for a defined shell function
        named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be.  If that function exists, it is invoked
-       with the original command and the original command's arguments  as  its
-       arguments,  and  the  function's exit status becomes the exit status of
-       the shell.  If that function is not defined, the shell prints an  error
+       with  the  original command and the original command's arguments as its
+       arguments, and the function's exit status becomes the  exit  status  of
+       the  shell.  If that function is not defined, the shell prints an error
        message and returns an exit status of 127.
 
-       If  the  search  is  successful, or if the command name contains one or
+       If the search is successful, or if the command  name  contains  one  or
        more slashes, the shell executes the named program in a separate execu-
        tion environment.  Argument 0 is set to the name given, and the remain-
        ing arguments to the command are set to the arguments given, if any.
 
-       If this execution fails because the file is not in  executable  format,
-       and  the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
-       file containing shell commands.  A subshell is spawned to  execute  it.
-       This  subshell  reinitializes itself, so that the effect is as if a new
-       shell had been invoked to handle the script, with  the  exception  that
-       the  locations  of  commands  remembered  by the parent (see h\bha\bas\bsh\bh below
+       If  this  execution fails because the file is not in executable format,
+       and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt,  a
+       file  containing  shell commands.  A subshell is spawned to execute it.
+       This subshell reinitializes itself, so that the effect is as if  a  new
+       shell  had  been  invoked to handle the script, with the exception that
+       the locations of commands remembered by  the  parent  (see  h\bha\bas\bsh\b below
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS) are retained by the child.
 
-       If the program is a file beginning with #\b#!\b!, the remainder of the  first
-       line  specifies an interpreter for the program.  The shell executes the
+       If  the program is a file beginning with #\b#!\b!, the remainder of the first
+       line specifies an interpreter for the program.  The shell executes  the
        specified interpreter on operating systems that do not handle this exe-
        cutable format themselves.  The arguments to the interpreter consist of
-       a single optional argument following the interpreter name on the  first
-       line  of  the program, followed by the name of the program, followed by
+       a  single optional argument following the interpreter name on the first
+       line of the program, followed by the name of the program,  followed  by
        the command arguments, if any.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of  the  follow-
+       The  shell  has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
        ing:
 
 
-       +\bo      open  files inherited by the shell at invocation, as modified by
+       +\bo      open files inherited by the shell at invocation, as modified  by
               redirections supplied to the e\bex\bxe\bec\bc builtin
 
-       +\bo      the current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or  p\bpo\bop\bpd\bd,  or
+       +\bo      the  current  working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
               inherited by the shell at invocation
 
-       +\bo      the  file  creation  mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
+       +\bo      the file creation mode mask as set by u\bum\bma\bas\bsk\bk  or  inherited  from
               the shell's parent
 
        +\bo      current traps set by t\btr\bra\bap\bp
@@ -2370,242 +2371,242 @@ C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bN
        +\bo      shell parameters that are set by variable assignment or with s\bse\bet\bt
               or inherited from the shell's parent in the environment
 
-       +\bo      shell  functions  defined during execution or inherited from the
+       +\bo      shell functions defined during execution or inherited  from  the
               shell's parent in the environment
 
-       +\bo      options enabled at invocation (either by default  or  with  com-
+       +\bo      options  enabled  at  invocation (either by default or with com-
               mand-line arguments) or by s\bse\bet\bt
 
        +\bo      options enabled by s\bsh\bho\bop\bpt\bt
 
        +\bo      shell aliases defined with a\bal\bli\bia\bas\bs
 
-       +\bo      various  process  IDs,  including  those of background jobs, the
+       +\bo      various process IDs, including those  of  background  jobs,  the
               value of $\b$$\b$, and the value of P\bPP\bPI\bID\bD
 
-       When a simple command other than a builtin or shell function is  to  be
-       executed,  it  is invoked in a separate execution environment that con-
-       sists of the following.  Unless otherwise noted, the values are  inher-
+       When  a  simple command other than a builtin or shell function is to be
+       executed, it is invoked in a separate execution environment  that  con-
+       sists  of the following.  Unless otherwise noted, the values are inher-
        ited from the shell.
 
 
-       +\bo      the  shell's  open  files,  plus any modifications and additions
+       +\bo      the shell's open files, plus  any  modifications  and  additions
               specified by redirections to the command
 
        +\bo      the current working directory
 
        +\bo      the file creation mode mask
 
-       +\bo      shell variables and functions  marked  for  export,  along  with
+       +\bo      shell  variables  and  functions  marked  for export, along with
               variables exported for the command, passed in the environment
 
        +\bo      traps caught by the shell are reset to the values inherited from
               the shell's parent, and traps ignored by the shell are ignored
 
-       A command invoked  in  this  separate  environment  cannot  affect  the
+       A  command  invoked  in  this  separate  environment  cannot affect the
        shell's execution environment.
 
-       Command  substitution, commands grouped with parentheses, and asynchro-
+       Command substitution, commands grouped with parentheses, and  asynchro-
        nous commands are invoked in a subshell environment that is a duplicate
-       of  the  shell  environment,  except that traps caught by the shell are
+       of the shell environment, except that traps caught  by  the  shell  are
        reset to the values that the shell inherited from its parent at invoca-
        tion.  Builtin commands that are invoked as part of a pipeline are also
        executed in a subshell environment.  Changes made to the subshell envi-
        ronment cannot affect the shell's execution environment.
 
        Subshells spawned to execute command substitutions inherit the value of
-       the -\b-e\be option from the parent shell.  When  not  in  posix  mode,  Bash
+       the  -\b-e\be  option  from  the  parent shell.  When not in _\bp_\bo_\bs_\bi_\bx mode, b\bba\bas\bsh\bh
        clears the -\b-e\be option in such subshells.
 
-       If  a  command  is  followed  by a &\b& and job control is not active, the
-       default standard input for the command is  the  empty  file  _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.
-       Otherwise,  the  invoked  command  inherits the file descriptors of the
+       If a command is followed by a &\b& and job  control  is  not  active,  the
+       default  standard  input  for  the command is the empty file _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.
+       Otherwise, the invoked command inherits the  file  descriptors  of  the
        calling shell as modified by redirections.
 
 E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       When a program is invoked it is given an array of  strings  called  the
+       When  a  program  is invoked it is given an array of strings called the
        _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt.   This  is  a  list  of  _\bn_\ba_\bm_\be-_\bv_\ba_\bl_\bu_\be  pairs,  of  the  form
        _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be.
 
-       The shell provides several ways  to  manipulate  the  environment.   On
+       The  shell  provides  several  ways  to manipulate the environment.  On
        invocation, the shell scans its own environment and creates a parameter
-       for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child  pro-
-       cesses.   Executed  commands  inherit  the environment.  The e\bex\bxp\bpo\bor\brt\bt and
-       d\bde\bec\bcl\bla\bar\bre\b-\b-x\bx commands allow parameters and functions to be added  to  and
+       for  each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child pro-
+       cesses.  Executed commands inherit the  environment.   The  e\bex\bxp\bpo\bor\brt\b and
+       d\bde\bec\bcl\bla\bar\bre\b -\b-x\bx  commands allow parameters and functions to be added to and
        deleted from the environment.  If the value of a parameter in the envi-
-       ronment is modified, the new value becomes  part  of  the  environment,
-       replacing  the  old.  The environment inherited by any executed command
-       consists of the shell's initial environment, whose values may be  modi-
-       fied  in  the  shell, less any pairs removed by the u\bun\bns\bse\bet\bt command, plus
+       ronment  is  modified,  the  new value becomes part of the environment,
+       replacing the old.  The environment inherited by any  executed  command
+       consists  of the shell's initial environment, whose values may be modi-
+       fied in the shell, less any pairs removed by the  u\bun\bns\bse\bet\bt  command,  plus
        any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands.
 
-       The environment for any _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or  function  may  be  augmented
-       temporarily  by  prefixing  it with parameter assignments, as described
+       The  environment  for  any  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or function may be augmented
+       temporarily by prefixing it with parameter  assignments,  as  described
        above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS.  These assignment statements affect only the envi-
        ronment seen by that command.
 
-       If  the  -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
-       parameter assignments are placed in the environment for a command,  not
+       If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below),  then  _\ba_\bl_\bl
+       parameter  assignments are placed in the environment for a command, not
        just those that precede the command name.
 
-       When  b\bba\bas\bsh\bh  invokes  an  external command, the variable _\b_ is set to the
-       full file name of the command and passed to that command in  its  envi-
+       When b\bba\bas\bsh\bh invokes an external command, the variable _\b_  is  set  to  the
+       full  file  name of the command and passed to that command in its envi-
        ronment.
 
 E\bEX\bXI\bIT\bT S\bST\bTA\bAT\bTU\bUS\bS
-       The  exit  status  of  an executed command is the value returned by the
+       The exit status of an executed command is the  value  returned  by  the
        _\bw_\ba_\bi_\bt_\bp_\bi_\bd system call or equivalent function.  Exit statuses fall between
-       0  and  255, though, as explained below, the shell may use values above
+       0 and 255, though, as explained below, the shell may use  values  above
        125 specially.  Exit statuses from shell builtins and compound commands
-       are  also limited to this range. Under certain circumstances, the shell
+       are also limited to this range. Under certain circumstances, the  shell
        will use special values to indicate specific failure modes.
 
        For the shell's purposes, a command which exits with a zero exit status
-       has  succeeded.   An exit status of zero indicates success.  A non-zero
-       exit status indicates failure.  When a command terminates  on  a  fatal
+       has succeeded.  An exit status of zero indicates success.   A  non-zero
+       exit  status  indicates  failure.  When a command terminates on a fatal
        signal _\bN, b\bba\bas\bsh\bh uses the value of 128+_\bN as the exit status.
 
-       If  a  command  is  not  found, the child process created to execute it
-       returns a status of 127.  If a command is found but is not  executable,
+       If a command is not found, the child  process  created  to  execute  it
+       returns  a status of 127.  If a command is found but is not executable,
        the return status is 126.
 
        If a command fails because of an error during expansion or redirection,
        the exit status is greater than zero.
 
-       Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if  successful,  and
-       non-zero  (_\bf_\ba_\bl_\bs_\be)  if an error occurs while they execute.  All builtins
+       Shell  builtin  commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
+       non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute.   All  builtins
        return an exit status of 2 to indicate incorrect usage.
 
-       B\bBa\bas\bsh\bitself returns the exit  status  of  the  last  command  executed,
-       unless  a  syntax  error occurs, in which case it exits with a non-zero
+       B\bBa\bas\bsh\b itself  returns  the  exit  status  of the last command executed,
+       unless a syntax error occurs, in which case it exits  with  a  non-zero
        value.  See also the e\bex\bxi\bit\bt builtin command below.
 
 S\bSI\bIG\bGN\bNA\bAL\bLS\bS
-       When b\bba\bas\bsh\bh is interactive, in the  absence  of  any  traps,  it  ignores
+       When  b\bba\bas\bsh\bh  is  interactive,  in  the  absence of any traps, it ignores
        S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and S\bSI\bIG\bGI\bIN\bNT\bT
-       is caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).   In
-       all  cases,  b\bba\bas\bsh\bh  ignores  S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control is in effect, b\bba\bas\bsh\bh
+       is  caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).  In
+       all cases, b\bba\bas\bsh\bh ignores S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control  is  in  effect,  b\bba\bas\bsh\bh
        ignores S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
        Non-builtin commands run by b\bba\bas\bsh\bh have signal handlers set to the values
-       inherited  by  the  shell  from its parent.  When job control is not in
-       effect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition  to
-       these  inherited handlers.  Commands run as a result of command substi-
+       inherited by the shell from its parent.  When job  control  is  not  in
+       effect,  asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to
+       these inherited handlers.  Commands run as a result of command  substi-
        tution ignore the keyboard-generated job control signals S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bT-\b-
        T\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
-       The  shell  exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.  Before exiting,
-       an interactive shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs,  running  or
+       The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.   Before  exiting,
+       an  interactive  shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs, running or
        stopped.  Stopped jobs are sent S\bSI\bIG\bGC\bCO\bON\bNT\bT to ensure that they receive the
-       S\bSI\bIG\bGH\bHU\bUP\bP.  To prevent the shell from sending the signal to  a  particular
-       job,  it  should be removed from the jobs table with the d\bdi\bis\bso\bow\bwn\bn builtin
-       (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or  marked  to  not  receive  S\bSI\bIG\bGH\bHU\bUP\bP
+       S\bSI\bIG\bGH\bHU\bUP\bP.   To  prevent the shell from sending the signal to a particular
+       job, it should be removed from the jobs table with the  d\bdi\bis\bso\bow\bwn\b builtin
+       (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below)  or marked to not receive S\bSI\bIG\bGH\bHU\bUP\bP
        using d\bdi\bis\bso\bow\bwn\bn -\b-h\bh.
 
-       If  the  h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt  shell  option has been set with s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
+       If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set with  s\bsh\bho\bop\bpt\bt,  b\bba\bas\bsh\bh  sends  a
        S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an interactive login shell exits.
 
-       If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal  for
+       If  b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
        which a trap has been set, the trap will not be executed until the com-
-       mand completes.  When b\bba\bas\bsh\bh is waiting for an asynchronous  command  via
-       the  w\bwa\bai\bit\bt  builtin, the reception of a signal for which a trap has been
+       mand  completes.   When b\bba\bas\bsh\bh is waiting for an asynchronous command via
+       the w\bwa\bai\bit\bt builtin, the reception of a signal for which a trap  has  been
        set will cause the w\bwa\bai\bit\bt builtin to return immediately with an exit sta-
        tus greater than 128, immediately after which the trap is executed.
 
 J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL
-       _\bJ_\bo_\b _\bc_\bo_\bn_\bt_\br_\bo_\bl  refers  to  the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the
+       _\bJ_\bo_\b_\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to  selectively  stop  (_\bs_\bu_\bs_\bp_\be_\bn_\bd)  the
        execution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
-       point.   A  user  typically  employs  this  facility via an interactive
-       interface supplied jointly by the operating  system  kernel's  terminal
+       point.  A user typically  employs  this  facility  via  an  interactive
+       interface  supplied  jointly  by the operating system kernel's terminal
        driver and b\bba\bas\bsh\bh.
 
-       The  shell  associates  a  _\bj_\bo_\bb with each pipeline.  It keeps a table of
-       currently executing jobs, which may be listed with  the  j\bjo\bob\bbs\b command.
-       When  b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
+       The shell associates a _\bj_\bo_\bb with each pipeline.  It  keeps  a  table  of
+       currently  executing  jobs,  which may be listed with the j\bjo\bob\bbs\bs command.
+       When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints  a
        line that looks like:
 
               [1] 25647
 
        indicating that this job is job number 1 and that the process ID of the
        last process in the pipeline associated with this job is 25647.  All of
-       the processes in a single pipeline are members of the same  job.   B\bBa\bas\bsh\bh
+       the  processes  in a single pipeline are members of the same job.  B\bBa\bas\bsh\bh
        uses the _\bj_\bo_\bb abstraction as the basis for job control.
 
-       To  facilitate the implementation of the user interface to job control,
+       To facilitate the implementation of the user interface to job  control,
        the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
        _\bg_\br_\bo_\bu_\bp _\bI_\bD.  Members of this process group (processes whose process group
        ID is equal to the current terminal process group ID) receive keyboard-
-       generated  signals  such  as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said to be in
-       the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group  ID
+       generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said  to  be  in
+       the  _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
        differs from the terminal's; such processes are immune to keyboard-gen-
        erated signals.  Only foreground processes are allowed to read from or,
-       if  the  user  so  specifies  with  stty tostop, write to the terminal.
-       Background processes which attempt to read from  (write  to  when  stty
-       tostop  is  in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal
-       by the kernel's terminal driver, which,  unless  caught,  suspends  the
+       if the user so specifies with  stty  tostop,  write  to  the  terminal.
+       Background  processes  which  attempt  to read from (write to when stty
+       tostop is in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN  (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b signal
+       by  the  kernel's  terminal  driver, which, unless caught, suspends the
        process.
 
-       If  the operating system on which b\bba\bas\bsh\bh is running supports job control,
+       If the operating system on which b\bba\bas\bsh\bh is running supports job  control,
        b\bba\bas\bsh\bh contains facilities to use it.  Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
        ically ^\b^Z\bZ, Control-Z) while a process is running causes that process to
-       be stopped and returns control to b\bba\bas\bsh\bh.   Typing  the  _\bd_\be_\bl_\ba_\by_\be_\b _\bs_\bu_\bs_\bp_\be_\bn_\bd
-       character  (typically  ^\b^Y\bY,  Control-Y) causes the process to be stopped
-       when it attempts to read input from the terminal,  and  control  to  be
-       returned  to b\bba\bas\bsh\bh.  The user may then manipulate the state of this job,
-       using the b\bbg\bg command to continue it in the background, the  f\bfg\b command
+       be  stopped  and  returns  control to b\bba\bas\bsh\bh.  Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
+       character (typically ^\b^Y\bY, Control-Y) causes the process  to  be  stopped
+       when  it  attempts  to  read input from the terminal, and control to be
+       returned to b\bba\bas\bsh\bh.  The user may then manipulate the state of this  job,
+       using  the  b\bbg\bg command to continue it in the background, the f\bfg\bg command
        to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it.  A ^\b^Z\bZ
        takes effect immediately, and has the additional side effect of causing
        pending output and typeahead to be discarded.
 
        There are a number of ways to refer to a job in the shell.  The charac-
-       ter %\b% introduces a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc).  Job number  _\bn  may  be
+       ter  %\b%  introduces  a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc).  Job number _\bn may be
        referred to as %\b%n\bn.  A job may also be referred to using a prefix of the
        name used to start it, or using a substring that appears in its command
-       line.   For  example,  %\b%c\bce\be  refers  to  a  stopped c\bce\be job.  If a prefix
-       matches more than one job, b\bba\bas\bsh\bh reports an error.  Using %\b%?\b?c\bce\be,  on  the
-       other  hand,  refers to any job containing the string c\bce\be in its command
-       line.  If the substring matches more than  one  job,  b\bba\bas\bsh\bh  reports  an
-       error.   The  symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\b-
-       _\br_\be_\bn_\b_\bj_\bo_\bb, which is the last job stopped while it was in the  foreground
+       line.  For example, %\b%c\bce\be refers to  a  stopped  c\bce\be  job.   If  a  prefix
+       matches  more  than one job, b\bba\bas\bsh\bh reports an error.  Using %\b%?\b?c\bce\be, on the
+       other hand, refers to any job containing the string c\bce\be in  its  command
+       line.   If  the  substring  matches  more than one job, b\bba\bas\bsh\bh reports an
+       error.  The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of  the  _\bc_\bu_\br_\b-
+       _\br_\be_\bn_\b _\bj_\bo_\bb, which is the last job stopped while it was in the foreground
        or started in the background.  The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may be referenced using
        %\b%-\b-.  If there is only a single job, %\b%+\b+ and %\b%-\b- can both be used to refer
-       to  that  job.   In  output pertaining to jobs (e.g., the output of the
+       to that job.  In output pertaining to jobs (e.g.,  the  output  of  the
        j\bjo\bob\bbs\bs command), the current job is always flagged with a +\b+, and the pre-
-       vious  job  with  a -\b-.  A single % (with no accompanying job specifica-
+       vious job with a -\b-.  A single % (with no  accompanying  job  specifica-
        tion) also refers to the current job.
 
-       Simply naming a job can be used to bring it into the foreground: %\b%1\b is
-       a  synonym  for  `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the background into the
-       foreground.  Similarly, `\b``\b`%\b%1\b1 &\b&'\b''\b'  resumes  job  1  in  the  background,
+       Simply  naming a job can be used to bring it into the foreground: %\b%1\b1 is
+       a synonym for `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the  background  into  the
+       foreground.   Similarly,  `\b``\b`%\b%1\b1  &\b&'\b''\b'  resumes  job  1 in the background,
        equivalent to `\b``\b`b\bbg\bg %\b%1\b1'\b''\b'.
 
-       The  shell  learns immediately whenever a job changes state.  Normally,
+       The shell learns immediately whenever a job changes  state.   Normally,
        b\bba\bas\bsh\bh waits until it is about to print a prompt before reporting changes
-       in  a  job's status so as to not interrupt any other output.  If the -\b-b\bb
+       in a job's status so as to not interrupt any other output.  If  the  -\b-b\bb
        option to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes
-       immediately.   Any  trap  on  S\bSI\bIG\bGC\bCH\bHL\bLD\bD  is  executed for each child that
+       immediately.  Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD  is  executed  for  each  child  that
        exits.
 
-       If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or,  if  the
-       c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\b shell  option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
+       If  an  attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
+       c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bshell option has been enabled using the s\bsh\bho\bop\bpt\bt  builtin,  run-
        ning), the shell prints a warning message, and, if the c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs option
-       is  enabled,  lists  the jobs and their statuses.  The j\bjo\bob\bbs\bs command may
-       then be used to inspect their status.  If a second attempt to  exit  is
-       made  without  an intervening command, the shell does not print another
+       is enabled, lists the jobs and their statuses.  The  j\bjo\bob\bbs\bs  command  may
+       then  be  used to inspect their status.  If a second attempt to exit is
+       made without an intervening command, the shell does not  print  another
        warning, and any stopped jobs are terminated.
 
 P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
        When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
-       it  is  ready  to  read a command, and the secondary prompt P\bPS\bS2\b2 when it
-       needs more input to complete  a  command.   B\bBa\bas\bsh\bh  allows  these  prompt
-       strings  to  be  customized  by inserting a number of backslash-escaped
+       it is ready to read a command, and the secondary  prompt  P\bPS\bS2\b2  when  it
+       needs  more  input  to  complete  a  command.  B\bBa\bas\bsh\bh allows these prompt
+       strings to be customized by inserting  a  number  of  backslash-escaped
        special characters that are decoded as follows:
               \\b\a\ba     an ASCII bell character (07)
-              \\b\d\bd     the date in "Weekday Month Date" format (e.g.,  "Tue  May
+              \\b\d\bd     the  date  in "Weekday Month Date" format (e.g., "Tue May
                      26")
               \\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
-                     the  _\bf_\bo_\br_\bm_\ba_\bt  is  passed  to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is
-                     inserted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\b results
+                     the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  and  the  result  is
+                     inserted  into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results
                      in a locale-specific time representation.  The braces are
                      required
               \\b\e\be     an ASCII escape character (033)
@@ -2615,7 +2616,7 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\l\bl     the basename of the shell's terminal device name
               \\b\n\bn     newline
               \\b\r\br     carriage return
-              \\b\s\bs     the name of the shell, the basename of  $\b$0\b0  (the  portion
+              \\b\s\bs     the  name  of  the shell, the basename of $\b$0\b0 (the portion
                      following the final slash)
               \\b\t\bt     the current time in 24-hour HH:MM:SS format
               \\b\T\bT     the current time in 12-hour HH:MM:SS format
@@ -2624,8 +2625,8 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\u\bu     the username of the current user
               \\b\v\bv     the version of b\bba\bas\bsh\bh (e.g., 2.00)
               \\b\V\bV     the release of b\bba\bas\bsh\bh, version + patch level (e.g., 2.00.0)
-              \\b\w\bw     the current working  directory,  with  $\b$H\bHO\bOM\bME\b abbreviated
-                     with  a tilde (uses the value of the P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM vari-
+              \\b\w\bw     the  current  working  directory,  with $\b$H\bHO\bOM\bME\bE abbreviated
+                     with a tilde (uses the value of the P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\b vari-
                      able)
               \\b\W\bW     the basename of the current working directory, with $\b$H\bHO\bOM\bME\bE
                      abbreviated with a tilde
@@ -2634,66 +2635,66 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\$\b$     if the effective UID is 0, a #\b#, otherwise a $\b$
               \\b\_\bn_\bn_\bn   the character corresponding to the octal number _\bn_\bn_\bn
               \\b\\\b\     a backslash
-              \\b\[\b[     begin  a sequence of non-printing characters, which could
-                     be used to embed a terminal  control  sequence  into  the
+              \\b\[\b[     begin a sequence of non-printing characters, which  could
+                     be  used  to  embed  a terminal control sequence into the
                      prompt
               \\b\]\b]     end a sequence of non-printing characters
 
-       The  command  number  and the history number are usually different: the
-       history number of a command is its position in the history list,  which
-       may  include  commands  restored  from  the  history  file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY
-       below), while the command number is the position  in  the  sequence  of
-       commands  executed  during the current shell session.  After the string
-       is decoded, it is expanded via parameter expansion,  command  substitu-
-       tion,  arithmetic expansion, and quote removal, subject to the value of
-       the p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the  s\bsh\bho\bop\bpt\b command
+       The command number and the history number are  usually  different:  the
+       history  number of a command is its position in the history list, which
+       may include commands  restored  from  the  history  file  (see  H\bHI\bIS\bST\bTO\bOR\bRY\bY
+       below),  while  the  command  number is the position in the sequence of
+       commands executed during the current shell session.  After  the  string
+       is  decoded,  it is expanded via parameter expansion, command substitu-
+       tion, arithmetic expansion, and quote removal, subject to the value  of
+       the  p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs  shell option (see the description of the s\bsh\bho\bop\bpt\bt command
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
 R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
-       This  is  the library that handles reading input when using an interac-
+       This is the library that handles reading input when using  an  interac-
        tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is given at shell invocation.
        Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd builtin.
-       By default, the line editing commands are similar to those of emacs.  A
+       By default, the line editing commands are similar to those of Emacs.  A
        vi-style line editing interface is also available.  Line editing can be
-       enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo  v\bvi\bi  options  to  the  s\bse\bet\bt
-       builtin  (see  S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  To turn off line editing
-       after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi  options  to  the
+       enabled  at  any  time  using  the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt
+       builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  To turn off  line  editing
+       after  the  shell  is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options to the
        s\bse\bet\bt builtin.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be N\bNo\bot\bta\bat\bti\bio\bon\bn
-       In this section, the emacs-style notation is used to denote keystrokes.
-       Control keys are denoted by C-_\bk_\be_\by, e.g., C-n  means  Control-N.   Simi-
-       larly,  _\bm_\be_\bt_\ba  keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.  (On key-
-       boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape  key
+       In this section, the Emacs-style notation is used to denote keystrokes.
+       Control  keys  are  denoted by C-_\bk_\be_\by, e.g., C-n means Control-N.  Simi-
+       larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.   (On  key-
+       boards  without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
        then the _\bx key.  This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx.  The combination M-C-_\bx
-       means ESC-Control-_\bx, or press the Escape key then hold the Control  key
+       means  ESC-Control-_\bx, or press the Escape key then hold the Control key
        while pressing the _\bx key.)
 
        Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
-       a repeat count.  Sometimes, however, it is the  sign  of  the  argument
-       that  is  significant.   Passing  a negative argument to a command that
-       acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command  to
-       act  in  a  backward direction.  Commands whose behavior with arguments
+       a  repeat  count.   Sometimes,  however, it is the sign of the argument
+       that is significant.  Passing a negative argument  to  a  command  that
+       acts  in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
+       act in a backward direction.  Commands whose  behavior  with  arguments
        deviates from this are noted below.
 
-       When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is  saved
+       When  a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
        for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg).  The killed text is saved in a
        _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg.  Consecutive kills cause the text to be accumulated into one
        unit, which can be yanked all at once.  Commands which do not kill text
        separate the chunks of text on the kill ring.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn
-       Readline is customized by putting commands in  an  initialization  file
-       (the  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file).  The name of this file is taken from the value of
-       the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable.  If  that  variable  is  unset,  the  default  is
-       _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.   When a program which uses the readline library starts up,
+       Readline  is  customized  by putting commands in an initialization file
+       (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file).  The name of this file is taken from the  value  of
+       the  I\bIN\bNP\bPU\bUT\bTR\bRC\bC  variable.   If  that  variable  is  unset, the default is
+       _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.  When a program which uses the readline library starts  up,
        the initialization file is read, and the key bindings and variables are
-       set.   There  are  only  a few basic constructs allowed in the readline
-       initialization file.  Blank lines are ignored.  Lines beginning with  a
-       #\b are  comments.   Lines  beginning with a $\b$ indicate conditional con-
+       set.  There are only a few basic constructs  allowed  in  the  readline
+       initialization  file.  Blank lines are ignored.  Lines beginning with a
+       #\bare comments.  Lines beginning with a  $\b$  indicate  conditional  con-
        structs.  Other lines denote key bindings and variable settings.
 
-       The default key-bindings may be changed with an  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file.   Other
+       The  default  key-bindings  may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.  Other
        programs that use this library may add their own commands and bindings.
 
        For example, placing
@@ -2701,19 +2702,19 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               M-Control-u: universal-argument
        or
               C-Meta-u: universal-argument
-       into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command  _\bu_\bn_\bi_\bv_\be_\br_\b-
+       into  the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
        _\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
 
-       The  following  symbolic  character  names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
+       The following symbolic character names  are  recognized:  _\bR_\bU_\bB_\bO_\bU_\bT,  _\bD_\bE_\bL,
        _\bE_\bS_\bC, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bS_\bP_\bC, _\bS_\bP_\bA_\bC_\bE, and _\bT_\bA_\bB.
 
-       In addition to command names, readline allows keys to  be  bound  to  a
+       In  addition  to  command  names, readline allows keys to be bound to a
        string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
-       The  syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
-       All that is required is the name of the command or the text of a  macro
-       and  a key sequence to which it should be bound. The name may be speci-
+       The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is  simple.
+       All  that is required is the name of the command or the text of a macro
+       and a key sequence to which it should be bound. The name may be  speci-
        fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
        _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
 
@@ -2724,15 +2725,15 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
 
-       In the above example, _\bC_\b-_\bu is bound to the function  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
-       _\bM_\b-_\bD_\bE_\b is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
-       run the macro expressed on the right hand side (that is, to insert  the
+       In  the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+       _\bM_\b-_\bD_\bE_\bis bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound  to
+       run  the macro expressed on the right hand side (that is, to insert the
        text ``> output'' into the line).
 
-       In  the  second  form,  "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
-       from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence  may
-       be  specified  by  placing the sequence within double quotes.  Some GNU
-       Emacs style key escapes can be used, as in the following  example,  but
+       In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be  or  _\bm_\ba_\bc_\br_\bo,  k\bke\bey\bys\bse\beq\b differs
+       from  k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+       be specified by placing the sequence within double  quotes.   Some  GNU
+       Emacs  style  key escapes can be used, as in the following example, but
        the symbolic character names are not recognized.
 
               "\C-u": universal-argument
@@ -2740,7 +2741,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               "\e[11~": "Function Key 1"
 
        In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
-       _\bC_\b-_\b_\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b is
+       _\bC_\b-_\b _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
        bound to insert the text ``Function Key 1''.
 
        The full set of GNU Emacs style escape sequences is
@@ -2751,7 +2752,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\"\b"     literal "
               \\b\'\b'     literal '
 
-       In  addition  to  the GNU Emacs style escape sequences, a second set of
+       In addition to the GNU Emacs style escape sequences, a  second  set  of
        backslash escapes is available:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -2761,20 +2762,20 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\r\br     carriage return
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
-              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
+              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (one to three digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
 
        When entering the text of a macro, single or double quotes must be used
        to indicate a macro definition.  Unquoted text is assumed to be a func-
-       tion name.  In the macro body, the backslash  escapes  described  above
-       are  expanded.   Backslash  will quote any other character in the macro
+       tion  name.   In  the macro body, the backslash escapes described above
+       are expanded.  Backslash will quote any other character  in  the  macro
        text, including " and '.
 
-       B\bBa\bas\bsh\ballows the current readline key bindings to be displayed or  modi-
-       fied  with  the b\bbi\bin\bnd\bd builtin command.  The editing mode may be switched
-       during interactive use by using the -\b-o\bo option to the s\bse\bet\bt  builtin  com-
+       B\bBa\bas\bsh\b allows the current readline key bindings to be displayed or modi-
+       fied with the b\bbi\bin\bnd\bd builtin command.  The editing mode may  be  switched
+       during  interactive  use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
@@ -2784,187 +2785,191 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
               s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
 
-       Except  where  noted,  readline variables can take the values O\bOn\bn or O\bOf\bff\bf
-       (without regard to case).  Unrecognized  variable  names  are  ignored.
-       When  a variable value is read, empty or null values, "on" (case-insen-
+       Except where noted, readline variables can take the values  O\bOn\bn  or  O\bOf\bff\bf
+       (without  regard  to  case).   Unrecognized variable names are ignored.
+       When a variable value is read, empty or null values, "on"  (case-insen-
        sitive), and "1" are equivalent to O\bOn\bn.  All other values are equivalent
        to O\bOf\bff\bf.  The variables and their default values are:
 
        b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
-              Controls  what  happens when readline wants to ring the terminal
+              Controls what happens when readline wants to ring  the  terminal
               bell.  If set to n\bno\bon\bne\be, readline never rings the bell.  If set to
-              v\bvi\bis\bsi\bib\bbl\ble\be,  readline  uses a visible bell if one is available.  If
+              v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is  available.   If
               set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
        b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, readline attempts to bind the  control  characters
+              If  set  to O\bOn\bn, readline attempts to bind the control characters
               treated specially by the kernel's terminal driver to their read-
               line equivalents.
        c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b(`\b``\b`#\b#'\b''\b')\b)
-              The string that is inserted  when  the  readline  i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
+              The  string  that  is  inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
               command is executed.  This command is bound to M\bM-\b-#\b# in emacs mode
               and to #\b# in vi command mode.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline performs filename matching and completion
               in a case-insensitive fashion.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
-              The  length in characters of the common prefix of a list of pos-
-              sible completions that is displayed without modification.   When
-              set  to  a  value greater than zero, common prefixes longer than
-              this value are replaced with an ellipsis when displaying  possi-
+              The length in characters of the common prefix of a list of  pos-
+              sible  completions that is displayed without modification.  When
+              set to a value greater than zero, common  prefixes  longer  than
+              this  value are replaced with an ellipsis when displaying possi-
               ble completions.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
-              This  determines when the user is queried about viewing the num-
-              ber of possible completions generated  by  the  p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
-              t\bti\bio\bon\bns\b command.  It may be set to any integer value greater than
-              or equal to zero.  If the  number  of  possible  completions  is
+              This determines when the user is queried about viewing the  num-
+              ber  of  possible  completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+              t\bti\bio\bon\bns\bcommand.  It may be set to any integer value greater  than
+              or  equal  to  zero.   If  the number of possible completions is
               greater than or equal to the value of this variable, the user is
-              asked whether or not he wishes to view them; otherwise they  are
+              asked  whether or not he wishes to view them; otherwise they are
               simply listed on the terminal.
        c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
-              If  set  to O\bOn\bn, readline will convert characters with the eighth
+              If set to O\bOn\bn, readline will convert characters with  the  eighth
               bit set to an ASCII key sequence by stripping the eighth bit and
-              prefixing  an  escape  character (in effect, using escape as the
+              prefixing an escape character (in effect, using  escape  as  the
               _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx).
        d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline will inhibit word completion.  Completion
-              characters  will  be  inserted into the line as if they had been
+              characters will be inserted into the line as if  they  had  been
               mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
        e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
               Controls whether readline begins with a set of key bindings sim-
-              ilar to _\be_\bm_\ba_\bc_\bs or _\bv_\bi.  e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or
+              ilar to _\bE_\bm_\ba_\bc_\bs or _\bv_\bi.  e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or
               v\bvi\bi.
        e\bec\bch\bho\bo-\b-c\bco\bon\bnt\btr\bro\bol\bl-\b-c\bch\bha\bar\bra\bac\bct\bte\ber\brs\bs (\b(O\bOn\bn)\b)
-              When set to O\bOn\bn, on operating systems that indicate they  support
+              When  set to O\bOn\bn, on operating systems that indicate they support
               it, readline echoes a character corresponding to a signal gener-
               ated from the keyboard.
        e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
               When set to O\bOn\bn, readline will try to enable the application key-
-              pad  when  it  is  called.  Some systems need this to enable the
+              pad when it is called.  Some systems need  this  to  enable  the
               arrow keys.
        e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by (\b(O\bOn\bn)\b)
-              When set to O\bOn\bn, readline will try to enable  any  meta  modifier
-              key  the  terminal claims to support when it is called.  On many
+              When  set  to  O\bOn\bn, readline will try to enable any meta modifier
+              key the terminal claims to support when it is called.   On  many
               terminals, the meta key is used to send eight-bit characters.
        e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
-              If set  to  o\bon\bn,  tilde  expansion  is  performed  when  readline
+              If  set  to  O\bOn\bn,  tilde  expansion  is  performed  when readline
               attempts word completion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
-              If  set  to  o\bon\bn, the history code attempts to place point at the
-              same location on each history line retrieved with  p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+              If set to O\bOn\bn, the history code attempts to place  point  at  the
+              same  location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
               t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(0\b0)\b)
-              Set  the  maximum number of history entries saved in the history
+              Set the maximum number of history entries saved in  the  history
               list.  If set to zero, the number of entries in the history list
               is not limited.
        h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
-              When  set  to  O\bOn\bn, makes readline use a single line for display,
+              When set to O\bOn\bn, makes readline use a single  line  for  display,
               scrolling the input horizontally on a single screen line when it
-              becomes  longer  than the screen width rather than wrapping to a
+              becomes longer than the screen width rather than wrapping  to  a
               new line.
        i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will enable eight-bit input (that is,  it
-              will  not  strip  the  high  bit  from the characters it reads),
+              If  set to O\bOn\bn, readline will enable eight-bit input (that is, it
+              will not strip the high  bit  from  the  characters  it  reads),
               regardless of what the terminal claims it can support.  The name
               m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for this variable.
        i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b(`\b``\b`C\bC-\b-[\b[C\bC-\b-J\bJ'\b''\b')\b)
-              The  string  of  characters that should terminate an incremental
-              search without subsequently executing the character  as  a  com-
-              mand.   If this variable has not been given a value, the charac-
+              The string of characters that should  terminate  an  incremental
+              search  without  subsequently  executing the character as a com-
+              mand.  If this variable has not been given a value, the  charac-
               ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
        k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
-              Set the current readline keymap.  The set of valid keymap  names
-              is  _\be_\bm_\ba_\bc_\bs_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
-              _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd;  _\be_\bm_\ba_\bc_\b is
-              equivalent  to  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is _\be_\bm_\ba_\bc_\bs; the
+              Set  the current readline keymap.  The set of valid keymap names
+              is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+              _\bm_\ba_\bn_\bd,  and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+              equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is  _\be_\bm_\ba_\bc_\bs;  the
               value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
        m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
               If set to O\bOn\bn, completed directory names have a slash appended.
        m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, history lines that have  been  modified  are  dis-
+              If  set  to  O\bOn\bn,  history lines that have been modified are dis-
               played with a preceding asterisk (*\b*).
        m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, completed names which are symbolic links to direc-
-              tories  have  a  slash  appended  (subject  to  the   value   of
+              tories   have   a  slash  appended  (subject  to  the  value  of
               m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs).
        m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
-              This  variable,  when  set to O\bOn\bn, causes readline to match files
-              whose names begin with a  `.'  (hidden  files)  when  performing
-              filename  completion.   If  set  to O\bOf\bff\bf, the leading `.' must be
+              This variable, when set to O\bOn\bn, causes readline  to  match  files
+              whose  names  begin  with  a  `.' (hidden files) when performing
+              filename completion.  If set to O\bOf\bff\bf, the  leading  `.'  must  be
               supplied by the user in the filename to be completed.
+       m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
+              If  set to O\bOn\bn, menu completion displays the common prefix of the
+              list of possible completions (which may be empty) before cycling
+              through the list.
        o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will display characters with  the  eighth
+              If  set  to O\bOn\bn, readline will display characters with the eighth
               bit set directly rather than as a meta-prefixed escape sequence.
        p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to  dis-
+              If  set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
               play a screenful of possible completions at a time.
        p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn,  readline will display completions with matches
-              sorted horizontally in alphabetical order, rather than down  the
+              If set to O\bOn\bn, readline will  display  completions  with  matches
+              sorted  horizontally in alphabetical order, rather than down the
               screen.
        r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
-              If  set  to  o\bon\bn, readline will undo all changes to history lines
+              If set to O\bOn\bn, readline will undo all changes  to  history  lines
               before returning when a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be is executed.  By default, his-
-              tory  lines  may  be  modified  and retain individual undo lists
+              tory lines may be modified  and  retain  individual  undo  lists
               across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
        s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
-              This alters the default behavior of  the  completion  functions.
-              If set to o\bon\bn, words which have more than one possible completion
-              cause the matches to be listed immediately  instead  of  ringing
+              This  alters  the  default behavior of the completion functions.
+              If set to O\bOn\bn, words which have more than one possible completion
+              cause  the  matches  to be listed immediately instead of ringing
               the bell.
        s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
-              This  alters the default behavior of the completion functions in
-              a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs.  If set to o\bon\bn, words
-              which  have more than one possible completion without any possi-
-              ble partial completion (the possible completions don't  share  a
-              common  prefix)  cause  the  matches  to  be  listed immediately
+              This alters the default behavior of the completion functions  in
+              a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs.  If set to O\bOn\bn, words
+              which have more than one possible completion without any  possi-
+              ble  partial  completion (the possible completions don't share a
+              common prefix)  cause  the  matches  to  be  listed  immediately
               instead of ringing the bell.
        s\bsk\bki\bip\bp-\b-c\bco\bom\bmp\bpl\ble\bet\bte\bed\bd-\b-t\bte\bex\bxt\bt (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, this alters the default completion  behavior  when
-              inserting  a  single match into the line.  It's only active when
-              performing completion in the middle  of  a  word.   If  enabled,
-              readline  does  not  insert  characters from the completion that
-              match characters after point in the  word  being  completed,  so
+              If  set  to O\bOn\bn, this alters the default completion behavior when
+              inserting a single match into the line.  It's only  active  when
+              performing  completion  in  the  middle  of a word.  If enabled,
+              readline does not insert characters  from  the  completion  that
+              match  characters  after  point  in the word being completed, so
               portions of the word following the cursor are not duplicated.
        v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
-              If  set to O\bOn\bn, a character denoting a file's type as reported by
-              _\bs_\bt_\ba_\bt(2) is appended to the filename when listing  possible  com-
+              If set to O\bOn\bn, a character denoting a file's type as reported  by
+              _\bs_\bt_\ba_\bt(2)  is  appended to the filename when listing possible com-
               pletions.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
-       Readline  implements  a  facility  similar in spirit to the conditional
-       compilation features of the C preprocessor which  allows  key  bindings
-       and  variable  settings  to be performed as the result of tests.  There
+       Readline implements a facility similar in  spirit  to  the  conditional
+       compilation  features  of  the C preprocessor which allows key bindings
+       and variable settings to be performed as the result  of  tests.   There
        are four parser directives used.
 
-       $\b$i\bif\bf    The $\b$i\bif\bf construct allows bindings to be made based on the  edit-
-              ing  mode,  the  terminal  being  used, or the application using
-              readline.  The text of the test extends to the end of the  line;
+       $\b$i\bif\bf    The  $\b$i\bif\bf construct allows bindings to be made based on the edit-
+              ing mode, the terminal being  used,  or  the  application  using
+              readline.   The text of the test extends to the end of the line;
               no characters are required to isolate it.
 
-              m\bmo\bod\bde\be   The  m\bmo\bod\bde\be=\b=  form  of  the  $\b$i\bif\bf  directive is used to test
-                     whether readline is in emacs or vi  mode.   This  may  be
-                     used  in  conjunction  with  the  s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for
-                     instance, to  set  bindings  in  the  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\b and
-                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\b keymaps  only  if readline is starting out in
+              m\bmo\bod\bde\be   The m\bmo\bod\bde\be=\b= form of the  $\b$i\bif\bf  directive  is  used  to  test
+                     whether  readline  is  in  emacs or vi mode.  This may be
+                     used in conjunction with  the  s\bse\bet\bt  k\bke\bey\bym\bma\bap\bp  command,  for
+                     instance,  to  set  bindings  in  the  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
+                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bkeymaps only if readline is  starting  out  in
                      emacs mode.
 
-              t\bte\ber\brm\bm   The t\bte\ber\brm\bm=\b= form may be used to  include  terminal-specific
+              t\bte\ber\brm\bm   The  t\bte\ber\brm\bm=\b=  form may be used to include terminal-specific
                      key bindings, perhaps to bind the key sequences output by
                      the terminal's function keys.  The word on the right side
                      of the =\b= is tested against the both full name of the ter-
-                     minal and the portion of the  terminal  name  before  the
-                     first  -\b-.  This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
+                     minal  and  the  portion  of the terminal name before the
+                     first -\b-.  This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and  _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
                      for instance.
 
               a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn
                      The a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn construct is used to include application-
                      specific  settings.   Each  program  using  the  readline
-                     library sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an  initialization
+                     library  sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
                      file can test for a particular value.  This could be used
-                     to bind key sequences to functions useful for a  specific
-                     program.   For instance, the following command adds a key
-                     sequence that quotes the  current  or  previous  word  in
-                     Bash:
+                     to  bind key sequences to functions useful for a specific
+                     program.  For instance, the following command adds a  key
+                     sequence  that  quotes  the  current  or previous word in
+                     b\bba\bas\bsh\bh:
 
                      $\b$i\bif\bf Bash
                      # Quote the current or previous word
@@ -2978,51 +2983,51 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               test fails.
 
        $\b$i\bin\bnc\bcl\blu\bud\bde\be
-              This  directive takes a single filename as an argument and reads
-              commands and bindings from that file.  For example, the  follow-
+              This directive takes a single filename as an argument and  reads
+              commands  and bindings from that file.  For example, the follow-
               ing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
 
               $\b$i\bin\bnc\bcl\blu\bud\bde\be  _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
 
    S\bSe\bea\bar\brc\bch\bhi\bin\bng\bg
-       Readline  provides  commands  for searching through the command history
+       Readline provides commands for searching through  the  command  history
        (see H\bHI\bIS\bST\bTO\bOR\bRY\bY below) for lines containing a specified string.  There are
        two search modes: _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
 
-       Incremental  searches  begin  before  the  user has finished typing the
-       search string.  As each character of the search string is typed,  read-
+       Incremental searches begin before the  user  has  finished  typing  the
+       search  string.  As each character of the search string is typed, read-
        line displays the next entry from the history matching the string typed
-       so far.  An incremental search requires  only  as  many  characters  as
-       needed  to  find  the desired history entry.  The characters present in
-       the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate  an
+       so  far.   An  incremental  search  requires only as many characters as
+       needed to find the desired history entry.  The  characters  present  in
+       the  value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate an
        incremental search.  If that variable has not been assigned a value the
-       Escape and Control-J characters will terminate an  incremental  search.
-       Control-G  will  abort  an  incremental search and restore the original
-       line.  When the search is terminated, the history entry containing  the
+       Escape  and  Control-J characters will terminate an incremental search.
+       Control-G will abort an incremental search  and  restore  the  original
+       line.   When the search is terminated, the history entry containing the
        search string becomes the current line.
 
-       To  find  other matching entries in the history list, type Control-S or
-       Control-R as appropriate.  This will search backward or forward in  the
-       history  for  the  next  entry matching the search string typed so far.
-       Any other key sequence bound to a readline command will  terminate  the
-       search  and  execute that command.  For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be will termi-
+       To find other matching entries in the history list, type  Control-S  or
+       Control-R  as appropriate.  This will search backward or forward in the
+       history for the next entry matching the search  string  typed  so  far.
+       Any  other  key sequence bound to a readline command will terminate the
+       search and execute that command.  For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be  will  termi-
        nate the search and accept the line, thereby executing the command from
        the history list.
 
        Readline remembers the last incremental search string.  If two Control-
-       Rs are typed without any intervening characters defining a  new  search
+       Rs  are  typed without any intervening characters defining a new search
        string, any remembered search string is used.
 
-       Non-incremental  searches read the entire search string before starting
-       to search for matching history lines.  The search string may  be  typed
+       Non-incremental searches read the entire search string before  starting
+       to  search  for matching history lines.  The search string may be typed
        by the user or be part of the contents of the current line.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bom\bmm\bma\ban\bnd\bd N\bNa\bam\bme\bes\bs
-       The  following  is  a list of the names of the commands and the default
+       The following is a list of the names of the commands  and  the  default
        key sequences to which they are bound.  Command names without an accom-
        panying key sequence are unbound by default.  In the following descrip-
-       tions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers  to
-       a  cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command.  The text between the
+       tions,  _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers to
+       a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command.  The text between  the
        point and mark is referred to as the _\br_\be_\bg_\bi_\bo_\bn.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
@@ -3038,17 +3043,17 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Move forward to the end of the next word.  Words are composed of
               alphanumeric characters (letters and digits).
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
-              Move  back  to the start of the current or previous word.  Words
+              Move back to the start of the current or previous  word.   Words
               are composed of alphanumeric characters (letters and digits).
        s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move forward to the end of the next word.  Words  are  delimited
+              Move  forward  to the end of the next word.  Words are delimited
               by non-quoted shell metacharacters.
        s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move  back  to the start of the current or previous word.  Words
+              Move back to the start of the current or previous  word.   Words
               are delimited by non-quoted shell metacharacters.
        c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
-              Clear the screen leaving the current line  at  the  top  of  the
-              screen.   With  an  argument,  refresh  the current line without
+              Clear  the  screen  leaving  the  current line at the top of the
+              screen.  With an argument,  refresh  the  current  line  without
               clearing the screen.
        r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
               Refresh the current line.
@@ -3056,132 +3061,132 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
        a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
               Accept the line regardless of where the cursor is.  If this line
-              is  non-empty, add it to the history list according to the state
-              of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable.  If the line is a modified  history
+              is non-empty, add it to the history list according to the  state
+              of  the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable.  If the line is a modified history
               line, then restore the history line to its original state.
        p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
               Fetch the previous command from the history list, moving back in
               the list.
        n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
-              Fetch the next command from the history list, moving forward  in
+              Fetch  the next command from the history list, moving forward in
               the list.
        b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
               Move to the first line in the history.
        e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
-              Move  to  the end of the input history, i.e., the line currently
+              Move to the end of the input history, i.e., the  line  currently
               being entered.
        r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
-              Search backward starting at the current  line  and  moving  `up'
-              through  the  history  as  necessary.   This  is  an incremental
+              Search  backward  starting  at  the current line and moving `up'
+              through the  history  as  necessary.   This  is  an  incremental
               search.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
-              Search forward starting at the current line  and  moving  `down'
-              through  the  history  as  necessary.   This  is  an incremental
+              Search  forward  starting  at the current line and moving `down'
+              through the  history  as  necessary.   This  is  an  incremental
               search.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
               Search backward through the history starting at the current line
-              using  a  non-incremental  search  for  a string supplied by the
+              using a non-incremental search for  a  string  supplied  by  the
               user.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
-              Search forward  through  the  history  using  a  non-incremental
+              Search  forward  through  the  history  using  a non-incremental
               search for a string supplied by the user.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
-              Search  forward through the history for the string of characters
-              between the start of the current line and the point.  This is  a
+              Search forward through the history for the string of  characters
+              between  the start of the current line and the point.  This is a
               non-incremental search.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
               Search backward through the history for the string of characters
-              between the start of the current line and the point.  This is  a
+              between  the start of the current line and the point.  This is a
               non-incremental search.
        y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
-              Insert  the  first argument to the previous command (usually the
+              Insert the first argument to the previous command  (usually  the
               second word on the previous line) at point.  With an argument _\bn,
-              insert  the _\bnth word from the previous command (the words in the
-              previous command  begin  with  word  0).   A  negative  argument
+              insert the _\bnth word from the previous command (the words in  the
+              previous  command  begin  with  word  0).   A  negative argument
               inserts the _\bnth word from the end of the previous command.  Once
-              the argument _\bn is computed, the argument is extracted as if  the
+              the  argument _\bn is computed, the argument is extracted as if the
               "!_\bn" history expansion had been specified.
        y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
-              Insert  the last argument to the previous command (the last word
-              of the  previous  history  entry).   With  an  argument,  behave
-              exactly  like  y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg.   Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
-              move back through the history list, inserting the last  argument
+              Insert the last argument to the previous command (the last  word
+              of  the  previous  history  entry).   With  an  argument, behave
+              exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg.  Successive  calls  to  y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
+              move  back through the history list, inserting the last argument
               of each line in turn.  The history expansion facilities are used
-              to extract the last argument, as if the "!$"  history  expansion
+              to  extract  the last argument, as if the "!$" history expansion
               had been specified.
        s\bsh\bhe\bel\bll\bl-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-C\bC-\b-e\be)\b)
               Expand the line as the shell does.  This performs alias and his-
               tory expansion as well as all of the shell word expansions.  See
-              H\bHI\bIS\bST\bTO\bOR\bRY\b E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
+              H\bHI\bIS\bST\bTO\bOR\bRY\bE\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history  expansion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-^\b^)\b)
-              Perform history expansion on  the  current  line.   See  H\bHI\bIS\bST\bTO\bOR\bRY\bY
+              Perform  history  expansion  on  the  current line.  See H\bHI\bIS\bST\bTO\bOR\bRY\bY
               E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
        m\bma\bag\bgi\bic\bc-\b-s\bsp\bpa\bac\bce\be
-              Perform  history  expansion  on  the  current  line and insert a
+              Perform history expansion on  the  current  line  and  insert  a
               space.  See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history
               expansion.
        a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
-              Perform  alias expansion on the current line.  See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
+              Perform alias expansion on the current line.  See A\bAL\bLI\bIA\bAS\bSE\bES\b above
               for a description of alias expansion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-a\ban\bnd\bd-\b-a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
               Perform history and alias expansion on the current line.
        i\bin\bns\bse\ber\brt\bt-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
               A synonym for y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg.
        o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
-              Accept the current line for execution and fetch  the  next  line
-              relative  to the current line from the history for editing.  Any
+              Accept  the  current  line for execution and fetch the next line
+              relative to the current line from the history for editing.   Any
               argument is ignored.
        e\bed\bdi\bit\bt-\b-a\ban\bnd\bd-\b-e\bex\bxe\bec\bcu\but\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(C\bC-\b-x\bxC\bC-\b-e\be)\b)
-              Invoke an editor on the current command line,  and  execute  the
-              result  as  shell  commands.   B\bBa\bas\bsh\bh  attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL,
+              Invoke  an  editor  on the current command line, and execute the
+              result as shell commands.   B\bBa\bas\bsh\bh  attempts  to  invoke  $\b$V\bVI\bIS\bSU\bUA\bAL\bL,
               $\b$E\bED\bDI\bIT\bTO\bOR\bR, and _\be_\bm_\ba_\bc_\bs as the editor, in that order.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
-              Delete the character at point.  If point is at the beginning  of
-              the  line,  there  are  no  characters in the line, and the last
+              Delete  the character at point.  If point is at the beginning of
+              the line, there are no characters in  the  line,  and  the  last
               character typed was not bound to d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br, then return E\bEO\bOF\bF.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
-              Delete the character behind the cursor.  When  given  a  numeric
+              Delete  the  character  behind the cursor.  When given a numeric
               argument, save the deleted text on the kill ring.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
-              Delete  the  character under the cursor, unless the cursor is at
+              Delete the character under the cursor, unless the cursor  is  at
               the end of the line, in which case the character behind the cur-
               sor is deleted.
        q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
-              Add  the next character typed to the line verbatim.  This is how
+              Add the next character typed to the line verbatim.  This is  how
               to insert characters like C\bC-\b-q\bq, for example.
        t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-v\bv T\bTA\bAB\bB)\b)
               Insert a tab character.
        s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, .\b..\b..\b.)\b)
               Insert the character typed.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
-              Drag the character before point forward over  the  character  at
-              point,  moving point forward as well.  If point is at the end of
-              the line, then this transposes the two characters before  point.
+              Drag  the  character  before point forward over the character at
+              point, moving point forward as well.  If point is at the end  of
+              the  line, then this transposes the two characters before point.
               Negative arguments have no effect.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
-              Drag  the  word  before  point past the word after point, moving
-              point over that word as well.  If point is at  the  end  of  the
+              Drag the word before point past the  word  after  point,  moving
+              point  over  that  word  as well.  If point is at the end of the
               line, this transposes the last two words on the line.
        u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
-              Uppercase  the  current  (or  following)  word.  With a negative
+              Uppercase the current (or  following)  word.   With  a  negative
               argument, uppercase the previous word, but do not move point.
        d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
-              Lowercase the current (or  following)  word.   With  a  negative
+              Lowercase  the  current  (or  following)  word.  With a negative
               argument, lowercase the previous word, but do not move point.
        c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
-              Capitalize  the  current  (or  following) word.  With a negative
+              Capitalize the current (or following)  word.   With  a  negative
               argument, capitalize the previous word, but do not move point.
        o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
-              Toggle overwrite mode.  With an explicit positive numeric  argu-
+              Toggle  overwrite mode.  With an explicit positive numeric argu-
               ment, switches to overwrite mode.  With an explicit non-positive
               numeric argument, switches to insert mode.  This command affects
-              only  e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently.  Each call
+              only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently.  Each  call
               to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode.  In overwrite mode, charac-
-              ters  bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather than
-              pushing the text  to  the  right.   Characters  bound  to  b\bba\bac\bck\bk-\b-
-              w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\b replace  the  character  before  point  with a
+              ters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather  than
+              pushing  the  text  to  the  right.   Characters  bound to b\bba\bac\bck\bk-\b-
+              w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\breplace  the  character  before  point  with  a
               space.  By default, this command is unbound.
 
    K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
@@ -3190,31 +3195,31 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
               Kill backward to the beginning of the line.
        u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
-              Kill backward from point to the  beginning  of  the  line.   The
+              Kill  backward  from  point  to  the beginning of the line.  The
               killed text is saved on the kill-ring.
        k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
-              Kill  all  characters on the current line, no matter where point
+              Kill all characters on the current line, no matter  where  point
               is.
        k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill from point to the end of the current word,  or  if  between
-              words,  to  the  end  of the next word.  Word boundaries are the
+              Kill  from  point  to the end of the current word, or if between
+              words, to the end of the next word.   Word  boundaries  are  the
               same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill the word behind point.  Word boundaries  are  the  same  as
+              Kill  the  word  behind  point.  Word boundaries are the same as
               those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill  from  point  to the end of the current word, or if between
-              words, to the end of the next word.   Word  boundaries  are  the
+              Kill from point to the end of the current word,  or  if  between
+              words,  to  the  end  of the next word.  Word boundaries are the
               same as those used by s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill  the  word  behind  point.  Word boundaries are the same as
+              Kill the word behind point.  Word boundaries  are  the  same  as
               those used by s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
-              Kill the word behind point, using white space as a  word  bound-
+              Kill  the  word behind point, using white space as a word bound-
               ary.  The killed text is saved on the kill-ring.
        u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
-              Kill  the  word  behind  point,  using white space and the slash
-              character as the word boundaries.  The killed text is  saved  on
+              Kill the word behind point, using  white  space  and  the  slash
+              character  as  the word boundaries.  The killed text is saved on
               the kill-ring.
        d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
               Delete all spaces and tabs around point.
@@ -3223,65 +3228,65 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
               Copy the text in the region to the kill buffer.
        c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy  the word before point to the kill buffer.  The word bound-
+              Copy the word before point to the kill buffer.  The word  bound-
               aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy the word following point to  the  kill  buffer.   The  word
+              Copy  the  word  following  point  to the kill buffer.  The word
               boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
               Yank the top of the kill ring into the buffer at point.
        y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
-              Rotate  the kill ring, and yank the new top.  Only works follow-
+              Rotate the kill ring, and yank the new top.  Only works  follow-
               ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
 
    N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
        d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, .\b..\b..\b.,\b, M\bM-\b--\b-)\b)
-              Add this digit to the argument already accumulating, or start  a
+              Add  this digit to the argument already accumulating, or start a
               new argument.  M-- starts a negative argument.
        u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
-              This  is another way to specify an argument.  If this command is
-              followed by one or more digits, optionally with a leading  minus
-              sign,  those digits define the argument.  If the command is fol-
-              lowed by digits, executing  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt  again  ends  the
-              numeric  argument, but is otherwise ignored.  As a special case,
-              if this command is immediately followed by a character  that  is
-              neither  a  digit or minus sign, the argument count for the next
-              command is multiplied by four.  The argument count is  initially
-              one,  so  executing this function the first time makes the argu-
+              This is another way to specify an argument.  If this command  is
+              followed  by one or more digits, optionally with a leading minus
+              sign, those digits define the argument.  If the command is  fol-
+              lowed  by  digits,  executing  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the
+              numeric argument, but is otherwise ignored.  As a special  case,
+              if  this  command is immediately followed by a character that is
+              neither a digit or minus sign, the argument count for  the  next
+              command  is multiplied by four.  The argument count is initially
+              one, so executing this function the first time makes  the  argu-
               ment count four, a second time makes the argument count sixteen,
               and so on.
 
    C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
        c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
-              Attempt  to  perform  completion on the text before point.  B\bBa\bas\bsh\bh
+              Attempt to perform completion on the text  before  point.   B\bBa\bas\bsh\bh
               attempts completion treating the text as a variable (if the text
-              begins  with  $\b$), username (if the text begins with ~\b~), hostname
-              (if the text begins with @\b@), or command (including  aliases  and
+              begins with $\b$), username (if the text begins with  ~\b~),  hostname
+              (if  the  text begins with @\b@), or command (including aliases and
               functions) in turn.  If none of these produces a match, filename
               completion is attempted.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
               List the possible completions of the text before point.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
-              Insert all completions of the text before point that would  have
+              Insert  all completions of the text before point that would have
               been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
-              Similar  to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
-              a single match from the list of possible completions.   Repeated
-              execution  of  m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be  steps through the list of possible
-              completions, inserting each match in turn.  At the  end  of  the
+              Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed  with
+              a  single match from the list of possible completions.  Repeated
+              execution of m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the  list  of  possible
+              completions,  inserting  each  match in turn.  At the end of the
               list of completions, the bell is rung (subject to the setting of
               b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and the original text is restored.  An argument of _\bn
-              moves  _\bn  positions  forward  in the list of matches; a negative
-              argument may be used to move backward through  the  list.   This
-              command  is  intended  to  be  bound  to  T\bTA\bAB\bB, but is unbound by
-              default.\bc\bc
-       m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-k\bkr\brd\bd
-              Identicw\bw\bal to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the  list
-              of  possible  completions,  as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
+              moves _\bn positions forward in the list  of  matches;  a  negative
+              argument  may  be  used to move backward through the list.  This
+              command is intended to be  bound  to  T\bTA\bAB\bB,  but  is  unbound  by
+              default.
+       m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
+              Identical  to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
+              of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had  been  given  a
               negative argument.  This command is unbound by default.
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
-              Deletes the character under the cursor if not at  the  beginning
-              or  end  of  the  line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  If at the end of the
+              Deletes  the  character under the cursor if not at the beginning
+              or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  If at  the  end  of  the
               line, behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.  This command
               is unbound by default.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-f\bfi\bil\ble\ben\bna\bam\bme\be (\b(M\bM-\b-/\b/)\b)
@@ -3290,213 +3295,213 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               List the possible completions of the text before point, treating
               it as a filename.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be (\b(M\bM-\b-~\b~)\b)
-              Attempt completion on the text before point, treating  it  as  a
+              Attempt  completion  on  the text before point, treating it as a
               username.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx ~\b~)\b)
               List the possible completions of the text before point, treating
               it as a username.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be (\b(M\bM-\b-$\b$)\b)
-              Attempt completion on the text before point, treating  it  as  a
+              Attempt  completion  on  the text before point, treating it as a
               shell variable.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx $\b$)\b)
               List the possible completions of the text before point, treating
               it as a shell variable.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be (\b(M\bM-\b-@\b@)\b)
-              Attempt completion on the text before point, treating  it  as  a
+              Attempt  completion  on  the text before point, treating it as a
               hostname.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx @\b@)\b)
               List the possible completions of the text before point, treating
               it as a hostname.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-!\b!)\b)
-              Attempt completion on the text before point, treating  it  as  a
-              command  name.   Command  completion  attempts to match the text
-              against  aliases,  reserved  words,   shell   functions,   shell
+              Attempt  completion  on  the text before point, treating it as a
+              command name.  Command completion attempts  to  match  the  text
+              against   aliases,   reserved   words,  shell  functions,  shell
               builtins, and finally executable filenames, in that order.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx !\b!)\b)
               List the possible completions of the text before point, treating
               it as a command name.
        d\bdy\byn\bna\bam\bmi\bic\bc-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-T\bTA\bAB\bB)\b)
-              Attempt completion on the text before point, comparing the  text
-              against  lines  from  the  history  list for possible completion
+              Attempt  completion on the text before point, comparing the text
+              against lines from the  history  list  for  possible  completion
               matches.
        d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
-              Attempt menu completion on the text before point, comparing  the
+              Attempt  menu completion on the text before point, comparing the
               text against lines from the history list for possible completion
               matches.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
               Perform filename completion and insert the list of possible com-
-              pletions  enclosed within braces so the list is available to the
+              pletions enclosed within braces so the list is available to  the
               shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
    K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
        s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
-              Begin saving the characters  typed  into  the  current  keyboard
+              Begin  saving  the  characters  typed  into the current keyboard
               macro.
        e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
               Stop saving the characters typed into the current keyboard macro
               and store the definition.
        c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
-              Re-execute the last keyboard macro defined, by making the  char-
+              Re-execute  the last keyboard macro defined, by making the char-
               acters in the macro appear as if typed at the keyboard.
 
    M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
        r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
-              Read  in  the  contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
+              Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file,  and  incorporate  any
               bindings or variable assignments found there.
        a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
-              Abort the current editing command and ring the  terminal's  bell
+              Abort  the  current editing command and ring the terminal's bell
               (subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
        d\bdo\bo-\b-u\bup\bpp\bpe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-a\ba,\b, M\bM-\b-b\bb,\b, M\bM-\b-_\bx,\b, .\b..\b..\b.)\b)
-              If  the  metafied character _\bx is lowercase, run the command that
+              If the metafied character _\bx is lowercase, run the  command  that
               is bound to the corresponding uppercase character.
        p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
               Metafy the next character typed.  E\bES\bSC\bC f\bf is equivalent to M\bMe\bet\bta\ba-\b-f\bf.
        u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
               Incremental undo, separately remembered for each line.
        r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
-              Undo  all changes made to this line.  This is like executing the
-              u\bun\bnd\bdo\bcommand enough times to return  the  line  to  its  initial
+              Undo all changes made to this line.  This is like executing  the
+              u\bun\bnd\bdo\b command  enough  times  to  return the line to its initial
               state.
        t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
               Perform tilde expansion on the current word.
        s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
-              Set  the  mark to the point.  If a numeric argument is supplied,
+              Set the mark to the point.  If a numeric argument  is  supplied,
               the mark is set to that position.
        e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
-              Swap the point with the mark.  The current  cursor  position  is
-              set  to the saved position, and the old cursor position is saved
+              Swap  the  point  with the mark.  The current cursor position is
+              set to the saved position, and the old cursor position is  saved
               as the mark.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
               A character is read and point is moved to the next occurrence of
-              that  character.   A negative count searches for previous occur-
+              that character.  A negative count searches for  previous  occur-
               rences.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
-              A character is read and point is moved to  the  previous  occur-
-              rence  of  that character.  A negative count searches for subse-
+              A  character  is  read and point is moved to the previous occur-
+              rence of that character.  A negative count searches  for  subse-
               quent occurrences.
-       s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be (\b()\b)
-              Read enough characters to consume a multi-key sequence  such  as
-              those  defined for keys like Home and End.  Such sequences begin
+       s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
+              Read  enough  characters to consume a multi-key sequence such as
+              those defined for keys like Home and End.  Such sequences  begin
               with a Control Sequence Indicator (CSI), usually ESC-[.  If this
-              sequence  is  bound  to "\[", keys producing such sequences will
-              have no effect unless explicitly bound to  a  readline  command,
-              instead  of  inserting stray characters into the editing buffer.
+              sequence is bound to "\[", keys producing  such  sequences  will
+              have  no  effect  unless explicitly bound to a readline command,
+              instead of inserting stray characters into the  editing  buffer.
               This is unbound by default, but usually bound to ESC-[.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
-              Without a numeric argument,  the  value  of  the  readline  c\bco\bom\bm-\b-
-              m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\b variable is inserted at the beginning of the current
+              Without  a  numeric  argument,  the  value  of the readline c\bco\bom\bm-\b-
+              m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bvariable is inserted at the beginning of the  current
               line.  If a numeric argument is supplied, this command acts as a
-              toggle:   if  the characters at the beginning of the line do not
-              match the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted,  other-
+              toggle:  if the characters at the beginning of the line  do  not
+              match  the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted, other-
               wise the characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn are deleted from the begin-
-              ning of the line.  In either case, the line is accepted as if  a
-              newline  had  been  typed.   The  default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
-              causes this command to make the current line  a  shell  comment.
-              If  a  numeric  argument  causes  the  comment  character  to be
+              ning  of the line.  In either case, the line is accepted as if a
+              newline had been typed.   The  default  value  of  c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
+              causes  this  command  to make the current line a shell comment.
+              If a  numeric  argument  causes  the  comment  character  to  be
               removed, the line will be executed by the shell.
        g\bgl\blo\bob\bb-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-g\bg)\b)
-              The word before point is  treated  as  a  pattern  for  pathname
-              expansion,  with  an asterisk implicitly appended.  This pattern
-              is used to generate a list of matching file names  for  possible
+              The  word  before  point  is  treated  as a pattern for pathname
+              expansion, with an asterisk implicitly appended.   This  pattern
+              is  used  to generate a list of matching file names for possible
               completions.
        g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
-              The  word  before  point  is  treated  as a pattern for pathname
-              expansion, and the list of  matching  file  names  is  inserted,
-              replacing  the  word.   If  a  numeric  argument is supplied, an
+              The word before point is  treated  as  a  pattern  for  pathname
+              expansion,  and  the  list  of  matching file names is inserted,
+              replacing the word.  If  a  numeric  argument  is  supplied,  an
               asterisk is appended before pathname expansion.
        g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
-              The list  of  expansions  that  would  have  been  generated  by
-              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\b is  displayed,  and the line is redrawn.  If a
-              numeric argument is supplied, an  asterisk  is  appended  before
+              The  list  of  expansions  that  would  have  been  generated by
+              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bis displayed, and the line is  redrawn.   If  a
+              numeric  argument  is  supplied,  an asterisk is appended before
               pathname expansion.
        d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
-              Print  all  of the functions and their key bindings to the read-
+              Print all of the functions and their key bindings to  the  read-
               line output stream.  If a numeric argument is supplied, the out-
-              put  is  formatted  in such a way that it can be made part of an
+              put is formatted in such a way that it can be made  part  of  an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
               Print all of the settable readline variables and their values to
-              the  readline output stream.  If a numeric argument is supplied,
-              the output is formatted in such a way that it can be  made  part
+              the readline output stream.  If a numeric argument is  supplied,
+              the  output  is formatted in such a way that it can be made part
               of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
-              Print  all of the readline key sequences bound to macros and the
-              strings they output.  If a numeric  argument  is  supplied,  the
+              Print all of the readline key sequences bound to macros and  the
+              strings  they  output.   If  a numeric argument is supplied, the
               output is formatted in such a way that it can be made part of an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdi\bis\bsp\bpl\bla\bay\by-\b-s\bsh\bhe\bel\bll\bl-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(C\bC-\b-x\bx C\bC-\b-v\bv)\b)
-              Display version information about the current instance of  b\bba\bas\bsh\bh.
+              Display  version information about the current instance of b\bba\bas\bsh\bh.
 
    P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-       When  word  completion  is  attempted  for an argument to a command for
-       which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has  been  defined  using
-       the  c\bco\bom\bmp\bpl\ble\bet\bte\be  builtin  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the pro-
+       When word completion is attempted for an  argument  to  a  command  for
+       which  a  completion  specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+       the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below),  the  pro-
        grammable completion facilities are invoked.
 
-       First, the command name is identified.  If  the  command  word  is  the
-       empty  string (completion attempted at the beginning of an empty line),
-       any compspec defined with the -\b-E\bE option to  c\bco\bom\bmp\bpl\ble\bet\bte\be  is  used.   If  a
-       compspec  has  been  defined  for that command, the compspec is used to
+       First,  the  command  name  is  identified.  If the command word is the
+       empty string (completion attempted at the beginning of an empty  line),
+       any  compspec  defined  with  the  -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used.  If a
+       compspec has been defined for that command, the  compspec  is  used  to
        generate the list of possible completions for the word.  If the command
-       word  is  a full pathname, a compspec for the full pathname is searched
-       for first.  If no compspec is found for the full pathname,  an  attempt
-       is  made  to find a compspec for the portion following the final slash.
-       If those searches to not result in a  compspec,  any  compspec  defined
+       word is a full pathname, a compspec for the full pathname  is  searched
+       for  first.   If no compspec is found for the full pathname, an attempt
+       is made to find a compspec for the portion following the  final  slash.
+       If  those  searches  do  not result in a compspec, any compspec defined
        with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default.
 
-       Once  a  compspec  has  been  found, it is used to generate the list of
-       matching words.  If a compspec is not found, the default  b\bba\bas\bsh\b comple-
+       Once a compspec has been found, it is used  to  generate  the  list  of
+       matching  words.   If a compspec is not found, the default b\bba\bas\bsh\bh comple-
        tion as described above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg is performed.
 
-       First,  the  actions  specified by the compspec are used.  Only matches
-       which are prefixed by the word being completed are returned.  When  the
-       -\b-f\b or -\b-d\bd option is used for filename or directory name completion, the
+       First, the actions specified by the compspec are  used.   Only  matches
+       which  are prefixed by the word being completed are returned.  When the
+       -\b-f\bor -\b-d\bd option is used for filename or directory name completion,  the
        shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE is used to filter the matches.
 
-       Any completions specified by a pathname expansion  pattern  to  the  -\b-G\bG
+       Any  completions  specified  by  a pathname expansion pattern to the -\b-G\bG
        option are generated next.  The words generated by the pattern need not
-       match the word being completed.  The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable  is  not
+       match  the  word being completed.  The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
        used to filter the matches, but the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable is used.
 
-       Next,  the string specified as the argument to the -\b-W\bW option is consid-
-       ered.  The string is first split using the characters in the  I\bIF\bFS\b spe-
-       cial  variable  as delimiters.  Shell quoting is honored.  Each word is
-       then expanded using brace expansion,  tilde  expansion,  parameter  and
-       variable  expansion, command substitution, and arithmetic expansion, as
+       Next, the string specified as the argument to the -\b-W\bW option is  consid-
+       ered.   The  string is first split using the characters in the I\bIF\bFS\bS spe-
+       cial variable as delimiters.  Shell quoting is honored.  Each  word  is
+       then  expanded  using  brace  expansion, tilde expansion, parameter and
+       variable expansion, command substitution, and arithmetic expansion,  as
        described above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN.  The results are split using the rules
        described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg.  The results of the expansion are
        prefix-matched against the word being completed, and the matching words
        become the possible completions.
 
-       After  these matches have been generated, any shell function or command
-       specified with the -\b-F\bF and -\b-C\bC options is invoked.  When the  command  or
+       After these matches have been generated, any shell function or  command
+       specified  with  the -\b-F\bF and -\b-C\bC options is invoked.  When the command or
        function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE
        variables are assigned values as described above under S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.
-       If  a  shell  function  is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
-       variables are also set.  When the function or command is  invoked,  the
-       first  argument  is  the  name of the command whose arguments are being
-       completed, the second argument is the word  being  completed,  and  the
-       third  argument  is  the word preceding the word being completed on the
-       current command  line.   No  filtering  of  the  generated  completions
-       against  the word being completed is performed; the function or command
+       If a shell function is being invoked,  the  C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS  and  C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
+       variables  are  also set.  When the function or command is invoked, the
+       first argument is the name of the command  whose  arguments  are  being
+       completed,  the  second  argument  is the word being completed, and the
+       third argument is the word preceding the word being  completed  on  the
+       current  command  line.   No  filtering  of  the  generated completions
+       against the word being completed is performed; the function or  command
        has complete freedom in generating the matches.
 
-       Any function specified with -\b-F\bF is invoked first.  The function may  use
-       any  of  the  shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn builtin described
-       below, to generate the matches.  It must put the  possible  completions
+       Any  function specified with -\b-F\bF is invoked first.  The function may use
+       any of the shell facilities, including the  c\bco\bom\bmp\bpg\bge\ben\bn  builtin  described
+       below,  to  generate the matches.  It must put the possible completions
        in the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable.
 
-       Next,  any  command specified with the -\b-C\bC option is invoked in an envi-
-       ronment equivalent to command substitution.  It should print a list  of
-       completions,  one  per  line, to the standard output.  Backslash may be
+       Next, any command specified with the -\b-C\bC option is invoked in  an  envi-
+       ronment  equivalent to command substitution.  It should print a list of
+       completions, one per line, to the standard output.   Backslash  may  be
        used to escape a newline, if necessary.
 
-       After all of the possible completions are generated, any filter  speci-
-       fied  with  the -\b-X\bX option is applied to the list.  The filter is a pat-
-       tern as used for pathname expansion; a &\b& in  the  pattern  is  replaced
-       with  the text of the word being completed.  A literal &\b& may be escaped
-       with a backslash; the backslash is removed before attempting  a  match.
-       Any  completion that matches the pattern will be removed from the list.
+       After  all of the possible completions are generated, any filter speci-
+       fied with the -\b-X\bX option is applied to the list.  The filter is  a  pat-
+       tern  as  used  for  pathname expansion; a &\b& in the pattern is replaced
+       with the text of the word being completed.  A literal &\b& may be  escaped
+       with  a  backslash; the backslash is removed before attempting a match.
+       Any completion that matches the pattern will be removed from the  list.
        A leading !\b! negates the pattern; in this case any completion not match-
        ing the pattern will be removed.
 
@@ -3504,44 +3509,44 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        added to each member of the completion list, and the result is returned
        to the readline completion code as the list of possible completions.
 
-       If  the previously-applied actions do not generate any matches, and the
-       -\b-o\bd\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied  to  c\bco\bom\bmp\bpl\ble\bet\bte\be  when  the  compspec  was
+       If the previously-applied actions do not generate any matches, and  the
+       -\b-o\b d\bdi\bir\brn\bna\bam\bme\bes\bs  option  was  supplied  to  c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was
        defined, directory name completion is attempted.
 
-       If  the  -\b-o\bo  p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
+       If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be  when  the  compspec
        was defined, directory name completion is attempted and any matches are
        added to the results of the other actions.
 
-       By  default,  if a compspec is found, whatever it generates is returned
-       to the completion code as the full set of  possible  completions.   The
+       By default, if a compspec is found, whatever it generates  is  returned
+       to  the  completion  code as the full set of possible completions.  The
        default b\bba\bas\bsh\bh completions are not attempted, and the readline default of
        filename completion is disabled.  If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was sup-
-       plied  to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
+       plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default  com-
        pletions are attempted if the compspec generates no matches.  If the -\b-o\bo
-       d\bde\bef\bfa\bau\bul\blt\b option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
-       readline's default completion will be performed if the  compspec  (and,
+       d\bde\bef\bfa\bau\bul\blt\boption was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was  defined,
+       readline's  default  completion will be performed if the compspec (and,
        if attempted, the default b\bba\bas\bsh\bh completions) generate no matches.
 
-       When  a  compspec  indicates that directory name completion is desired,
-       the programmable completion functions force readline to append a  slash
-       to  completed names which are symbolic links to directories, subject to
-       the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of  the
+       When a compspec indicates that directory name  completion  is  desired,
+       the  programmable completion functions force readline to append a slash
+       to completed names which are symbolic links to directories, subject  to
+       the  value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
        setting of the m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable.
 
-       There  is  some support for dynamically modifying completions.  This is
-       most useful when used in combination with a default  completion  speci-
-       fied  with  c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions executed as
-       completion handlers to indicate that completion should  be  retried  by
-       returning  an exit status of 124.  If a shell function returns 124, and
+       There is some support for dynamically modifying completions.   This  is
+       most  useful  when used in combination with a default completion speci-
+       fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions  executed  as
+       completion  handlers  to  indicate that completion should be retried by
+       returning an exit status of 124.  If a shell function returns 124,  and
        changes the compspec associated with the command on which completion is
-       being  attempted  (supplied  as the first argument when the function is
+       being attempted (supplied as the first argument when  the  function  is
        executed), programmable completion restarts from the beginning, with an
-       attempt  to find a new compspec for that command.  This allows a set of
-       completions to be built dynamically as completion is attempted,  rather
+       attempt to find a new compspec for that command.  This allows a set  of
+       completions  to be built dynamically as completion is attempted, rather
        than being loaded all at once.
 
-       For  instance, assuming that there is a library of compspecs, each kept
-       in a file corresponding to the  name  of  the  command,  the  following
+       For instance, assuming that there is a library of compspecs, each  kept
+       in  a  file  corresponding  to  the  name of the command, the following
        default completion function would load completions dynamically:
 
        _completion_loader()
@@ -3552,133 +3557,135 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
 
 H\bHI\bIS\bST\bTO\bOR\bRY\bY
-       When  the  -\b-o\bo  h\bhi\bis\bst\bto\bor\bry\by  option to the s\bse\bet\bt builtin is enabled, the shell
+       When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin  is  enabled,  the  shell
        provides access to the _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bh_\bi_\bs_\bt_\bo_\br_\by, the list of commands previously
-       typed.   The  value  of  the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
+       typed.  The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used  as  the  number  of
        commands to save in a history list.  The text of the last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE com-
-       mands  (default  500)  is  saved.  The shell stores each command in the
-       history list prior to parameter and variable expansion  (see  E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       above)  but after history expansion is performed, subject to the values
+       mands (default 500) is saved.  The shell stores  each  command  in  the
+       history  list  prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
+       above) but after history expansion is performed, subject to the  values
        of the shell variables H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE and H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
 
        On startup, the history is initialized from the file named by the vari-
-       able  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  The file named by the value
-       of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain  no  more  than  the
-       number  of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE.  When the his-
-       tory file is read, lines beginning with the history  comment  character
-       followed  immediately  by a digit are interpreted as timestamps for the
-       preceding history line.   These  timestamps  are  optionally  displayed
-       depending  on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.  When an inter-
-       active shell exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from  the  his-
+       able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  The file named by  the  value
+       of  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  is  truncated,  if necessary, to contain no more than the
+       number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE.  When the  his-
+       tory  file  is read, lines beginning with the history comment character
+       followed immediately by a digit are interpreted as timestamps  for  the
+       preceding  history  line.   These  timestamps  are optionally displayed
+       depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.  When an  inter-
+       active  shell  exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from the his-
        tory list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE.  If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell option is enabled (see
        the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the lines
-       are  appended  to the history file, otherwise the history file is over-
-       written.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset, or if the history file  is  unwritable,
-       the  history is not saved.  If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, time
+       are appended to the history file, otherwise the history file  is  over-
+       written.   If  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset, or if the history file is unwritable,
+       the history is not saved.  If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set,  time
        stamps are written to the history file, marked with the history comment
-       character,  so  they may be preserved across shell sessions.  This uses
+       character, so they may be preserved across shell sessions.   This  uses
        the history comment character to distinguish timestamps from other his-
        tory lines.  After saving the history, the history file is truncated to
-       contain no more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is  not  set,
+       contain  no  more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is not set,
        no truncation is performed.
 
-       The  builtin  command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may be used
+       The builtin command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may  be  used
        to list or edit and re-execute a portion of the history list.  The h\bhi\bis\bs-\b-
-       t\bto\bor\bry\b builtin  may  be  used  to display or modify the history list and
-       manipulate the history file.  When using command-line  editing,  search
-       commands  are available in each editing mode that provide access to the
+       t\bto\bor\bry\bbuiltin may be used to display or  modify  the  history  list  and
+       manipulate  the  history file.  When using command-line editing, search
+       commands are available in each editing mode that provide access to  the
        history list.
 
-       The shell allows control over which commands are saved on  the  history
+       The  shell  allows control over which commands are saved on the history
        list.  The H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables may be set to cause the
        shell to save only a subset of the commands entered.  The c\bcm\bmd\bdh\bhi\bis\bst\bt shell
-       option,  if enabled, causes the shell to attempt to save each line of a
-       multi-line command in the same history entry, adding  semicolons  where
-       necessary  to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell option
-       causes the shell to save the command with embedded newlines instead  of
+       option, if enabled, causes the shell to attempt to save each line of  a
+       multi-line  command  in the same history entry, adding semicolons where
+       necessary to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell  option
+       causes  the shell to save the command with embedded newlines instead of
        semicolons.  See the description of the s\bsh\bho\bop\bpt\bt builtin below under S\bSH\bHE\bEL\bLL\bL
        B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  for  information  on  setting  and  unsetting  shell
        options.
 
 H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       The  shell  supports a history expansion feature that is similar to the
-       history expansion in c\bcs\bsh\bh.\b.  This section describes what syntax  features
-       are  available.   This  feature  is  enabled by default for interactive
+       The shell supports a history expansion feature that is similar  to  the
+       history  expansion in c\bcs\bsh\bh.\b.  This section describes what syntax features
+       are available.  This feature is  enabled  by  default  for  interactive
        shells, and can be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  Non-interactive shells do not
        perform history expansion by default.
 
        History expansions introduce words from the history list into the input
-       stream,  making  it  easy to repeat commands, insert the arguments to a
+       stream, making it easy to repeat commands, insert the  arguments  to  a
        previous command into the current input line, or fix errors in previous
        commands quickly.
 
-       History  expansion  is  performed  immediately after a complete line is
-       read, before the shell breaks it into words.  It  takes  place  in  two
-       parts.   The  first is to determine which line from the history list to
+       History expansion is performed immediately after  a  complete  line  is
+       read,  before  the  shell  breaks it into words.  It takes place in two
+       parts.  The first is to determine which line from the history  list  to
        use during substitution.  The second is to select portions of that line
        for inclusion into the current one.  The line selected from the history
-       is the _\be_\bv_\be_\bn_\bt, and the portions of that line that  are  acted  upon  are
-       _\bw_\bo_\br_\bd_\bs.   Various  _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs  are  available  to manipulate the selected
+       is  the  _\be_\bv_\be_\bn_\bt,  and  the portions of that line that are acted upon are
+       _\bw_\bo_\br_\bd_\bs.  Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are  available  to  manipulate  the  selected
        words.  The line is broken into words in the same fashion as when read-
-       ing  input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br-separated words surrounded by
-       quotes are considered one word.  History expansions are  introduced  by
-       the  appearance  of  the  history  expansion  character,  which is !\b! by
-       default.  Only backslash (\\b\) and single quotes can  quote  the  history
+       ing input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br-separated words surrounded  by
+       quotes  are  considered one word.  History expansions are introduced by
+       the appearance of the  history  expansion  character,  which  is  !\b by
+       default.   Only  backslash  (\\b\) and single quotes can quote the history
        expansion character.
 
-       Several  characters inhibit history expansion if found immediately fol-
-       lowing the history expansion character, even if it is unquoted:  space,
-       tab,  newline,  carriage return, and =\b=.  If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is
+       Several characters inhibit history expansion if found immediately  fol-
+       lowing  the history expansion character, even if it is unquoted: space,
+       tab, newline, carriage return, and =\b=.  If the e\bex\bxt\btg\bgl\blo\bob\bb shell  option  is
        enabled, (\b( will also inhibit expansion.
 
-       Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin may  be  used  to
-       tailor  the  behavior  of  history  expansion.  If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell
+       Several  shell  options  settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
+       tailor the behavior of history  expansion.   If  the  h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\b shell
        option is enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin below), and
-       r\bre\bea\bad\bdl\bli\bin\bne\b is  being  used,  history  substitutions  are not immediately
-       passed to the shell parser.  Instead, the  expanded  line  is  reloaded
+       r\bre\bea\bad\bdl\bli\bin\bne\bis being  used,  history  substitutions  are  not  immediately
+       passed  to  the  shell  parser.  Instead, the expanded line is reloaded
        into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for further modification.  If r\bre\bea\bad\bdl\bli\bin\bne\be
-       is being used, and the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option  is  enabled,  a  failed
-       history  substitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer
-       for correction.  The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin  command  may  be
-       used  to  see what a history expansion will do before using it.  The -\b-s\bs
+       is  being  used,  and  the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed
+       history substitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing  buffer
+       for  correction.   The  -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command may be
+       used to see what a history expansion will do before using it.   The  -\b-s\bs
        option to the h\bhi\bis\bst\bto\bor\bry\by builtin may be used to add commands to the end of
-       the  history  list  without  actually  executing them, so that they are
+       the history list without actually executing  them,  so  that  they  are
        available for subsequent recall.
 
-       The shell allows control of the various characters used by the  history
+       The  shell allows control of the various characters used by the history
        expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
-       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).  The shell uses the history comment character to mark  his-
+       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).   The shell uses the history comment character to mark his-
        tory timestamps when writing the history file.
 
    E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       An  event designator is a reference to a command line entry in the his-
-       tory list.
+       An event designator is a reference to a command line entry in the  his-
+       tory  list.   Unless  the reference is absolute, events are relative to
+       the current position in the history list.
 
        !\b!      Start a history substitution, except when followed by  a  b\bbl\bla\ban\bnk\bk,
               newline,  carriage return, = or ( (when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
               is enabled using the s\bsh\bho\bop\bpt\bt builtin).
        !\b!_\bn     Refer to command line _\bn.
-       !\b!-\b-_\bn    Refer to the current command line minus _\bn.
+       !\b!-\b-_\bn    Refer to the current command minus _\bn.
        !\b!!\b!     Refer to the previous command.  This is a synonym for `!-1'.
        !\b!_\bs_\bt_\br_\bi_\bn_\bg
-              Refer to the most recent command starting with _\bs_\bt_\br_\bi_\bn_\bg.
+              Refer to the most recent command preceding the current  position
+              in the history list starting with _\bs_\bt_\br_\bi_\bn_\bg.
        !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]
-              Refer to the most recent command containing _\bs_\bt_\br_\bi_\bn_\bg.  The  trail-
-              ing ?\b? may be omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a new-
-              line.
+              Refer to the most recent command preceding the current postition
+              in the history list containing _\bs_\bt_\br_\bi_\bn_\bg.  The trailing  ?\b?  may  be
+              omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a newline.
        ^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b1^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b2^\b^
-              Quick substitution.  Repeat the last command, replacing  _\bs_\bt_\br_\bi_\bn_\bg_\b1
-              with _\bs_\bt_\br_\bi_\bn_\bg_\b2.  Equivalent to ``!!:s/_\bs_\bt_\br_\bi_\bn_\bg_\b1/_\bs_\bt_\br_\bi_\bn_\bg_\b2/'' (see M\bMo\bod\bd-\b-
-              i\bif\bfi\bie\ber\brs\bs below).
+              Quick  substitution.   Repeat  the  previous  command, replacing
+              _\bs_\bt_\br_\bi_\bn_\bg_\b1 with _\bs_\bt_\br_\bi_\bn_\bg_\b2.  Equivalent  to  ``!!:s/_\bs_\bt_\br_\bi_\bn_\bg_\b1/_\bs_\bt_\br_\bi_\bn_\bg_\b2/''
+              (see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
        !\b!#\b#     The entire command line typed so far.
 
    W\bWo\bor\brd\bd D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       Word designators are used to select desired words from the event.  A  :\b:
-       separates  the event specification from the word designator.  It may be
-       omitted if the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or  %\b%.   Words
-       are  numbered from the beginning of the line, with the first word being
-       denoted by 0 (zero).  Words are inserted into the  current  line  sepa-
+       Word  designators are used to select desired words from the event.  A :\b:
+       separates the event specification from the word designator.  It may  be
+       omitted  if  the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or %\b%.  Words
+       are numbered from the beginning of the line, with the first word  being
+       denoted  by  0  (zero).  Words are inserted into the current line sepa-
        rated by single spaces.
 
        0\b0 (\b(z\bze\ber\bro\bo)\b)
@@ -3688,17 +3695,17 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        $\b$      The last argument.
        %\b%      The word matched by the most recent `?_\bs_\bt_\br_\bi_\bn_\bg?' search.
        _\bx-\b-_\by    A range of words; `-_\by' abbreviates `0-_\by'.
-       *\b*      All  of  the words but the zeroth.  This is a synonym for `_\b1_\b-_\b$'.
-              It is not an error to use *\b* if there is just  one  word  in  the
+       *\b*      All of the words but the zeroth.  This is a synonym  for  `_\b1_\b-_\b$'.
+              It  is  not  an  error to use *\b* if there is just one word in the
               event; the empty string is returned in that case.
        x\bx*\b*     Abbreviates _\bx_\b-_\b$.
        x\bx-\b-     Abbreviates _\bx_\b-_\b$ like x\bx*\b*, but omits the last word.
 
-       If  a  word  designator is supplied without an event specification, the
+       If a word designator is supplied without an  event  specification,  the
        previous command is used as the event.
 
    M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
-       After the optional word designator, there may appear a sequence of  one
+       After  the optional word designator, there may appear a sequence of one
        or more of the following modifiers, each preceded by a `:'.
 
        h\bh      Remove a trailing file name component, leaving only the head.
@@ -3707,74 +3714,74 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        e\be      Remove all but the trailing suffix.
        p\bp      Print the new command but do not execute it.
        q\bq      Quote the substituted words, escaping further substitutions.
-       x\bx      Quote the substituted words as with q\bq, but break into  words  at
+       x\bx      Quote  the  substituted words as with q\bq, but break into words at
               b\bbl\bla\ban\bnk\bks\bs and newlines.
        s\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/
-              Substitute  _\bn_\be_\bw  for  the  first  occurrence of _\bo_\bl_\bd in the event
-              line.  Any delimiter can be used  in  place  of  /.   The  final
-              delimiter  is  optional if it is the last character of the event
-              line.  The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with a  single
-              backslash.   If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd.  A sin-
-              gle backslash will quote the &.  If _\bo_\bl_\bd is null, it  is  set  to
-              the  last  _\bo_\bl_\bd substituted, or, if no previous history substitu-
+              Substitute _\bn_\be_\bw for the first occurrence  of  _\bo_\bl_\bd  in  the  event
+              line.   Any  delimiter  can  be  used  in place of /.  The final
+              delimiter is optional if it is the last character of  the  event
+              line.   The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with a single
+              backslash.  If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd.  A  sin-
+              gle  backslash  will  quote the &.  If _\bo_\bl_\bd is null, it is set to
+              the last _\bo_\bl_\bd substituted, or, if no previous  history  substitu-
               tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]  search.
        &\b&      Repeat the previous substitution.
        g\bg      Cause changes to be applied over the entire event line.  This is
-              used  in  conjunction  with `:\b:s\bs' (e.g., `:\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/') or `:\b:&\b&'.
-              If used with `:\b:s\bs', any delimiter can be used in place of /,  and
-              the  final  delimiter is optional if it is the last character of
+              used in conjunction with `:\b:s\bs' (e.g.,  `:\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/')  or  `:\b:&\b&'.
+              If  used with `:\b:s\bs', any delimiter can be used in place of /, and
+              the final delimiter is optional if it is the last  character  of
               the event line.  An a\ba may be used as a synonym for g\bg.
-       G\bG      Apply the following `s\bs' modifier once to each word in the  event
+       G\bG      Apply  the following `s\bs' modifier once to each word in the event
               line.
 
 S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        Unless otherwise noted, each builtin command documented in this section
        as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
-       options.   The  :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not accept options
+       options.  The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not  accept  options
        and do not treat -\b--\b- specially.  The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, b\bbr\bre\bea\bak\bk, c\bco\bon\bnt\bti\bin\bnu\bue\be, l\ble\bet\bt,
-       and  s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning with -\b- with-
-       out requiring -\b--\b-.  Other builtins that accept  arguments  but  are  not
-       specified  as accepting options interpret arguments beginning with -\b- as
+       and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning with -\b with-
+       out  requiring  -\b--\b-.   Other  builtins that accept arguments but are not
+       specified as accepting options interpret arguments beginning with -\b as
        invalid options and require -\b--\b- to prevent this interpretation.
        :\b: [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              No effect; the command does nothing beyond  expanding  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
-              and  performing any specified redirections.  A zero exit code is
+              No  effect;  the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
+              and performing any specified redirections.  A zero exit code  is
               returned.
 
         .\b.  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
        s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  in  the  current  shell
-              environment  and return the exit status of the last command exe-
+              Read  and  execute  commands  from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell
+              environment and return the exit status of the last command  exe-
               cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, file
-              names  in  P\bPA\bAT\bTH\bH  are used to find the directory containing _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH  need  not  be  executable.
-              When  b\bba\bas\bsh\bh  is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current directory is
-              searched if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\b option
-              to  the  s\bsh\bho\bop\bpt\bt  builtin  command  is turned off, the P\bPA\bAT\bTH\bH is not
-              searched.  If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the  posi-
-              tional  parameters  when  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  is  executed.  Otherwise the
-              positional parameters are unchanged.  The return status  is  the
-              status  of  the  last  command exited within the script (0 if no
-              commands are executed), and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is  not  found  or
+              names in P\bPA\bAT\bTH\bH are used to find the  directory  containing  _\bf_\bi_\bl_\be_\b-
+              _\bn_\ba_\bm_\be.   The  file  searched  for in P\bPA\bAT\bTH\bH need not be executable.
+              When b\bba\bas\bsh\bh is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current  directory  is
+              searched  if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option
+              to the s\bsh\bho\bop\bpt\bt builtin command is turned  off,  the  P\bPA\bAT\bTH\bH  is  not
+              searched.   If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the posi-
+              tional parameters when  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  is  executed.   Otherwise  the
+              positional  parameters  are unchanged.  The return status is the
+              status of the last command exited within the  script  (0  if  no
+              commands  are  executed),  and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or
               cannot be read.
 
        a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
               A\bAl\bli\bia\bas\bs with no arguments or with the -\b-p\bp option prints the list of
-              aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard  output.   When
-              arguments  are supplied, an alias is defined for each _\bn_\ba_\bm_\be whose
+              aliases  in  the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output.  When
+              arguments are supplied, an alias is defined for each _\bn_\ba_\bm_\b whose
               _\bv_\ba_\bl_\bu_\be is given.  A trailing space in  _\bv_\ba_\bl_\bu_\be causes the next word
               to be checked for alias substitution when the alias is expanded.
-              For each _\bn_\ba_\bm_\be in the argument list for which no  _\bv_\ba_\bl_\bu_\be  is  sup-
-              plied,  the  name  and  value  of  the  alias is printed.  A\bAl\bli\bia\bas\bs
-              returns true unless a _\bn_\ba_\bm_\be is given for which no alias has  been
+              For  each  _\bn_\ba_\bm_\be  in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
+              plied, the name and  value  of  the  alias  is  printed.   A\bAl\bli\bia\bas\bs
+              returns  true unless a _\bn_\ba_\bm_\be is given for which no alias has been
               defined.
 
        b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Resume  each  suspended  job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
+              Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background,  as  if  it
               had been started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
-              notion  of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
-              run when job control is disabled or, when run with  job  control
-              enabled,  any  specified  _\bj_\bo_\bb_\bs_\bp_\be_\bc  was  not found or was started
+              notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0  unless
+              run  when  job control is disabled or, when run with job control
+              enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was  not  found  or  was  started
               without job control.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bV]
@@ -3783,28 +3790,28 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] _\bk_\be_\by_\bs_\be_\bq:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
        b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
-              Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind  a  key
-              sequence  to  a  r\bre\bea\bad\bdl\bli\bin\bne\be  function  or macro, or set a r\bre\bea\bad\bdl\bli\bin\bne\be
-              variable.  Each non-option argument is a  command  as  it  would
-              appear  in  _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be passed
-              as a separate argument; e.g.,  '"\C-x\C-r":  re-read-init-file'.
+              Display  current  r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
+              sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or  macro,  or  set  a  r\bre\bea\bad\bdl\bli\bin\bne\be
+              variable.   Each  non-option  argument  is a command as it would
+              appear in _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must  be  passed
+              as  a  separate argument; e.g., '"\C-x\C-r": re-read-init-file'.
               Options, if supplied, have the following meanings:
               -\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
                      Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
                      bindings.  Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
-                     _\bd_\ba_\br_\bd_\b _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
-                     and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\b is
+                     _\bd_\ba_\br_\bd_\b_\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b,  _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+                     and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
                      equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.
               -\b-l\bl     List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
-              -\b-p\bp     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  function  names and bindings in such a
+              -\b-p\bp     Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings  in  such  a
                      way that they can be re-read.
               -\b-P\bP     List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
-              -\b-s\bs     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
-                     strings  they  output  in such a way that they can be re-
+              -\b-s\bs     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
+                     strings they output in such a way that they  can  be  re-
                      read.
-              -\b-S\bS     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
+              -\b-S\bS     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
                      strings they output.
-              -\b-v\bv     Display  r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
+              -\b-v\bv     Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a  way
                      that they can be re-read.
               -\b-V\bV     List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
               -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
@@ -3816,157 +3823,157 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br _\bk_\be_\by_\bs_\be_\bq
                      Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
               -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:\b:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                     Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be  executed  whenever  _\bk_\be_\by_\bs_\be_\b is
-                     entered.   When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets
-                     the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of  the  r\bre\bea\bad\bd-\b-
-                     l\bli\bin\bne\b line  buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT variable to the
+                     Cause  _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd  to  be  executed whenever _\bk_\be_\by_\bs_\be_\bq is
+                     entered.  When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell  sets
+                     the  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  variable to the contents of the r\bre\bea\bad\bd-\b-
+                     l\bli\bin\bne\bline buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT variable  to  the
                      current location of the insertion point.  If the executed
-                     command  changes  the  value  of  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  or R\bRE\bEA\bAD\bD-\b-
-                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, those new values will  be  reflected  in  the
+                     command changes  the  value  of  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  or  R\bRE\bEA\bAD\bD-\b-
+                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT,  those  new  values  will be reflected in the
                      editing state.
 
-              The  return value is 0 unless an unrecognized option is given or
+              The return value is 0 unless an unrecognized option is given  or
               an error occurred.
 
        b\bbr\bre\bea\bak\bk [_\bn]
-              Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If  _\b is
-              specified,  break  _\bn  levels.   _\bn must be >= 1.  If _\bn is greater
-              than the number of enclosing  loops,  all  enclosing  loops  are
-              exited.   The  return value is 0 unless _\bn is not greater than or
+              Exit  from  within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If _\bn is
+              specified, break _\bn levels.  _\bn must be >= 1.   If  _\bn  is  greater
+              than  the  number  of  enclosing  loops, all enclosing loops are
+              exited.  The return value is 0 unless _\bn is not greater  than  or
               equal to 1.
 
        b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Execute the specified shell builtin, passing it  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs,  and
+              Execute  the  specified shell builtin, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
               return its exit status.  This is useful when defining a function
-              whose name is the same as a shell builtin, retaining  the  func-
+              whose  name  is the same as a shell builtin, retaining the func-
               tionality of the builtin within the function.  The c\bcd\bd builtin is
-              commonly redefined this way.  The  return  status  is  false  if
+              commonly  redefined  this  way.   The  return status is false if
               _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
 
        c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
               Returns the context of any active subroutine call (a shell func-
               tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins).  With-
               out _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source filename of
-              the current subroutine call.  If a non-negative integer is  sup-
+              the  current subroutine call.  If a non-negative integer is sup-
               plied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine name,
-              and source file corresponding to that position  in  the  current
-              execution  call  stack.  This extra information may be used, for
-              example, to print a stack trace.  The current frame is frame  0.
-              The  return  value is 0 unless the shell is not executing a sub-
-              routine call or _\be_\bx_\bp_\br does not correspond to a valid position  in
+              and  source  file  corresponding to that position in the current
+              execution call stack.  This extra information may be  used,  for
+              example,  to print a stack trace.  The current frame is frame 0.
+              The return value is 0 unless the shell is not executing  a  sub-
+              routine  call or _\be_\bx_\bp_\br does not correspond to a valid position in
               the call stack.
 
        c\bcd\bd [-\b-L\bL|[-\b-P\bP [-\b-e\be]]] [_\bd_\bi_\br]
-              Change  the  current directory to _\bd_\bi_\br.  The variable H\bHO\bOM\bME\bE is the
-              default _\bd_\bi_\br.  The variable C\bCD\bDP\bPA\bAT\bTH\bH defines the  search  path  for
-              the  directory  containing  _\bd_\bi_\br.  Alternative directory names in
-              C\bCD\bDP\bPA\bAT\bTH\bare separated by a colon (:).  A null directory  name  in
-              C\bCD\bDP\bPA\bAT\bTH\b is  the  same as the current directory, i.e., ``.\b.''.  If
-              _\bd_\bi_\bbegins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is  not  used.  The  -\b-P\bP
-              option  says  to use the physical directory structure instead of
-              following symbolic links (see also the  -\b-P\bP  option  to  the  s\bse\bet\bt
+              Change the current directory to _\bd_\bi_\br.  The variable H\bHO\bOM\bME\bE  is  the
+              default  _\bd_\bi_\br.   The  variable C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for
+              the directory containing _\bd_\bi_\br.  Alternative  directory  names  in
+              C\bCD\bDP\bPA\bAT\bTH\b are  separated by a colon (:).  A null directory name in
+              C\bCD\bDP\bPA\bAT\bTH\bis the same as the current directory,  i.e.,  ``.\b.''.   If
+              _\bd_\bi_\b begins  with  a  slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not used. The -\b-P\bP
+              option says to use the physical directory structure  instead  of
+              following  symbolic  links  (see  also  the -\b-P\bP option to the s\bse\bet\bt
               builtin command); the -\b-L\bL option forces symbolic links to be fol-
-              lowed.  If the -\b-e\be option is supplied with -\b-P\bP,  and  the  current
+              lowed.   If  the  -\b-e\be option is supplied with -\b-P\bP, and the current
               working directory cannot be successfully determined after a suc-
               cessful directory change, c\bcd\bd will return an unsuccessful status.
-              An  argument  of  -\b-  is  equivalent  to $\b$O\bOL\bLD\bDP\bPW\bWD\bD.  If a non-empty
-              directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the  first  argu-
+              An argument of -\b- is  equivalent  to  $\b$O\bOL\bLD\bDP\bPW\bWD\bD.   If  a  non-empty
+              directory  name  from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the first argu-
               ment, and the directory change is successful, the absolute path-
-              name of the new working directory is  written  to  the  standard
-              output.   The return value is true if the directory was success-
+              name  of  the  new  working directory is written to the standard
+              output.  The return value is true if the directory was  success-
               fully changed; false otherwise.
 
        c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
-              Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs  suppressing  the  normal  shell  function
-              lookup.  Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
-              executed.  If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\b is
-              performed  using  a default value for P\bPA\bAT\bTH\bH that is guaranteed to
-              find all of the standard utilities.  If  either  the  -\b-V\bV  or  -\b-v\bv
+              Run  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  with  _\ba_\br_\bg_\bs  suppressing  the normal shell function
+              lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\b are
+              executed.   If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
+              performed using a default value for P\bPA\bAT\bTH\bH that is  guaranteed  to
+              find  all  of  the  standard  utilities.  If either the -\b-V\bV or -\b-v\bv
               option is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.  The -\b-v\bv
-              option causes a single word indicating the command or file  name
+              option  causes a single word indicating the command or file name
               used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
-              more verbose description.  If the -\b-V\bV or -\b-v\bv option  is  supplied,
-              the  exit  status  is  0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not.  If
+              more  verbose  description.  If the -\b-V\bV or -\b-v\bv option is supplied,
+              the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and  1  if  not.   If
               neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be found, the exit status is 127.  Otherwise, the exit sta-
+              not be found, the exit status is 127.  Otherwise, the exit  sta-
               tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
 
        c\bco\bom\bmp\bpg\bge\ben\bn [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
-              Generate possible completion matches for _\bw_\bo_\br_\bd according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  which  may  be  any  option  accepted  by the c\bco\bom\bmp\bpl\ble\bet\bte\be
-              builtin with the exception of -\b-p\bp and -\b-r\br, and write  the  matches
-              to  the  standard  output.  When using the -\b-F\bF or -\b-C\bC options, the
-              various shell  variables  set  by  the  programmable  completion
+              Generate  possible  completion matches for _\bw_\bo_\br_\bd according to the
+              _\bo_\bp_\bt_\bi_\bo_\bns, which may  be  any  option  accepted  by  the  c\bco\bom\bmp\bpl\ble\bet\bte\be
+              builtin  with  the exception of -\b-p\bp and -\b-r\br, and write the matches
+              to the standard output.  When using the -\b-F\bF or  -\b-C\bC  options,  the
+              various  shell  variables  set  by  the  programmable completion
               facilities, while available, will not have useful values.
 
-              The  matches  will  be  generated in the same way as if the pro-
-              grammable completion code had generated  them  directly  from  a
+              The matches will be generated in the same way  as  if  the  pro-
+              grammable  completion  code  had  generated them directly from a
               completion specification with the same flags.  If _\bw_\bo_\br_\bd is speci-
               fied, only those completions matching _\bw_\bo_\br_\bd will be displayed.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               or no matches were generated.
 
-       c\bco\bom\bmp\bpl\ble\bet\bte\b [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv]  [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\b-
+       c\bco\bom\bmp\bpl\ble\bet\bte\b[-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]  [-\b-G\b _\bg_\bl_\bo_\bb_\b-
        _\bp_\ba_\bt] [-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-D\bDE\bE] [_\bn_\ba_\bm_\be ...]
-              Specify  how arguments to each _\bn_\ba_\bm_\be should be completed.  If the
-              -\b-p\boption is supplied, or if no options are  supplied,  existing
-              completion  specifications are printed in a way that allows them
+              Specify how arguments to each _\bn_\ba_\bm_\be should be completed.  If  the
+              -\b-p\b option  is supplied, or if no options are supplied, existing
+              completion specifications are printed in a way that allows  them
               to be reused as input.  The -\b-r\br option removes a completion spec-
-              ification  for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
+              ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all  com-
               pletion  specifications.   The  -\b-D\bD  option  indicates  that  the
-              remaining  options  and  actions should apply to the ``default''
-              command completion; that is, completion attempted on  a  command
-              for  which  no  completion  has previously been defined.  The -\b-E\bE
-              option indicates that the remaining options and  actions  should
-              apply  to  ``empty''  command  completion;  that  is, completion
+              remaining options and actions should apply  to  the  ``default''
+              command  completion;  that is, completion attempted on a command
+              for which no completion has previously  been  defined.   The  -\b-E\bE
+              option  indicates  that the remaining options and actions should
+              apply to  ``empty''  command  completion;  that  is,  completion
               attempted on a blank line.
 
-              The process of applying  these  completion  specifications  when
-              word  completion  is  attempted  is  described  above under P\bPr\bro\bo-\b-
+              The  process  of  applying  these completion specifications when
+              word completion is  attempted  is  described  above  under  P\bPr\bro\bo-\b-
               g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other options, if specified, have the following  meanings.   The
-              arguments  to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
-              -\b-P\band -\b-S\bS options) should be quoted to protect them from  expan-
+              Other  options,  if specified, have the following meanings.  The
+              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
+              -\b-P\b and -\b-S\bS options) should be quoted to protect them from expan-
               sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
               -\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
-                      The  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn  controls  several aspects of the comp-
-                      spec's behavior beyond the simple generation of  comple-
+                      The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects  of  the  comp-
+                      spec's  behavior beyond the simple generation of comple-
                       tions.  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
                       b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
                               Perform the rest of the default b\bba\bas\bsh\bh completions
                               if the compspec generates no matches.
-                      d\bde\bef\bfa\bau\bul\blt\bt Use readline's default  filename  completion  if
+                      d\bde\bef\bfa\bau\bul\blt\bt Use  readline's  default  filename completion if
                               the compspec generates no matches.
                       d\bdi\bir\brn\bna\bam\bme\bes\bs
-                              Perform  directory  name completion if the comp-
+                              Perform directory name completion if  the  comp-
                               spec generates no matches.
                       f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
-                              Tell readline that the compspec generates  file-
-                              names,  so  it can perform any filename-specific
-                              processing (like adding  a  slash  to  directory
-                              names,  quoting special characters, or suppress-
-                              ing trailing spaces).  Intended to be used  with
+                              Tell  readline that the compspec generates file-
+                              names, so it can perform  any  filename-specific
+                              processing  (like  adding  a  slash to directory
+                              names, quoting special characters, or  suppress-
+                              ing  trailing spaces).  Intended to be used with
                               shell functions.
-                      n\bno\bos\bsp\bpa\bac\bce\be Tell   readline  not  to  append  a  space  (the
-                              default) to words completed at the  end  of  the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell  readline  not  to  append  a  space   (the
+                              default)  to  words  completed at the end of the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After  any  matches  defined by the compspec are
-                              generated,   directory   name   completion    is
-                              attempted  and  any  matches  are  added  to the
+                              After any matches defined by  the  compspec  are
+                              generated,    directory   name   completion   is
+                              attempted and  any  matches  are  added  to  the
                               results of the other actions.
               -\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
-                      The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the  following  to  generate  a
+                      The  _\ba_\bc_\bt_\bi_\bo_\bn  may  be  one of the following to generate a
                       list of possible completions:
                       a\bal\bli\bia\bas\bs   Alias names.  May also be specified as -\b-a\ba.
                       a\bar\brr\bra\bay\byv\bva\bar\br
                               Array variable names.
                       b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
-                      b\bbu\bui\bil\blt\bti\bin\bn Names  of  shell  builtin commands.  May also be
+                      b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands.   May  also  be
                               specified as -\b-b\bb.
                       c\bco\bom\bmm\bma\ban\bnd\bd Command names.  May also be specified as -\b-c\bc.
                       d\bdi\bir\bre\bec\bct\bto\bor\bry\by
@@ -3974,7 +3981,7 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       d\bdi\bis\bsa\bab\bbl\ble\bed\bd
                               Names of disabled shell builtins.
                       e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
-                      e\bex\bxp\bpo\bor\brt\bt  Names of exported shell variables.  May also  be
+                      e\bex\bxp\bpo\bor\brt\bt  Names  of exported shell variables.  May also be
                               specified as -\b-e\be.
                       f\bfi\bil\ble\be    File names.  May also be specified as -\b-f\bf.
                       f\bfu\bun\bnc\bct\bti\bio\bon\bn
@@ -3983,17 +3990,17 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
                               Help topics as accepted by the h\bhe\bel\blp\bp builtin.
                       h\bho\bos\bst\btn\bna\bam\bme\be
-                              Hostnames,  as  taken from the file specified by
+                              Hostnames, as taken from the file  specified  by
                               the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
-                      j\bjo\bob\bb     Job names, if job control is active.   May  also
+                      j\bjo\bob\bb     Job  names,  if job control is active.  May also
                               be specified as -\b-j\bj.
-                      k\bke\bey\byw\bwo\bor\brd\bd Shell  reserved words.  May also be specified as
+                      k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words.  May also be specified  as
                               -\b-k\bk.
                       r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
                       s\bse\ber\brv\bvi\bic\bce\be Service names.  May also be specified as -\b-s\bs.
-                      s\bse\bet\bto\bop\bpt\bt  Valid  arguments  for  the  -\b-o\bo option to the s\bse\bet\bt
+                      s\bse\bet\bto\bop\bpt\bt  Valid arguments for the -\b-o\bo  option  to  the  s\bse\bet\bt
                               builtin.
-                      s\bsh\bho\bop\bpt\bt   Shell option names  as  accepted  by  the  s\bsh\bho\bop\bpt\bt
+                      s\bsh\bho\bop\bpt\bt   Shell  option  names  as  accepted  by the s\bsh\bho\bop\bpt\bt
                               builtin.
                       s\bsi\big\bgn\bna\bal\bl  Signal names.
                       s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
@@ -4002,173 +4009,173 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Names of all shell variables.  May also be spec-
                               ified as -\b-v\bv.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\bis executed in a subshell environment,  and  its
                       output is used as the possible completions.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
-                      shell  environment.  When it finishes, the possible com-
-                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+                      shell environment.  When it finishes, the possible  com-
+                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The  pathname  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
+                      The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
                       generate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
+                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
-                      special  variable as delimiters, and each resultant word
-                      is expanded.  The possible completions are  the  members
-                      of  the  resultant  list which match the word being com-
+                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
+                      special variable as delimiters, and each resultant  word
+                      is  expanded.   The possible completions are the members
+                      of the resultant list which match the  word  being  com-
                       pleted.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
                       It is applied to the list of possible completions gener-
-                      ated by the preceding options and  arguments,  and  each
-                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
-                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
-                      case,  any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
-
-              The return value is true unless an invalid option  is  supplied,
-              an  option  other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
-              ment, an attempt is made to remove  a  completion  specification
+                      ated  by  the  preceding options and arguments, and each
+                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
+                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+                      case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is  removed.
+
+              The  return  value is true unless an invalid option is supplied,
+              an option other than -\b-p\bp or -\b-r\br is supplied without a  _\bn_\ba_\bm_\b argu-
+              ment,  an  attempt  is made to remove a completion specification
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
               Modify  completion  options  for  each  _\bn_\ba_\bm_\be  according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  or  for the currently-executing completion if no _\bn_\ba_\bm_\bes
-              are supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display  the  completion
-              options  for  each _\bn_\ba_\bm_\be or the current completion.  The possible
-              values of _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the  c\bco\bom\bmp\bpl\ble\bet\bte\b builtin
-              described  above.   The  -\b-D\bD  option indicates that the remaining
+              _\bo_\bp_\bt_\bi_\bo_\bns, or for the currently-executing completion if  no  _\bn_\ba_\bm_\bes
+              are  supplied.   If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion
+              options for each _\bn_\ba_\bm_\be or the current completion.   The  possible
+              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin
+              described above.  The -\b-D\bD option  indicates  that  the  remaining
               options should apply to the ``default'' command completion; that
-              is,  completion  attempted  on a command for which no completion
-              has previously been defined.  The -\b-E\bE option indicates  that  the
-              remaining  options should apply to ``empty'' command completion;
+              is, completion attempted on a command for  which  no  completion
+              has  previously  been defined.  The -\b-E\bE option indicates that the
+              remaining options should apply to ``empty'' command  completion;
               that is, completion attempted on a blank line.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
-              loop.  _\bn must be >= 1.  If _\bn  is  greater  than  the  number  of
-              enclosing  loops,  the  last  enclosing  loop (the ``top-level''
+              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
+              loop.   _\bn  must  be  >=  1.   If _\bn is greater than the number of
+              enclosing loops, the  last  enclosing  loop  (the  ``top-level''
               loop) is resumed.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
-              given then display the values of variables.  The -\b-p\bp option  will
+              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
+              given  then display the values of variables.  The -\b-p\bp option will
               display the attributes and values of each _\bn_\ba_\bm_\be.  When -\b-p\bp is used
               with _\bn_\ba_\bm_\be arguments, additional options are ignored.  When -\b-p\bp is
-              supplied  without _\bn_\ba_\bm_\be arguments, it will display the attributes
-              and values of all variables having the attributes  specified  by
-              the  additional  options.  If no other options are supplied with
-              -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all  shell
-              variables.   The  -\b-f\bf  option  will restrict the display to shell
+              supplied without _\bn_\ba_\bm_\be arguments, it will display the  attributes
+              and  values  of all variables having the attributes specified by
+              the additional options.  If no other options are  supplied  with
+              -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all shell
+              variables.  The -\b-f\bf option will restrict  the  display  to  shell
               functions.  The -\b-F\bF option inhibits the display of function defi-
-              nitions;  only the function name and attributes are printed.  If
-              the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled  using  s\bsh\bho\bop\bpt\bt,  the  source
+              nitions; only the function name and attributes are printed.   If
+              the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  shell  option  is enabled using s\bsh\bho\bop\bpt\bt, the source
               file name and line number where the function is defined are dis-
               played as well.  The -\b-F\bF option implies -\b-f\bf.  The -\b-g\bg option forces
-              variables  to  be  created or modified at the global scope, even
-              when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored  in
-              all  other cases.  The following options can be used to restrict
-              output to variables with the  specified  attribute  or  to  give
+              variables to be created or modified at the  global  scope,  even
+              when  d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored in
+              all other cases.  The following options can be used to  restrict
+              output  to  variables  with  the  specified attribute or to give
               variables attributes:
-              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
+                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
                      the variable is assigned a value.
-              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
-                     characters are converted to lower-case.   The  upper-case
+              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
+                     characters  are  converted to lower-case.  The upper-case
                      attribute is disabled.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
-              -\b-t\bt     Give each _\bn_\ba_\bm_\be the  _\bt_\br_\ba_\bc_\be  attribute.   Traced  functions
-                     inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from the calling
-                     shell.  The trace attribute has no  special  meaning  for
+              -\b-t\bt     Give  each  _\bn_\ba_\bm_\be  the  _\bt_\br_\ba_\bc_\be attribute.  Traced functions
+                     inherit the D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from  the  calling
+                     shell.   The  trace  attribute has no special meaning for
                      variables.
-              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
-                     characters are converted to upper-case.   The  lower-case
+              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
+                     characters  are  converted to upper-case.  The lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes  for  export  to  subsequent commands via the
+              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export  to  subsequent  commands  via  the
                      environment.
 
-              Using `+' instead of `-' turns off the attribute  instead,  with
+              Using  `+'  instead of `-' turns off the attribute instead, with
               the exceptions that +\b+a\ba may not be used to destroy an array vari-
-              able and +\b+r\br will not remove the readonly attribute.   When  used
+              able  and  +\b+r\br will not remove the readonly attribute.  When used
               in a function, makes each _\bn_\ba_\bm_\be local, as with the l\blo\boc\bca\bal\bl command,
-              unless the -\b-g\bgP\bP o\bop\bpt\bti\bio\bon\bn i\bis\bs s\bsu\bup\bpp\bpl\bli\bie\bed\bd,\b, I\bIf\bf a\ba v\bva\bar\bri\bia\bab\bbl\ble\be  n\bna\bam\bme\be  i\bis\b f\bfo\bol\bl-\b-
+              unless  the  -\b-g\bgP\bP  o\bop\bpt\bti\bio\bon\bn i\bis\bs s\bsu\bup\bpp\bpl\bli\bie\bed\bd,\b, I\bIf\bf a\ba v\bva\bar\bri\bia\bab\bbl\ble\be n\bna\bam\bme\be i\bis\bs f\bfo\bol\bl-\b-
               l\blo\bow\bwe\bed\bd b\bby\by =\b=_\bv_\ba_\bl_\bu_\be,\b, t\bth\bhe\be v\bva\bal\blu\bue\be o\bof\bf t\bth\bhe\be v\bva\bar\bri\bia\bab\bbl\ble\be i\bis\bs s\bse\bet\bt t\bto\bo _\bv_\ba_\bl_\bu_\be.\b.  T\bTh\bhe\be
-              r\bre\bet\btu\bur\brn\bv\bva\bal\blu\bue\be i\bis\bs 0\b0 u\bun\bnl\ble\bes\bss\bs a\ban\bn i\bin\bnv\bva\bal\bli\bid\bd o\bop\bpt\bti\bio\bon\bn  i\bis\bs  e\ben\bnc\bco\bou\bun\bnt\bte\ber\bre\bed\bd,\b a\ban\bn
-              a\bat\btt\bte\bem\bmp\bpt\b i\bis\bs  m\bma\bad\bde\be  t\bto\bo d\bde\bef\bfi\bin\bne\be a\ba f\bfu\bun\bnc\bct\bti\bio\bon\bn u\bus\bsi\bin\bng\bg `\b``\b`-\b-f\bf f\bfo\boo\bo=\b=b\bba\bar\br'\b''\b',\b, a\ban\bn
-              a\bat\btt\bte\bem\bmp\bpt\bi\bis\bs m\bma\bad\bde\be t\bto\bo a\bas\bss\bsi\big\bgn\bn a\ba v\bva\bal\blu\bue\be t\bto\bo  a\ba  r\bre\bea\bad\bdo\bon\bnl\bly\by  v\bva\bar\bri\bia\bab\bbl\ble\be,\b a\ban\bn
-              a\bat\btt\bte\bem\bmp\bpt\b i\bis\bs  m\bma\bad\bde\be t\bto\bo a\bas\bss\bsi\big\bgn\bn a\ba v\bva\bal\blu\bue\be t\bto\bo a\ban\bn a\bar\brr\bra\bay\by v\bva\bar\bri\bia\bab\bbl\ble\be w\bwi\bit\bth\bho\bou\but\bt
-              u\bus\bsi\bin\bng\bt\bth\bhe\be c\bco\bom\bmp\bpo\bou\bun\bnd\bd a\bas\bss\bsi\big\bgn\bnm\bme\ben\bnt\bt s\bsy\byn\bnt\bta\bax\bx (\b(s\bse\bee\be A\bAr\brr\bra\bay\bys\bs above), one  of
+              r\bre\bet\btu\bur\brn\b v\bva\bal\blu\bue\be  i\bis\bs  0\b0 u\bun\bnl\ble\bes\bss\bs a\ban\bn i\bin\bnv\bva\bal\bli\bid\bd o\bop\bpt\bti\bio\bon\bn i\bis\bs e\ben\bnc\bco\bou\bun\bnt\bte\ber\bre\bed\bd,\b, a\ban\bn
+              a\bat\btt\bte\bem\bmp\bpt\bi\bis\bs m\bma\bad\bde\be t\bto\bo d\bde\bef\bfi\bin\bne\be a\ba f\bfu\bun\bnc\bct\bti\bio\bon\bn u\bus\bsi\bin\bng\bg  `\b``\b`-\b-f\bf  f\bfo\boo\bo=\b=b\bba\bar\br'\b''\b',\b a\ban\bn
+              a\bat\btt\bte\bem\bmp\bpt\b i\bis\bs  m\bma\bad\bde\be  t\bto\bo  a\bas\bss\bsi\big\bgn\bn a\ba v\bva\bal\blu\bue\be t\bto\bo a\ba r\bre\bea\bad\bdo\bon\bnl\bly\by v\bva\bar\bri\bia\bab\bbl\ble\be,\b, a\ban\bn
+              a\bat\btt\bte\bem\bmp\bpt\bi\bis\bs m\bma\bad\bde\be t\bto\bo a\bas\bss\bsi\big\bgn\bn a\ba v\bva\bal\blu\bue\be t\bto\bo a\ban\bn a\bar\brr\bra\bay\by  v\bva\bar\bri\bia\bab\bbl\ble\b w\bwi\bit\bth\bho\bou\but\bt
+              u\bus\bsi\bin\bng\b t\bth\bhe\be c\bco\bom\bmp\bpo\bou\bun\bnd\bd a\bas\bss\bsi\big\bgn\bnm\bme\ben\bnt\bt s\bsy\byn\bnt\bta\bax\bx (\b(s\bse\bee\be A\bAr\brr\bra\bay\bys\bs above), one of
               the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, an attempt is made
-              to turn off readonly status for a readonly variable, an  attempt
-              is  made  to  turn off array status for an array variable, or an
+              to  turn off readonly status for a readonly variable, an attempt
+              is made to turn off array status for an array  variable,  or  an
               attempt is made to display a non-existent function with -\b-f\bf.
 
        d\bdi\bir\brs\bs [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b] [\b[-\b-c\bcl\blp\bpv\bv]\b]
-              Without options,  displays  the  list  of  currently  remembered
-              directories.   The  default  display  is  on  a single line with
-              directory names separated by spaces.  Directories are  added  to
-              the  list  with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd command removes
+              Without  options,  displays  the  list  of  currently remembered
+              directories.  The default display  is  on  a  single  line  with
+              directory  names  separated by spaces.  Directories are added to
+              the list with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd  command  removes
               entries from the list.
               +\b+_\bn     Displays the _\bnth entry counting from the left of the list
                      shown by d\bdi\bir\brs\bs when invoked without options, starting with
                      zero.
-              -\b-_\bn     Displays the _\bnth entry counting from  the  right  of  the
+              -\b-_\bn     Displays  the  _\bnth  entry  counting from the right of the
                      list shown by d\bdi\bir\brs\bs when invoked without options, starting
                      with zero.
               -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
                      entries.
-              -\b-l\bl     Produces  a  longer  listing;  the default listing format
+              -\b-l\bl     Produces a longer listing;  the  default  listing  format
                      uses a tilde to denote the home directory.
               -\b-p\bp     Print the directory stack with one entry per line.
-              -\b-v\bv     Print the directory stack with one entry per  line,  pre-
+              -\b-v\bv     Print  the  directory stack with one entry per line, pre-
                      fixing each entry with its index in the stack.
 
-              The  return value is 0 unless an invalid option is supplied or _\bn
+              The return value is 0 unless an invalid option is supplied or  _\bn
               indexes beyond the end of the directory stack.
 
        d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from  the  table  of
-              active  jobs.   If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba nor -\b-r\br
-              is supplied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.   If
+              Without  options,  each  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from the table of
+              active jobs.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba  nor  -\b-r\br
+              is  supplied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If
               the -\b-h\bh option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the ta-
-              ble, but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if  the
-              shell  receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither
-              the -\b-a\ba nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb  is  used.
+              ble,  but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the
+              shell receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and  neither
+              the  -\b-a\ba  nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.
               If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means to remove or mark
-              all jobs; the -\b-r\br option without  a  _\bj_\bo_\bb_\bs_\bp_\be_\bc  argument  restricts
-              operation  to running jobs.  The return value is 0 unless a _\bj_\bo_\bb_\b-
+              all  jobs;  the  -\b-r\br  option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts
+              operation to running jobs.  The return value is 0 unless a  _\bj_\bo_\bb_\b-
               _\bs_\bp_\be_\bc does not specify a valid job.
 
        e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
-              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
+              Output  the  _\ba_\br_\bgs,  separated  by spaces, followed by a newline.
               The return status is always 0.  If -\b-n\bn is specified, the trailing
-              newline is suppressed.  If the -\b-e\be option is  given,  interpreta-
-              tion  of  the following backslash-escaped characters is enabled.
-              The -\b-E\bE option disables the interpretation of these escape  char-
-              acters,  even  on systems where they are interpreted by default.
-              The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used to  dynamically  determine
-              whether  or not e\bec\bch\bho\bo expands these escape characters by default.
-              e\bec\bch\bho\bdoes not interpret -\b--\b- to mean the  end  of  options.   e\bec\bch\bho\bo
+              newline  is  suppressed.  If the -\b-e\be option is given, interpreta-
+              tion of the following backslash-escaped characters  is  enabled.
+              The  -\b-E\bE option disables the interpretation of these escape char-
+              acters, even on systems where they are interpreted  by  default.
+              The  x\bxp\bpg\bg_\b_e\bec\bch\bho\bo  shell option may be used to dynamically determine
+              whether or not e\bec\bch\bho\bo expands these escape characters by  default.
+              e\bec\bch\bho\b does  not  interpret  -\b--\b- to mean the end of options.  e\bec\bch\bho\bo
               interprets the following escape sequences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -4181,190 +4188,190 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
+              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
+              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
+              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the Unicode (ISO/IEC 10646) character whose value is  the
+                     the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable  and disable builtin shell commands.  Disabling a builtin
+              Enable and disable builtin shell commands.  Disabling a  builtin
               allows a disk command which has the same name as a shell builtin
-              to  be  executed without specifying a full pathname, even though
-              the shell normally searches for builtins before  disk  commands.
-              If  -\b-n\bn  is  used,  each  _\bn_\ba_\bm_\be  is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
+              to be executed without specifying a full pathname,  even  though
+              the  shell  normally searches for builtins before disk commands.
+              If -\b-n\bn is used, each  _\bn_\ba_\bm_\be  is  disabled;  otherwise,  _\bn_\ba_\bm_\be_\b are
               enabled.  For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
-              instead  of  the  shell builtin version, run ``enable -n test''.
-              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
+              instead of the shell builtin version, run  ``enable  -n  test''.
+              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
-              The -\b-d\bd option will delete a builtin previously loaded  with  -\b-f\bf.
+              The  -\b-d\bd  option will delete a builtin previously loaded with -\b-f\bf.
               If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,
               a list of shell builtins is printed.  With no other option argu-
-              ments,  the  list consists of all enabled shell builtins.  If -\b-n\bn
-              is supplied, only disabled builtins are printed.  If -\b-a\ba is  sup-
-              plied,  the  list printed includes all builtins, with an indica-
-              tion of whether or not each is enabled.  If -\b-s\bs is supplied,  the
-              output  is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The return
-              value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there  is  an
+              ments, the list consists of all enabled shell builtins.   If  -\b-n\bn
+              is  supplied, only disabled builtins are printed.  If -\b-a\ba is sup-
+              plied, the list printed includes all builtins, with  an  indica-
+              tion  of whether or not each is enabled.  If -\b-s\bs is supplied, the
+              output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The  return
+              value  is  0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
               error loading a new builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
-              mand.  This command is then read and executed by the shell,  and
-              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
+              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
+              mand.   This command is then read and executed by the shell, and
+              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
-              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
+              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
+              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
-              ning  of  the  zeroth  argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what
+              ning of the zeroth argument passed to  _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   This  is  what
               _\bl_\bo_\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
-              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
+              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be executed for some reason, a non-interactive shell exits,
-              unless the shell option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in  which  case  it
-              returns  failure.   An  interactive shell returns failure if the
+              not be executed for some reason, a non-interactive shell  exits,
+              unless  the  shell  option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case it
+              returns failure.  An interactive shell returns  failure  if  the
               file cannot be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redi-
               rections take effect in the current shell, and the return status
-              is 0.  If there is a redirection error, the return status is  1.
+              is  0.  If there is a redirection error, the return status is 1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
+              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
-              ronment of subsequently executed commands.  If the -\b-f\bf option  is
-              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
-              if the -\b-p\bp option is supplied, a  list  of  all  names  that  are
-              exported  in  this  shell  is printed.  The -\b-n\bn option causes the
-              export property to be removed from each  _\bn_\ba_\bm_\be.   If  a  variable
-              name  is  followed by =_\bw_\bo_\br_\bd, the value of the variable is set to
-              _\bw_\bo_\br_\bd.  e\bex\bxp\bpo\bor\brt\bt returns an exit status  of  0  unless  an  invalid
-              option  is  encountered,  one  of the _\bn_\ba_\bm_\be_\bs is not a valid shell
+              The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the  envi-
+              ronment  of subsequently executed commands.  If the -\b-f\bf option is
+              given, the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given,  or
+              if  the  -\b-p\bp  option  is  supplied,  a list of all names that are
+              exported in this shell is printed.  The  -\b-n\bn  option  causes  the
+              export  property  to  be  removed from each _\bn_\ba_\bm_\be.  If a variable
+              name is followed by =_\bw_\bo_\br_\bd, the value of the variable is  set  to
+              _\bw_\bo_\br_\bd.   e\bex\bxp\bpo\bor\brt\bt  returns  an  exit  status of 0 unless an invalid
+              option is encountered, one of the _\bn_\ba_\bm_\be_\bs is  not  a  valid  shell
               variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
               tion.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              Fix  Command.  In the first form, a range of commands from _\bf_\bi_\br_\bs_\bt
-              to _\bl_\ba_\bs_\bt is selected from the history list.  _\bF_\bi_\br_\bs_\bt and  _\bl_\ba_\bs_\b may
-              be  specified  as a string (to locate the last command beginning
-              with that string) or as a number  (an  index  into  the  history
+              Fix Command.  In the first form, a range of commands from  _\bf_\bi_\br_\bs_\bt
+              to  _\bl_\ba_\bs_\bt  is selected from the history list.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may
+              be specified as a string (to locate the last  command  beginning
+              with  that  string)  or  as  a number (an index into the history
               list, where a negative number is used as an offset from the cur-
               rent command number).  If _\bl_\ba_\bs_\bt is not specified it is set to the
-              current  command  for  listing (so that ``fc -l -10'' prints the
+              current command for listing (so that ``fc -l  -10''  prints  the
               last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If _\bf_\bi_\br_\bs_\bt is not spec-
-              ified  it is set to the previous command for editing and -16 for
+              ified it is set to the previous command for editing and -16  for
               listing.
 
-              The -\b-n\bn option suppresses the command numbers when listing.   The
-              -\b-r\b option reverses the order of the commands.  If the -\b-l\bl option
-              is given, the commands are listed on  standard  output.   Other-
-              wise,  the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
-              those commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the  F\bFC\bCE\bED\bDI\bIT\bT
-              variable  is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not set.
-              If neither variable is set, _\bv_\bi is used.  When  editing  is  com-
+              The  -\b-n\bn option suppresses the command numbers when listing.  The
+              -\b-r\boption reverses the order of the commands.  If the -\b-l\b option
+              is  given,  the  commands are listed on standard output.  Other-
+              wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file  containing
+              those  commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
+              variable is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not  set.
+              If  neither  variable  is set, _\bv_\bi is used.  When editing is com-
               plete, the edited commands are echoed and executed.
 
-              In  the  second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
-              of _\bp_\ba_\bt is replaced by _\br_\be_\bp.  A useful alias to use with  this  is
-              ``r="fc  -s"'',  so  that  typing ``r cc'' runs the last command
+              In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
+              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  A useful alias to use with this is
+              ``r="fc -s"'', so that typing ``r cc''  runs  the  last  command
               beginning with ``cc'' and typing ``r'' re-executes the last com-
               mand.
 
-              If  the  first  form  is  used,  the return value is 0 unless an
-              invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt  specify  history
-              lines  out  of  range.  If the -\b-e\be option is supplied, the return
+              If the first form is used, the  return  value  is  0  unless  an
+              invalid  option  is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+              lines out of range.  If the -\b-e\be option is  supplied,  the  return
               value is the value of the last command executed or failure if an
               error occurs with the temporary file of commands.  If the second
-              form is used, the return status is that of the  command  re-exe-
-              cuted,  unless  _\bc_\bm_\bd  does  not  specify a valid history line, in
+              form  is  used, the return status is that of the command re-exe-
+              cuted, unless _\bc_\bm_\bd does not specify  a  valid  history  line,  in
               which case f\bfc\bc returns failure.
 
        f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
-              Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the  current  job.
+              Resume  _\bj_\bo_\bb_\bs_\bp_\be_\bc  in the foreground, and make it the current job.
               If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
-              is used.  The return value is that of the  command  placed  into
-              the  foreground,  or failure if run when job control is disabled
+              is  used.   The  return value is that of the command placed into
+              the foreground, or failure if run when job control  is  disabled
               or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
-              ify  a  valid  job  or  _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+              ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies  a  job  that  was  started
               without job control.
 
        g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg_\bs]
-              g\bge\bet\bto\bop\bpt\bts\bis used by shell procedures to parse positional  parame-
-              ters.   _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  contains  the  option characters to be recog-
-              nized; if a character is followed by  a  colon,  the  option  is
-              expected  to have an argument, which should be separated from it
-              by white space.  The colon and question mark characters may  not
-              be  used as option characters.  Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs
-              places the next option in the shell variable _\bn_\ba_\bm_\be,  initializing
+              g\bge\bet\bto\bop\bpt\bts\b is used by shell procedures to parse positional parame-
+              ters.  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option  characters  to  be  recog-
+              nized;  if  a  character  is  followed by a colon, the option is
+              expected to have an argument, which should be separated from  it
+              by  white space.  The colon and question mark characters may not
+              be used as option characters.  Each time it is invoked,  g\bge\bet\bto\bop\bpt\bts\bs
+              places  the next option in the shell variable _\bn_\ba_\bm_\be, initializing
               _\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
               be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to
-              1  each  time  the  shell or a shell script is invoked.  When an
-              option requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that  argument  into
-              the  variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automati-
-              cally; it must be  manually  reset  between  multiple  calls  to
+              1 each time the shell or a shell script  is  invoked.   When  an
+              option  requires  an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into
+              the variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\b automati-
+              cally;  it  must  be  manually  reset  between multiple calls to
               g\bge\bet\bto\bop\bpt\bts\bs within the same shell invocation if a new set of parame-
               ters is to be used.
 
-              When the end of options is encountered,  g\bge\bet\bto\bop\bpt\bts\bs  exits  with  a
-              return  value  greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of
-              the first non-option argument, and n\bna\bam\bme\be is set to ?.
+              When  the  end  of  options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a
+              return value greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the  index  of
+              the first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
+              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
               arguments are given in _\ba_\br_\bg_\bs, g\bge\bet\bto\bop\bpt\bts\bs parses those instead.
 
-              g\bge\bet\bto\bop\bpt\bts\b can  report errors in two ways.  If the first character
-              of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error  reporting  is  used.   In
-              normal  operation  diagnostic  messages are printed when invalid
-              options or missing option arguments  are  encountered.   If  the
-              variable  O\bOP\bPT\bTE\bER\bRR\bR  is  set  to  0, no error messages will be dis-
+              g\bge\bet\bto\bop\bpt\bts\bcan report errors in two ways.  If the  first  character
+              of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
+              normal operation diagnostic messages are  printed  when  invalid
+              options  or  missing  option  arguments are encountered.  If the
+              variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
 
               If an invalid option is seen, g\bge\bet\bto\bop\bpt\bts\bs places ? into _\bn_\ba_\bm_\be and, if
-              not silent, prints an  error  message  and  unsets  O\bOP\bPT\bTA\bAR\bRG\bG.   If
-              g\bge\bet\bto\bop\bpt\bts\b is  silent,  the  option  character  found is placed in
+              not  silent,  prints  an  error  message  and unsets O\bOP\bPT\bTA\bAR\bRG\bG.  If
+              g\bge\bet\bto\bop\bpt\bts\bis silent, the  option  character  found  is  placed  in
               O\bOP\bPT\bTA\bAR\bRG\bG and no diagnostic message is printed.
 
-              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
-              a  question  mark  (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
-              diagnostic message is printed.  If g\bge\bet\bto\bop\bpt\bts\bs  is  silent,  then  a
-              colon  (:\b:)  is  placed  in  _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
+              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+              a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is  unset,  and  a
+              diagnostic  message  is  printed.   If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
+              colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG  is  set  to  the  option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
+              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
               Each time h\bha\bas\bsh\bh is invoked, the full pathname of the command _\bn_\ba_\bm_\be
-              is  determined  by searching the directories in $\b$P\bPA\bAT\bTH\bH and remem-
+              is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH  and  remem-
               bered.  Any previously-remembered pathname is discarded.  If the
               -\b-p\bp option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              is used as the full file name of the  command.   The  -\b-r\b option
-              causes  the  shell  to  forget all remembered locations.  The -\b-d\bd
-              option causes the shell to forget  the  remembered  location  of
-              each  _\bn_\ba_\bm_\be.   If the -\b-t\bt option is supplied, the full pathname to
-              which each _\bn_\ba_\bm_\be corresponds is printed.  If multiple _\bn_\ba_\bm_\b argu-
-              ments  are  supplied  with  -\b-t\bt,  the  _\bn_\ba_\bm_\be is printed before the
-              hashed full pathname.  The -\b-l\bl option causes output  to  be  dis-
+              is  used  as  the  full file name of the command.  The -\b-r\br option
+              causes the shell to forget all  remembered  locations.   The  -\b-d\bd
+              option  causes  the  shell  to forget the remembered location of
+              each _\bn_\ba_\bm_\be.  If the -\b-t\bt option is supplied, the full  pathname  to
+              which  each _\bn_\ba_\bm_\be corresponds is printed.  If multiple _\bn_\ba_\bm_\be argu-
+              ments are supplied with -\b-t\bt,  the  _\bn_\ba_\bm_\be  is  printed  before  the
+              hashed  full  pathname.   The -\b-l\bl option causes output to be dis-
               played in a format that may be reused as input.  If no arguments
-              are given, or if only -\b-l\bl is supplied, information  about  remem-
-              bered  commands  is printed.  The return status is true unless a
+              are  given,  or if only -\b-l\bl is supplied, information about remem-
+              bered commands is printed.  The return status is true  unless  a
               _\bn_\ba_\bm_\be is not found or an invalid option is supplied.
 
        h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
-              Display helpful information about builtin commands.  If  _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is  specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and  shell  control
+              Display  helpful information about builtin commands.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
+              is specified, h\bhe\bel\blp\bp gives detailed help on all commands  matching
+              _\bp_\ba_\bt_\bt_\be_\br_\bn;  otherwise  help for all the builtins and shell control
               structures is printed.
               -\b-d\bd     Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
               -\b-m\bm     Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
@@ -4380,44 +4387,44 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg _\b._\b._\b.]
               With no options, display the command history list with line num-
               bers.  Lines listed with a *\b* have been modified.  An argument of
-              _\blists only the last _\bn lines.  If the shell variable  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
-              F\bFO\bOR\bRM\bMA\bAT\b is  set  and not null, it is used as a format string for
-              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each  dis-
-              played  history  entry.  No intervening blank is printed between
-              the formatted time stamp and the history line.  If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b is
-              supplied,  it  is  used as the name of the history file; if not,
-              the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied,  have  the
+              _\b lists only the last _\bn lines.  If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+              F\bFO\bOR\bRM\bMA\bAT\bis set and not null, it is used as a  format  string  for
+              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  to display the time stamp associated with each dis-
+              played history entry.  No intervening blank is  printed  between
+              the  formatted  time stamp and the history line.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
+              supplied, it is used as the name of the history  file;  if  not,
+              the  value  of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied, have the
               following meanings:
               -\b-c\bc     Clear the history list by deleting all the entries.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
                      Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.
-              -\b-a\ba     Append  the  ``new'' history lines (history lines entered
-                     since the beginning of the current b\bba\bas\bsh\bh session)  to  the
+              -\b-a\ba     Append the ``new'' history lines (history  lines  entered
+                     since  the  beginning of the current b\bba\bas\bsh\bh session) to the
                      history file.
-              -\b-n\bn     Read  the history lines not already read from the history
-                     file into the current  history  list.   These  are  lines
-                     appended  to  the history file since the beginning of the
+              -\b-n\bn     Read the history lines not already read from the  history
+                     file  into  the  current  history  list.  These are lines
+                     appended to the history file since the beginning  of  the
                      current b\bba\bas\bsh\bh session.
               -\b-r\br     Read the contents of the history file and use them as the
                      current history.
-              -\b-w\bw     Write  the current history to the history file, overwrit-
+              -\b-w\bw     Write the current history to the history file,  overwrit-
                      ing the history file's contents.
-              -\b-p\bp     Perform history substitution on the  following  _\ba_\br_\bg_\b and
-                     display  the  result  on  the  standard output.  Does not
-                     store the results in the history list.  Each _\ba_\br_\bg must  be
+              -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
+                     display the result on  the  standard  output.   Does  not
+                     store  the results in the history list.  Each _\ba_\br_\bg must be
                      quoted to disable normal history expansion.
-              -\b-s\bs     Store  the  _\ba_\br_\bg_\bs  in  the history list as a single entry.
-                     The last command in the history list  is  removed  before
+              -\b-s\bs     Store the _\ba_\br_\bg_\bs in the history list  as  a  single  entry.
+                     The  last  command  in the history list is removed before
                      the _\ba_\br_\bg_\bs are added.
 
-              If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
-              tion associated with each history entry is written to  the  his-
-              tory  file, marked with the history comment character.  When the
-              history file is read, lines beginning with the  history  comment
-              character  followed  immediately  by  a digit are interpreted as
+              If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time  stamp  informa-
+              tion  associated  with each history entry is written to the his-
+              tory file, marked with the history comment character.  When  the
+              history  file  is read, lines beginning with the history comment
+              character followed immediately by a  digit  are  interpreted  as
               timestamps for the previous history line.  The return value is 0
-              unless  an  invalid option is encountered, an error occurs while
-              reading or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt  is  sup-
+              unless an invalid option is encountered, an error  occurs  while
+              reading  or  writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt is sup-
               plied as an argument to -\b-d\bd, or the history expansion supplied as
               an argument to -\b-p\bp fails.
 
@@ -4426,195 +4433,195 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-n\bn     Display  information  only  about  jobs that have changed
-                     status since the user was last notified of their  status.
-              -\b-p\bp     List  only  the  process  ID  of  the job's process group
+              -\b-n\bn     Display information only about  jobs  that  have  changed
+                     status  since the user was last notified of their status.
+              -\b-p\bp     List only the process  ID  of  the  job's  process  group
                      leader.
               -\b-r\br     Restrict output to running jobs.
               -\b-s\bs     Restrict output to stopped jobs.
 
-              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to  information  about
-              that  job.   The  return status is 0 unless an invalid option is
+              If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
+              that job.  The return status is 0 unless an  invalid  option  is
               encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
 
               If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
-              _\bc_\bo_\bm_\bm_\ba_\bn_\b or  _\ba_\br_\bg_\bs  with  the corresponding process group ID, and
+              _\bc_\bo_\bm_\bm_\ba_\bn_\bor _\ba_\br_\bg_\bs with the corresponding  process  group  ID,  and
               executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd passing it _\ba_\br_\bg_\bs, returning its exit status.
 
        k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
        k\bki\bil\bll\bl -\b-l\bl [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
-              Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc  or  _\bs_\bi_\bg_\bn_\bu_\bm  to  the  processes
-              named  by  _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
-              signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix)  or
-              a  signal  number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
-              present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl  lists  the
-              signal  names.   If any arguments are supplied when -\b-l\bl is given,
-              the names of the signals  corresponding  to  the  arguments  are
+              Send  the  signal  named  by  _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
+              named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either  a  case-insensitive
+              signal  name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
+              a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  not
+              present,  then  S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl lists the
+              signal names.  If any arguments are supplied when -\b-l\bl  is  given,
+              the  names  of  the  signals  corresponding to the arguments are
               listed, and the return status is 0.  The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
-              -\b-l\bis a number specifying either a signal  number  or  the  exit
-              status  of  a process terminated by a signal.  k\bki\bil\bll\bl returns true
-              if at least one signal was successfully sent,  or  false  if  an
+              -\b-l\b is  a  number  specifying either a signal number or the exit
+              status of a process terminated by a signal.  k\bki\bil\bll\bl  returns  true
+              if  at  least  one  signal was successfully sent, or false if an
               error occurs or an invalid option is encountered.
 
        l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
               Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).  If the last _\ba_\br_\bg evaluates  to  0,  l\ble\bet\bt
+              M\bME\bET\bTI\bIC\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  above).   If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
               returns 1; 0 is returned otherwise.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              For  each  argument, a local variable named _\bn_\ba_\bm_\be is created, and
-              assigned _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the  options  accepted
+              For each argument, a local variable named _\bn_\ba_\bm_\be is  created,  and
+              assigned  _\bv_\ba_\bl_\bu_\be.   The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
               by d\bde\bec\bcl\bla\bar\bre\be.  When l\blo\boc\bca\bal\bl is used within a function, it causes the
-              variable _\bn_\ba_\bm_\be to have a visible scope restricted to  that  func-
+              variable  _\bn_\ba_\bm_\be  to have a visible scope restricted to that func-
               tion and its children.  With no operands, l\blo\boc\bca\bal\bl writes a list of
-              local variables to the standard output.  It is an error  to  use
+              local  variables  to the standard output.  It is an error to use
               l\blo\boc\bca\bal\bl when not within a function.  The return status is 0 unless
-              l\blo\boc\bca\bal\bis used outside a function, an invalid _\bn_\ba_\bm_\be  is  supplied,
+              l\blo\boc\bca\bal\b is  used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
               or _\bn_\ba_\bm_\be is a readonly variable.
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\b [-\b-n\bn  _\bc_\bo_\bu_\bn_\bt]  [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+       m\bma\bap\bpf\bfi\bil\ble\b[-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu  _\bf_\bd]  [-\b-C\b _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
        [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-       r\bre\bea\bad\bda\bar\brr\bra\bay\b [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+       r\bre\bea\bad\bda\bar\brr\bra\bay\b[-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\b _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
        [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-              Read  lines from the standard input into the indexed array vari-
-              able _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is  sup-
-              plied.   The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if
+              Read lines from the standard input into the indexed array  vari-
+              able  _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is sup-
+              plied.  The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options,  if
               supplied, have the following meanings:
-              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
+              -\b-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
                      copied.
-              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
+              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
               -\b-t\bt     Remove a trailing newline from each line read.
-              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
+              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
                      dard input.
-              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
+              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify the number of lines read  between  each  call  to
+              -\b-c\bc     Specify  the  number  of  lines read between each call to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
-              If  -\b-C\bC  is  specified  without  -\b-c\bc, the default quantum is 5000.
+              If -\b-C\bC is specified without -\b-c\bc,  the  default  quantum  is  5000.
               When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
               array element to be assigned and the line to be assigned to that
-              element as additional arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk  is  evaluated  after
+              element  as  additional  arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
               the line is read but before the array element is assigned.
 
-              If  not  supplied  with  an  explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear
+              If not supplied with an  explicit  origin,  m\bma\bap\bpf\bfi\bil\ble\be  will  clear
               _\ba_\br_\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\breturns successfully unless an invalid option or  option
-              argument  is  supplied,  _\ba_\br_\br_\ba_\by is invalid or unassignable, or if
+              m\bma\bap\bpf\bfi\bil\ble\b returns successfully unless an invalid option or option
+              argument is supplied, _\ba_\br_\br_\ba_\by is invalid or  unassignable,  or  if
               _\ba_\br_\br_\ba_\by is not an indexed array.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
-              Removes entries from the directory stack.   With  no  arguments,
-              removes  the  top directory from the stack, and performs a c\bcd\bd to
+              Removes  entries  from  the directory stack.  With no arguments,
+              removes the top directory from the stack, and performs a  c\bcd\b to
               the new top directory.  Arguments, if supplied, have the follow-
               ing meanings:
-              -\b-n\bn     Suppresses  the  normal change of directory when removing
-                     directories from the stack, so that  only  the  stack  is
+              -\b-n\bn     Suppresses the normal change of directory  when  removing
+                     directories  from  the  stack,  so that only the stack is
                      manipulated.
-              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
+              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
                      +0'' removes the first directory, ``popd +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
-                     -0'' removes the last directory, ``popd -1'' the next  to
+                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
+                     -0''  removes the last directory, ``popd -1'' the next to
                      last.
 
-              If  the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
-              and the return status is 0.  p\bpo\bop\bpd\bd returns false  if  an  invalid
+              If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as  well,
+              and  the  return  status is 0.  p\bpo\bop\bpd\bd returns false if an invalid
               option is encountered, the directory stack is empty, a non-exis-
               tent directory stack entry is specified, or the directory change
               fails.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
-              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the  output  to  be
-              assigned  to  the  variable _\bv_\ba_\br rather than being printed to the
+              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
+              control  of  the  _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the output to be
+              assigned to the variable _\bv_\ba_\br rather than being  printed  to  the
               standard output.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three  types  of
-              objects:  plain  characters, which are simply copied to standard
-              output, character escape  sequences,  which  are  converted  and
-              copied  to  the standard output, and format specifications, each
-              of which causes printing of the next  successive  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.   In
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is a character string which contains three types of
+              objects: plain characters, which are simply copied  to  standard
+              output,  character  escape  sequences,  which  are converted and
+              copied to the standard output, and format  specifications,  each
+              of  which  causes  printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In
               addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(1) format specifications, p\bpr\bri\bin\bnt\btf\bf
               interprets the following extensions:
               %\b%b\bb     causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
                      corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt (except that \\b\c\bc terminates output,
-                     backslashes in \\b\'\b', \\b\"\b", and \\b\?\b? are not removed, and  octal
+                     backslashes  in \\b\'\b', \\b\"\b", and \\b\?\b? are not removed, and octal
                      escapes beginning with \\b\0\b0 may contain up to four digits).
-              %\b%q\bq     causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt  in  a
+              %\b%q\bq     causes  p\bpr\bri\bin\bnt\btf\bf  to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
                      format that can be reused as shell input.
               %\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
-                     causes  p\bpr\bri\bin\bnt\btf\bf  to  output the date-time string resulting
-                     from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format  string  for  _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+                     causes p\bpr\bri\bin\bnt\btf\bf to output the  date-time  string  resulting
+                     from  using  _\bd_\ba_\bt_\be_\bf_\bm_\bt  as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
                      The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
-                     number of seconds since the epoch.  Two special  argument
-                     values  may  be used: -1 represents the current time, and
+                     number  of seconds since the epoch.  Two special argument
+                     values may be used: -1 represents the current  time,  and
                      -2 represents the time the shell was invoked.
 
-              Arguments to non-string format specifiers are treated as C  con-
+              Arguments  to non-string format specifiers are treated as C con-
               stants, except that a leading plus or minus sign is allowed, and
-              if the leading character is a single or double quote, the  value
+              if  the leading character is a single or double quote, the value
               is the ASCII value of the following character.
 
-              The  _\bf_\bo_\br_\bm_\ba_\bt  is  reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
+              The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all  of  the  _\ba_\br_\bg_\bu_\b-
               _\bm_\be_\bn_\bt_\bs.  If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
-              the  extra  format  specifications  behave as if a zero value or
-              null string, as appropriate,  had  been  supplied.   The  return
+              the extra format specifications behave as if  a  zero  value  or
+              null  string,  as  appropriate,  had  been supplied.  The return
               value is zero on success, non-zero on failure.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds  a  directory to the top of the directory stack, or rotates
-              the stack, making the new top of the stack the  current  working
+              Adds a directory to the top of the directory stack,  or  rotates
+              the  stack,  making the new top of the stack the current working
               directory.  With no arguments, exchanges the top two directories
-              and returns 0, unless the directory stack is empty.   Arguments,
+              and  returns 0, unless the directory stack is empty.  Arguments,
               if supplied, have the following meanings:
-              -\b-n\bn     Suppresses  the  normal  change  of directory when adding
-                     directories to the stack,  so  that  only  the  stack  is
+              -\b-n\bn     Suppresses the normal change  of  directory  when  adding
+                     directories  to  the  stack,  so  that  only the stack is
                      manipulated.
-              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
+              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
-              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
+              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
                      new current working directory.
 
               If the p\bpu\bus\bsh\bhd\bd command is successful, a d\bdi\bir\brs\bs is performed as well.
-              If  the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
-              fails.  With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the  direc-
-              tory  stack  is empty, a non-existent directory stack element is
-              specified, or the directory change to the specified new  current
+              If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to  _\bd_\bi_\br
+              fails.   With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
+              tory stack is empty, a non-existent directory stack  element  is
+              specified,  or the directory change to the specified new current
               directory fails.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print  the  absolute  pathname of the current working directory.
+              Print the absolute pathname of the  current  working  directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
-              contain  symbolic links.  The return status is 0 unless an error
-              occurs while reading the name of the  current  directory  or  an
+              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
+              contain symbolic links.  The return status is 0 unless an  error
+              occurs  while  reading  the  name of the current directory or an
               invalid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp
        _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One  line  is  read  from  the  standard input, or from the file
-              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
+              One line is read from the  standard  input,  or  from  the  file
+              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
-              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
+              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
+              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
               words read from the input stream than names, the remaining names
-              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
-              split the line into words.  The backslash character (\\b\)  may  be
-              used  to  remove any special meaning for the next character read
-              and for line continuation.  Options, if supplied, have the  fol-
+              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
+              split  the  line into words.  The backslash character (\\b\) may be
+              used to remove any special meaning for the next  character  read
+              and  for line continuation.  Options, if supplied, have the fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -4622,132 +4629,132 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      new  values  are  assigned.   Other  _\bn_\ba_\bm_\be  arguments  are
                      ignored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The first character of _\bd_\be_\bl_\bi_\bm is  used  to  terminate  the
+                     The  first  character  of  _\bd_\be_\bl_\bi_\bm is used to terminate the
                      input line, rather than newline.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
-                     (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the  line.   Read-
-                     line  uses  the  current (or default, if line editing was
+                     (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  above) is used to obtain the line.  Read-
+                     line uses the current (or default, if  line  editing  was
                      not previously active) editing settings.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
+                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
-                     waiting for a complete line of input, but honor a  delim-
-                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
+                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     waiting  for a complete line of input, but honor a delim-
+                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
-                     rather  than waiting for a complete line of input, unless
-                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
-                     ters  encountered  in the input are not treated specially
-                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
+                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
+                     rather than waiting for a complete line of input,  unless
+                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
+                     ters encountered in the input are not  treated  specially
+                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
                      are read.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash is considered to be part of the line.  In  particu-
-                     lar,  a  backslash-newline pair may not be used as a line
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not be used as  a  line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
-                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\b-
-                     _\bo_\bu_\b may  be  a  decimal number with a fractional portion
-                     following the decimal point.  This option is only  effec-
-                     tive  if  r\bre\bea\bad\bd is reading input from a terminal, pipe, or
-                     other special file; it has no effect  when  reading  from
-                     regular  files.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns success if
-                     input is available  on  the  specified  file  descriptor,
-                     failure  otherwise.   The exit status is greater than 128
+                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
+                     line  of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\b-
+                     _\bo_\bu_\bmay be a decimal number  with  a  fractional  portion
+                     following  the decimal point.  This option is only effec-
+                     tive if r\bre\bea\bad\bd is reading input from a terminal,  pipe,  or
+                     other  special  file;  it has no effect when reading from
+                     regular files.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns success  if
+                     input  is  available  on  the  specified file descriptor,
+                     failure otherwise.  The exit status is greater  than  128
                      if the timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
               If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
-              able  R\bRE\bEP\bPL\bLY\bY.   The  return  code  is zero, unless end-of-file is
-              encountered, r\bre\bea\bad\bd times out (in which case the  return  code  is
-              greater  than 128), or an invalid file descriptor is supplied as
+              able R\bRE\bEP\bPL\bLY\bY.  The return code  is  zero,  unless  end-of-file  is
+              encountered,  r\bre\bea\bad\bd  times  out (in which case the return code is
+              greater than 128), or an invalid file descriptor is supplied  as
               the argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAp\bpf\bf] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
-              The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of  these  _\bn_\ba_\bm_\be_\bs
-              may  not  be changed by subsequent assignment.  If the -\b-f\bf option
-              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
-              marked.   The  -\b-a\ba  option  restricts  the  variables  to indexed
-              arrays; the -\b-A\bA option restricts  the  variables  to  associative
-              arrays.   If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is
-              supplied, a list of all  readonly  names  is  printed.   The  -\b-p\bp
-              option  causes  output  to  be displayed in a format that may be
-              reused as input.  If a variable name is followed by  =_\bw_\bo_\br_\bd,  the
-              value  of  the  variable is set to _\bw_\bo_\br_\bd.  The return status is 0
+              The  given  _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
+              may not be changed by subsequent assignment.  If the  -\b-f\b option
+              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
+              marked.  The  -\b-a\ba  option  restricts  the  variables  to  indexed
+              arrays;  the  -\b-A\bA  option  restricts the variables to associative
+              arrays.  If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option  is
+              supplied,  a  list  of  all  readonly  names is printed.  The -\b-p\bp
+              option causes output to be displayed in a  format  that  may  be
+              reused  as  input.  If a variable name is followed by =_\bw_\bo_\br_\bd, the
+              value of the variable is set to _\bw_\bo_\br_\bd.  The return  status  is  0
               unless an invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not
-              a  valid shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that
+              a valid shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\b that
               is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes a function to exit with the return value specified by  _\bn.
-              If  _\bn  is omitted, the return status is that of the last command
-              executed in the function body.  If used outside a function,  but
-              during  execution  of  a  script  by the .\b.  (s\bso\bou\bur\brc\bce\be) command, it
+              Causes  a function to exit with the return value specified by _\bn.
+              If _\bn is omitted, the return status is that of the  last  command
+              executed  in the function body.  If used outside a function, but
+              during execution of a script by  the  .\b.   (s\bso\bou\bur\brc\bce\be)  command,  it
               causes the shell to stop executing that script and return either
-              _\b or  the  exit  status of the last command executed within the
-              script as the exit status of the  script.   If  used  outside  a
-              function  and  not during execution of a script by .\b., the return
+              _\bor the exit status of the last  command  executed  within  the
+              script  as  the  exit  status  of the script.  If used outside a
+              function and not during execution of a script by .\b.,  the  return
               status is false.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is
-              executed  before execution resumes after the function or script.
+              executed before execution resumes after the function or  script.
 
-       s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
-       s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
-              Without options, the name and value of each shell  variable  are
+       s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
+       s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
+              Without  options,  the name and value of each shell variable are
               displayed in a format that can be reused as input for setting or
               resetting the currently-set variables.  Read-only variables can-
-              not  be  reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.
-              The output is sorted according  to  the  current  locale.   When
-              options  are specified, they set or unset shell attributes.  Any
-              arguments remaining after option processing are treated as  val-
+              not be reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables  are  listed.
+              The  output  is  sorted  according  to the current locale.  When
+              options are specified, they set or unset shell attributes.   Any
+              arguments  remaining after option processing are treated as val-
               ues for the positional parameters and are assigned, in order, to
-              $\b$1\b1, $\b$2\b2, .\b..\b..\b.  $\b$_\bn.  Options,  if  specified,  have  the  following
+              $\b$1\b1,  $\b$2\b2,  .\b..\b..\b.   $\b$_\bn.   Options,  if specified, have the following
               meanings:
-              -\b-a\ba      Automatically  mark  variables  and  functions which are
-                      modified or created for export  to  the  environment  of
+              -\b-a\ba      Automatically mark variables  and  functions  which  are
+                      modified  or  created  for  export to the environment of
                       subsequent commands.
-              -\b-b\bb      Report  the status of terminated background jobs immedi-
+              -\b-b\bb      Report the status of terminated background jobs  immedi-
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
-              -\b-e\be      Exit  immediately  if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
-                      single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl command enclosed  in
-                      parentheses,  or one of the commands executed as part of
-                      a command list enclosed by  braces  (see  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
+                      single  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl command enclosed in
+                      parentheses, or one of the commands executed as part  of
+                      a  command  list  enclosed  by braces (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
                       above) exits with a non-zero status.  The shell does not
-                      exit if the command that fails is part  of  the  command
-                      list  immediately  following  a  w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword,
-                      part of the test  following  the  i\bif\bf  or  e\bel\bli\bif\b reserved
-                      words,  part  of any command executed in a &\b&&\b& or |\b||\b| list
-                      except the command following the final  &\b&&\b&  or  |\b||\b|,  any
-                      command  in a pipeline but the last, or if the command's
-                      return value is being inverted with !\b!.  A trap  on  E\bER\bRR\bR,
+                      exit  if  the  command that fails is part of the command
+                      list immediately following a  w\bwh\bhi\bil\ble\be  or  u\bun\bnt\bti\bil\b keyword,
+                      part  of  the  test  following  the  i\bif\bf or e\bel\bli\bif\bf reserved
+                      words, part of any command executed in a &\b&&\b& or  |\b||\b list
+                      except  the  command  following  the final &\b&&\b& or |\b||\b|, any
+                      command in a pipeline but the last, or if the  command's
+                      return  value  is being inverted with !\b!.  A trap on E\bER\bRR\bR,
                       if set, is executed before the shell exits.  This option
                       applies to the shell environment and each subshell envi-
-                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+                      ronment separately (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
                       above), and may cause subshells to exit before executing
                       all the commands in the subshell.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember  the location of commands as they are looked up
+              -\b-h\bh      Remember the location of commands as they are looked  up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All arguments in the form of assignment  statements  are
-                      placed  in the environment for a command, not just those
+              -\b-k\bk      All  arguments  in the form of assignment statements are
+                      placed in the environment for a command, not just  those
                       that precede the command name.
-              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
-                      on  by  default  for  interactive shells on systems that
-                      support it (see J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL  above).   Background  pro-
-                      cesses  run  in a separate process group and a line con-
-                      taining their exit status is printed upon their  comple-
+              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
+                      on by default for interactive  shells  on  systems  that
+                      support  it  (see  J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  Background pro-
+                      cesses run in a separate process group and a  line  con-
+                      taining  their exit status is printed upon their comple-
                       tion.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to check a shell script  for  syntax  errors.   This  is
+                      to  check  a  shell  script  for syntax errors.  This is
                       ignored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -4755,10 +4762,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
+                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
+                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -4772,8 +4779,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The   effect   is   as   if  the  shell  command
-                              ``IGNOREEOF=10'' had been  executed  (see  S\bSh\bhe\bel\bll\bl
+                              The  effect  is  as   if   the   shell   command
+                              ``IGNOREEOF=10''  had  been  executed (see S\bSh\bhe\bel\bll\bl
                               V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -4788,232 +4795,232 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If  set,  the  return value of a pipeline is the
-                              value of the last (rightmost)  command  to  exit
-                              with  a non-zero status, or zero if all commands
-                              in the pipeline exit successfully.  This  option
+                              If set, the return value of a  pipeline  is  the
+                              value  of  the  last (rightmost) command to exit
+                              with a non-zero status, or zero if all  commands
+                              in  the pipeline exit successfully.  This option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
-                              operation differs from  the  POSIX  standard  to
+                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
+                              operation  differs  from  the  POSIX standard to
                               match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use  a  vi-style command line editing interface.
+                      v\bvi\bi      Use a vi-style command line  editing  interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current options are printed.  If +\b+o\bo is supplied with  no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
-                      current option settings is  displayed  on  the  standard
+                      current  options are printed.  If +\b+o\bo is supplied with no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
+                      current  option  settings  is  displayed on the standard
                       output.
-              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
-                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if  they
+              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
+                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if they
                       appear in the environment, are ignored.  If the shell is
-                      started with the effective user (group) id not equal  to
-                      the  real user (group) id, and the -\b-p\bp option is not sup-
+                      started  with the effective user (group) id not equal to
+                      the real user (group) id, and the -\b-p\bp option is not  sup-
                       plied, these actions are taken and the effective user id
-                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
-                      plied at startup, the effective user id  is  not  reset.
-                      Turning  this  option  off causes the effective user and
+                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
+                      plied  at  startup,  the effective user id is not reset.
+                      Turning this option off causes the  effective  user  and
                       group ids to be set to the real user and group ids.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial  parameters "@" and "*" as an error when performing
-                      parameter expansion.  If expansion is  attempted  on  an
-                      unset  variable  or parameter, the shell prints an error
-                      message, and, if not interactive, exits with a  non-zero
+                      cial parameters "@" and "*" as an error when  performing
+                      parameter  expansion.   If  expansion is attempted on an
+                      unset variable or parameter, the shell prints  an  error
+                      message,  and, if not interactive, exits with a non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play  the expanded value of P\bPS\bS4\b4, followed by the command
+                      play the expanded value of P\bPS\bS4\b4, followed by the  command
                       and its expanded arguments or associated word list.
-              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
-                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
+              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
+                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command  substitutions,  and commands executed in a sub-
-                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
+                      command substitutions, and commands executed in  a  sub-
+                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If set, the shell does not follow  symbolic  links  when
-                      executing  commands  such  as c\bcd\bd that change the current
+              -\b-P\bP      If  set,  the  shell does not follow symbolic links when
+                      executing commands such as c\bcd\bd that  change  the  current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain of  directories  when  performing  commands  which
+                      chain  of  directories  when  performing  commands which
                       change the current directory.
-              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
-                      shell functions,  command  substitutions,  and  commands
-                      executed  in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\bG and
+              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
+                      shell  functions,  command  substitutions,  and commands
+                      executed in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\b and
                       R\bRE\bET\bTU\bUR\bRN\bN traps are normally not inherited in such cases.
-              -\b--\b-      If no arguments follow this option, then the  positional
+              -\b--\b-      If  no arguments follow this option, then the positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
+                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
                       with a -\b-.
-              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
+              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The options are off by default unless otherwise noted.  Using  +
-              rather  than  -  causes  these  options  to  be turned off.  The
-              options can also be specified as arguments to an  invocation  of
-              the  shell.  The current set of options may be found in $\b$-\b-.  The
+              The  options are off by default unless otherwise noted.  Using +
+              rather than - causes  these  options  to  be  turned  off.   The
+              options  can  also be specified as arguments to an invocation of
+              the shell.  The current set of options may be found in $\b$-\b-.   The
               return status is always true unless an invalid option is encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
-              Parameters represented by the numbers  $\b$#\b#  down  to  $\b$#\b#-_\bn+1  are
-              unset.   _\bn  must  be a non-negative number less than or equal to
-              $\b$#\b#.  If _\bn is 0, no parameters are changed.  If _\bn is  not  given,
-              it  is assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional
-              parameters are not changed.  The return status is  greater  than
+              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
+              Parameters  represented  by  the  numbers  $\b$#\b# down to $\b$#\b#-_\bn+1 are
+              unset.  _\bn must be a non-negative number less than  or  equal  to
+              $\b$#\b#.   If  _\bn is 0, no parameters are changed.  If _\bn is not given,
+              it is assumed to be 1.  If _\bn is greater than $\b$#\b#, the  positional
+              parameters  are  not changed.  The return status is greater than
               zero if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
               Toggle the values of variables controlling optional shell behav-
               ior.  With no options, or with the -\b-p\bp option, a list of all set-
               table options is displayed, with an indication of whether or not
-              each is set.  The -\b-p\bp option causes output to be displayed  in  a
-              form  that  may be reused as input.  Other options have the fol-
+              each  is  set.  The -\b-p\bp option causes output to be displayed in a
+              form that may be reused as input.  Other options have  the  fol-
               lowing meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
+              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
-                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
+                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
+                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
                      wise.
-              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
+              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If  either  -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, the dis-
+              If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments,  the  dis-
               play is limited to those options which are set or unset, respec-
-              tively.   Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled
+              tively.  Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are  disabled
               (unset) by default.
 
-              The return status when listing options is zero if  all  _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
-              are  enabled,  non-zero  otherwise.   When  setting or unsetting
-              options, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
+              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are enabled, non-zero  otherwise.   When  setting  or  unsetting
+              options,  the  return  status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
-              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
-                      is executed as if it were the argument to  the  c\bcd\b com-
+              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
+                      is  executed  as  if it were the argument to the c\bcd\bd com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If  set,  an  argument to the c\bcd\bd builtin command that is
-                      not a directory is assumed to be the name of a  variable
+                      If set, an argument to the c\bcd\bd builtin  command  that  is
+                      not  a directory is assumed to be the name of a variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent in a c\bcd\bd command will be  corrected.   The  errors
+                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
                       checked for are transposed characters, a missing charac-
-                      ter, and one character too many.   If  a  correction  is
-                      found,  the corrected file name is printed, and the com-
-                      mand proceeds.  This option is only used by  interactive
+                      ter,  and  one  character  too many.  If a correction is
+                      found, the corrected file name is printed, and the  com-
+                      mand  proceeds.  This option is only used by interactive
                       shells.
               c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
                       If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
-                      ble exists before trying to execute  it.   If  a  hashed
-                      command  no  longer exists, a normal path search is per-
+                      ble  exists  before  trying  to execute it.  If a hashed
+                      command no longer exists, a normal path search  is  per-
                       formed.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs  before  exiting an interactive shell.  If any jobs
+                      jobs before exiting an interactive shell.  If  any  jobs
                       are running, this causes the exit to be deferred until a
-                      second  exit is attempted without an intervening command
-                      (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).   The  shell  always  postpones
+                      second exit is attempted without an intervening  command
+                      (see  J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL  above).   The shell always postpones
                       exiting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If  set,  b\bba\bas\bsh\bh checks the window size after each command
-                      and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and  C\bCO\bOL\bL-\b-
+                      If set, b\bba\bas\bsh\bh checks the window size after  each  command
+                      and,  if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bL-\b-
                       U\bUM\bMN\bNS\bS.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
-                      line command in the same  history  entry.   This  allows
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
+                      line  command  in  the  same history entry.  This allows
                       easy re-editing of multi-line commands.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.1
                       with respect to quoted arguments to the conditional com-
-                      mand's =~ operator.
+                      mand's =\b=~\b~ operator.
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.2
-                      with respect to locale-specific string  comparison  when
-                      using the conditional command's < and > operators.
+                      with  respect  to locale-specific string comparison when
+                      using the conditional command's <\b< and >\b> operators.
               c\bco\bom\bmp\bpa\bat\bt4\b40\b0
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 4.0
-                      with respect to locale-specific string  comparison  when
-                      using  the  conditional  command's < and > operators and
+                      with  respect  to locale-specific string comparison when
+                      using the conditional command's <\b< and  >\b>  operators  and
                       the effect of interrupting a command list.
               c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-                      @item compat41 If set, b\bba\bas\bsh\bh, when in posix mode,  treats
+                      @item  compat41 If set, b\bba\bas\bsh\bh, when in posix mode, treats
                       a single quote in a double-quoted parameter expansion as
-                      a special character.  The single quotes must  match  (an
-                      even  number)  and  the  characters  between  the single
-                      quotes are considered quoted.  This is the  behavior  of
+                      a  special  character.  The single quotes must match (an
+                      even number)  and  the  characters  between  the  single
+                      quotes  are  considered quoted.  This is the behavior of
                       posix mode through version 4.1.  The default bash behav-
                       ior remains as in previous versions.
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
-                      names  during word completion if the directory name ini-
+                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
+                      names during word completion if the directory name  ini-
                       tially supplied does not exist.
-              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
+              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
                       the results of pathname expansion.
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not execute the file specified as  an  argument  to  the
-                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
+                      not  execute  the  file  specified as an argument to the
+                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
                       exit if e\bex\bxe\bec\bc fails.
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If set, aliases are expanded as  described  above  under
+                      If  set,  aliases  are expanded as described above under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If set,  behavior  intended  for  use  by  debuggers  is
+                      If  set,  behavior  intended  for  use  by  debuggers is
                       enabled:
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
-                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
-                             non-zero value, the next command is  skipped  and
+                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
+                             non-zero  value,  the next command is skipped and
                              not executed.
-                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
-                             value of 2, and the shell is executing in a  sub-
-                             routine  (a shell function or a shell script exe-
-                             cuted by the .\b. or s\bso\bou\bur\brc\bce\be  builtins),  a  call  to
+                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
+                             value  of 2, and the shell is executing in a sub-
+                             routine (a shell function or a shell script  exe-
+                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), a call to
                              r\bre\bet\btu\bur\brn\bn is simulated.
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
                              in their descriptions above.
-                      5\b5.\b.     Function tracing is enabled:   command  substitu-
+                      5\b5.\b.     Function  tracing  is enabled:  command substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
-                      6\b6.\b.     Error tracing is enabled:  command  substitution,
-                             shell  functions,  and  subshells  invoked with (\b(
+                      6\b6.\b.     Error  tracing is enabled:  command substitution,
+                             shell functions, and  subshells  invoked  with  (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
               e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
                       above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
-                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
+                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
+                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
                       quotes.  This option is enabled by default.
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If  set,  patterns  which fail to match filenames during
+                      If set, patterns which fail to  match  filenames  during
                       pathname expansion result in an expansion error.
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
-                      variable  cause words to be ignored when performing word
+                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
+                      variable cause words to be ignored when performing  word
                       completion even if the ignored words are the only possi-
                       ble  completions.   See  S\bSH\bHE\bEL\bLL\bL  V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS  above  for  a
-                      description of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled  by
+                      description  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled by
                       default.
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
@@ -5024,62 +5031,62 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       If set, shell error messages are written in the standard
                       GNU error message format.
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If  set,  the history list is appended to the file named
-                      by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  variable  when  the  shell
+                      If set, the history list is appended to the  file  named
+                      by  the  value  of  the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell
                       exits, rather than overwriting the file.
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
                       opportunity to re-edit a failed history substitution.
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
-                      tory  substitution  are  not  immediately  passed to the
-                      shell parser.  Instead, the  resulting  line  is  loaded
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+                      tory substitution are  not  immediately  passed  to  the
+                      shell  parser.   Instead,  the  resulting line is loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform  hostname  completion when a word containing a @\b@
-                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform hostname completion when a word containing  a  @\b@
+                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
                       If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
                       active login shell exits.
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and  all remaining characters on that line to be ignored
-                      in an interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS  above).   This
+                      and all remaining characters on that line to be  ignored
+                      in  an  interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This
                       option is enabled by default.
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If  set,  and  job control is not active, the shell runs
+                      If set, and job control is not active,  the  shell  runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
-              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets this option if it is started as a login
-                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
+                      The shell sets this option if it is started as  a  login
+                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
                       changed.
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
-                      been accessed since the last time it  was  checked,  the
-                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
+                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
+                      been  accessed  since  the last time it was checked, the
+                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
                       played.
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If set, and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh  will  not
+                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh will not
                       attempt to search the P\bPA\bAT\bTH\bH for possible completions when
                       completion is attempted on an empty line.
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands.
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
+                      If  set,  b\bba\bas\bsh\bh allows patterns which match no files (see
+                      P\bPa\bat\bth\bhn\bna\bam\bme\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to  a  null  string,
                       rather than themselves.
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
                       If set, the programmable completion facilities (see P\bPr\bro\bo-\b-
@@ -5087,47 +5094,47 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand   substitution,  arithmetic  expansion,  and  quote
-                      removal after being expanded as described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand  substitution,  arithmetic  expansion,  and   quote
+                      removal  after  being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The   shell  sets  this  option  if  it  is  started  in
+                      The  shell  sets  this  option  if  it  is  started   in
                       restricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
-                      may  not be changed.  This is not reset when the startup
-                      files are executed, allowing the startup files  to  dis-
+                      may not be changed.  This is not reset when the  startup
+                      files  are  executed, allowing the startup files to dis-
                       cover whether or not a shell is restricted.
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
                       the shift count exceeds the number of positional parame-
                       ters.
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the s\bso\bou\bur\brc\bce\be (.\b.) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find the directory containing the file  supplied  as  an
+                      find  the  directory  containing the file supplied as an
                       argument.  This option is enabled by default.
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If   set,  the  e\bec\bch\bho\bo  builtin  expands  backslash-escape
+                      If  set,  the  e\bec\bch\bho\bo  builtin  expands   backslash-escape
                       sequences by default.
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
               signal.  A login shell cannot be suspended; the -\b-f\bf option can be
               used to override this and force the suspension.  The return sta-
-              tus  is  0  unless the shell is a login shell and -\b-f\bf is not sup-
+              tus is 0 unless the shell is a login shell and -\b-f\bf  is  not  sup-
               plied, or if job control is not enabled.
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
-              Return a status of 0 or 1 depending on  the  evaluation  of  the
-              conditional  expression _\be_\bx_\bp_\br.  Each operator and operand must be
-              a separate argument.  Expressions are composed of the  primaries
-              described  above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.  t\bte\bes\bst\bt does not
+              Return  a  status  of  0 or 1 depending on the evaluation of the
+              conditional expression _\be_\bx_\bp_\br.  Each operator and operand must  be
+              a  separate argument.  Expressions are composed of the primaries
+              described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.   t\bte\bes\bst\bt  does  not
               accept any options, nor does it accept and ignore an argument of
               -\b--\b- as signifying the end of options.
 
-              Expressions  may  be  combined  using  the  following operators,
+              Expressions may  be  combined  using  the  following  operators,
               listed  in  decreasing  order  of  precedence.   The  evaluation
               depends on the number of arguments; see below.
               !\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
               (\b( _\be_\bx_\bp_\br )\b)
-                     Returns  the value of _\be_\bx_\bp_\br.  This may be used to override
+                     Returns the value of _\be_\bx_\bp_\br.  This may be used to  override
                      the normal precedence of operators.
               _\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
                      True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
@@ -5144,59 +5151,59 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      null.
               2 arguments
                      If the first argument is !\b!, the expression is true if and
-                     only  if the second argument is null.  If the first argu-
-                     ment is one of the  unary  conditional  operators  listed
-                     above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL  E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
+                     only if the second argument is null.  If the first  argu-
+                     ment  is  one  of  the unary conditional operators listed
+                     above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS,  the  expression  is
                      true if the unary test is true.  If the first argument is
                      not a valid unary conditional operator, the expression is
                      false.
               3 arguments
-                     If the second argument is one of the  binary  conditional
+                     If  the  second argument is one of the binary conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using  the first and third arguments as operands.  The -\b-a\ba
-                     and -\b-o\bo operators are  considered  binary  operators  when
-                     there  are  three arguments.  If the first argument is !\b!,
-                     the value is the negation of the two-argument test  using
+                     using the first and third arguments as operands.  The  -\b-a\ba
+                     and  -\b-o\bo  operators  are  considered binary operators when
+                     there are three arguments.  If the first argument  is  !\b!,
+                     the  value is the negation of the two-argument test using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is  the one-argument test of the second argument.  Other-
+                     is the one-argument test of the second argument.   Other-
                      wise, the expression is false.
               4 arguments
                      If the first argument is !\b!, the result is the negation of
-                     the  three-argument  expression composed of the remaining
+                     the three-argument expression composed of  the  remaining
                      arguments.  Otherwise, the expression is parsed and eval-
-                     uated  according  to  precedence  using  the rules listed
+                     uated according to  precedence  using  the  rules  listed
                      above.
               5 or more arguments
-                     The expression  is  parsed  and  evaluated  according  to
+                     The  expression  is  parsed  and  evaluated  according to
                      precedence using the rules listed above.
 
-       t\bti\bim\bme\bes\bs  Print  the  accumulated  user and system times for the shell and
+       t\bti\bim\bme\bes\bs  Print the accumulated user and system times for  the  shell  and
               for processes run from the shell.  The return status is 0.
 
        t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
-              The command _\ba_\br_\bg is to  be  read  and  executed  when  the  shell
-              receives  signal(s)  _\bs_\bi_\bg_\bs_\bp_\be_\bc.   If _\ba_\br_\bg is absent (and there is a
-              single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified  signal  is  reset  to  its
-              original  disposition  (the  value  it  had upon entrance to the
-              shell).  If _\ba_\br_\bg is the null string the signal specified by  each
-              _\bs_\bi_\bg_\bs_\bp_\be_\b is ignored by the shell and by the commands it invokes.
-              If _\ba_\br_\bg is not present and -\b-p\bp has been supplied,  then  the  trap
-              commands  associated  with  each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are displayed.  If no
-              arguments are supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp  prints  the
-              list  of  commands  associated  with each signal.  The -\b-l\bl option
-              causes the shell to print a list of signal names and their  cor-
-              responding  numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal name
-              defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal  number.   Signal  names  are
+              The  command  _\ba_\br_\bg  is  to  be  read  and executed when the shell
+              receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\br_\bg is absent (and  there  is  a
+              single  _\bs_\bi_\bg_\bs_\bp_\be_\bc)  or  -\b-,  each  specified signal is reset to its
+              original disposition (the value it  had  upon  entrance  to  the
+              shell).   If _\ba_\br_\bg is the null string the signal specified by each
+              _\bs_\bi_\bg_\bs_\bp_\be_\bis ignored by the shell and by the commands it  invokes.
+              If  _\ba_\br_\bg  is  not present and -\b-p\bp has been supplied, then the trap
+              commands associated with each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are  displayed.   If  no
+              arguments  are  supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the
+              list of commands associated with each  signal.   The  -\b-l\b option
+              causes  the shell to print a list of signal names and their cor-
+              responding numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal  name
+              defined  in  <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>,  or  a signal number.  Signal names are
               case insensitive and the S\bSI\bIG\bG prefix is optional.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
-              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is  exe-
-              cuted  before  every  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
-              _\bs_\be_\bl_\be_\bc_\bcommand, every arithmetic _\bf_\bo_\br  command,  and  before  the
-              first  command  executes  in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-              above).  Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to  the
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg  is  executed  on  exit
+              from  the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
+              cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br  command,  _\bc_\ba_\bs_\b command,
+              _\bs_\be_\bl_\be_\bc_\b command,  every  arithmetic  _\bf_\bo_\br command, and before the
+              first command executes in a shell function  (see  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              above).   Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the
               s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a
               _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a shell
               function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins fin-
@@ -5204,53 +5211,53 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\br_\bg is executed whenever a sim-
               ple command has a non-zero exit status, subject to the following
-              conditions.  The E\bER\bRR\bR trap is not executed if the failed  command
-              is  part  of  the  command list immediately following a w\bwh\bhi\bil\ble\be or
-              u\bun\bnt\bti\bil\bkeyword, part of the test in an _\bi_\bf statement,  part  of  a
-              command  executed in a &\b&&\b& or |\b||\b| list, or if the command's return
-              value is being inverted via !\b!.  These are  the  same  conditions
+              conditions.   The E\bER\bRR\bR trap is not executed if the failed command
+              is part of the command list immediately  following  a  w\bwh\bhi\bil\ble\b or
+              u\bun\bnt\bti\bil\b keyword,  part  of the test in an _\bi_\bf statement, part of a
+              command executed in a &\b&&\b& or |\b||\b| list, or if the command's  return
+              value  is  being  inverted via !\b!.  These are the same conditions
               obeyed by the e\ber\brr\bre\bex\bxi\bit\bt option.
 
-              Signals  ignored  upon  entry  to the shell cannot be trapped or
-              reset.  Trapped signals that are not being ignored are reset  to
+              Signals ignored upon entry to the shell  cannot  be  trapped  or
+              reset.   Trapped signals that are not being ignored are reset to
               their original values in a subshell or subshell environment when
-              one is created.  The return status is false if  any  _\bs_\bi_\bg_\bs_\bp_\be_\b is
+              one  is  created.   The return status is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is
               invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
-              With  no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+              With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted  if
               used as a command name.  If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
-              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
-              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
-              builtin,  or disk file, respectively.  If the _\bn_\ba_\bm_\be is not found,
-              then nothing  is  printed,  and  an  exit  status  of  false  is
-              returned.   If  the  -\b-p\bp  option is used, t\bty\byp\bpe\be either returns the
+              string which is one of _\ba_\bl_\bi_\ba_\bs,  _\bk_\be_\by_\bw_\bo_\br_\bd,  _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn,  _\bb_\bu_\bi_\bl_\bt_\bi_\bn,  or
+              _\bf_\bi_\bl_\b if  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word, function,
+              builtin, or disk file, respectively.  If the _\bn_\ba_\bm_\be is not  found,
+              then  nothing  is  printed,  and  an  exit  status  of  false is
+              returned.  If the -\b-p\bp option is used,  t\bty\byp\bpe\be  either  returns  the
               name of the disk file that would be executed if _\bn_\ba_\bm_\be were speci-
               fied as a command name, or nothing if ``type -t name'' would not
-              return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each  _\bn_\ba_\bm_\be,
+              return  _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
               even if ``type -t name'' would not return _\bf_\bi_\bl_\be.  If a command is
-              hashed, -\b-p\bp and -\b-P\bP print the hashed value,  not  necessarily  the
+              hashed,  -\b-p\bp  and  -\b-P\bP print the hashed value, not necessarily the
               file that appears first in P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is used, t\bty\byp\bpe\be
-              prints all of the places that contain an executable named  _\bn_\ba_\bm_\be.
-              This  includes  aliases  and  functions,  if  and only if the -\b-p\bp
-              option is not also used.  The table of hashed  commands  is  not
-              consulted  when  using -\b-a\ba.  The -\b-f\bf option suppresses shell func-
-              tion lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true  if
+              prints  all of the places that contain an executable named _\bn_\ba_\bm_\be.
+              This includes aliases and functions,  if  and  only  if  the  -\b-p\bp
+              option  is  not  also used.  The table of hashed commands is not
+              consulted when using -\b-a\ba.  The -\b-f\bf option suppresses  shell  func-
+              tion  lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true if
               all of the arguments are found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bST\bTa\bab\bbc\bcd\bde\bef\bfi\bil\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bx [_\bl_\bi_\bm_\bi_\bt]]
-              Provides  control  over the resources available to the shell and
-              to processes started by it, on systems that allow such  control.
+              Provides control over the resources available to the  shell  and
+              to  processes started by it, on systems that allow such control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for the given resource.  A hard limit cannot be increased  by  a
-              non-root  user  once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              for  the  given resource.  A hard limit cannot be increased by a
+              non-root user once it is set; a soft limit may be  increased  up
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current hard limit,  the  current  soft  limit,  and  no  limit,
-              respectively.   If  _\bl_\bi_\bm_\bi_\bt  is  omitted, the current value of the
-              soft limit of the resource is printed, unless the -\b-H\bH  option  is
+              current  hard  limit,  the  current  soft  limit,  and no limit,
+              respectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the  current  value  of  the
+              soft  limit  of the resource is printed, unless the -\b-H\bH option is
               given.  When more than one resource is specified, the limit name
               and unit are printed before the value.  Other options are inter-
               preted as follows:
@@ -5259,11 +5266,11 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -5272,65 +5279,65 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The maximum number of processes  available  to  a  single
+              -\b-u\bu     The  maximum  number  of  processes available to a single
                      user
-              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
+              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-T\bT     The maximum number of threads
 
               If _\bl_\bi_\bm_\bi_\bt is given, it is the new value of the specified resource
               (the -\b-a\ba option is display only).  If no option is given, then -\b-f\bf
-              is assumed.  Values are in 1024-byte increments, except for  -\b-t\bt,
-              which  is  in seconds, -\b-p\bp, which is in units of 512-byte blocks,
-              and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.   The  return
+              is  assumed.  Values are in 1024-byte increments, except for -\b-t\bt,
+              which is in seconds, -\b-p\bp, which is in units of  512-byte  blocks,
+              and  -\b-T\bT,  -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.  The return
               status is 0 unless an invalid option or argument is supplied, or
               an error occurs while setting a new limit.
 
        u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
               The user file-creation mask is set to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with
-              a  digit,  it is interpreted as an octal number; otherwise it is
-              interpreted as a symbolic mode mask similar to that accepted  by
-              _\bc_\bh_\bm_\bo_\bd(1).   If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
-              printed.  The -\b-S\bS option causes the mask to be  printed  in  sym-
-              bolic  form;  the  default output is an octal number.  If the -\b-p\bp
+              a digit, it is interpreted as an octal number; otherwise  it  is
+              interpreted  as a symbolic mode mask similar to that accepted by
+              _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, the current value of the mask  is
+              printed.   The  -\b-S\bS  option causes the mask to be printed in sym-
+              bolic form; the default output is an octal number.   If  the  -\b-p\bp
               option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
               that may be reused as input.  The return status is 0 if the mode
-              was successfully changed or if no _\bm_\bo_\bd_\be  argument  was  supplied,
+              was  successfully  changed  or if no _\bm_\bo_\bd_\be argument was supplied,
               and false otherwise.
 
        u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
-              Remove  each  _\bn_\ba_\bm_\be  from  the list of defined aliases.  If -\b-a\ba is
-              supplied, all alias definitions are removed.  The  return  value
+              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
+              supplied,  all  alias definitions are removed.  The return value
               is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
 
        u\bun\bns\bse\bet\bt [-f\bfv\bv] [_\bn_\ba_\bm_\be ...]
-              For  each  _\bn_\ba_\bm_\be,  remove the corresponding variable or function.
+              For each _\bn_\ba_\bm_\be, remove the corresponding  variable  or  function.
               If no options are supplied, or the -\b-v\bv option is given, each _\bn_\ba_\bm_\be
-              refers  to  a  shell  variable.   Read-only variables may not be
-              unset.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to  a  shell  func-
-              tion,  and the function definition is removed.  Each unset vari-
-              able or function is removed from the environment passed to  sub-
-              sequent  commands.   If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS,
-              L\bLI\bIN\bNE\bEN\bNO\bO, H\bHI\bIS\bST\bTC\bCM\bMD\bD, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, or D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are  unset,  they
-              lose  their  special  properties,  even if they are subsequently
+              refers to a shell variable.   Read-only  variables  may  not  be
+              unset.   If  -\b-f\bf  is specified, each _\bn_\ba_\bm_\be refers to a shell func-
+              tion, and the function definition is removed.  Each unset  vari-
+              able  or function is removed from the environment passed to sub-
+              sequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  R\bRA\bAN\bND\bDO\bOM\bM,  S\bSE\bEC\bCO\bON\bND\bDS\bS,
+              L\bLI\bIN\bNE\bEN\bNO\bO,  H\bHI\bIS\bST\bTC\bCM\bMD\bD,  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, or D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are unset, they
+              lose their special properties, even  if  they  are  subsequently
               reset.  The exit status is true unless a _\bn_\ba_\bm_\be is readonly.
 
        w\bwa\bai\bit\bt [_\bn _\b._\b._\b.]
-              Wait for each specified process and return its termination  sta-
-              tus.   Each  _\bn  may be a process ID or a job specification; if a
-              job spec is given, all processes  in  that  job's  pipeline  are
-              waited  for.  If _\bn is not given, all currently active child pro-
-              cesses are waited for, and the return  status  is  zero.   If  _\bn
-              specifies  a  non-existent  process or job, the return status is
-              127.  Otherwise, the return status is the  exit  status  of  the
+              Wait  for each specified process and return its termination sta-
+              tus.  Each _\bn may be a process ID or a job  specification;  if  a
+              job  spec  is  given,  all  processes in that job's pipeline are
+              waited for.  If _\bn is not given, all currently active child  pro-
+              cesses  are  waited  for,  and  the return status is zero.  If _\bn
+              specifies a non-existent process or job, the  return  status  is
+              127.   Otherwise,  the  return  status is the exit status of the
               last process or job waited for.
 
 R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
-       invocation, the shell becomes restricted.  A restricted shell  is  used
-       to  set  up an environment more controlled than the standard shell.  It
-       behaves identically to b\bba\bas\bsh\bh with the exception that the  following  are
+       invocation,  the  shell becomes restricted.  A restricted shell is used
+       to set up an environment more controlled than the standard  shell.   It
+       behaves  identically  to b\bba\bas\bsh\bh with the exception that the following are
        disallowed or not performed:
 
        +\bo      changing directories with c\bcd\bd
@@ -5339,16 +5346,16 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying a file name containing a /\b/ as an argument  to  the  .\b.
+       +\bo      specifying  a  file  name containing a /\b/ as an argument to the .\b.
               builtin command
 
-       +\bo      Specifying  a  filename containing a slash as an argument to the
+       +\bo      specifying a filename containing a slash as an argument  to  the
               -\b-p\bp option to the h\bha\bas\bsh\bh builtin command
 
-       +\bo      importing function definitions from  the  shell  environment  at
+       +\bo      importing  function  definitions  from  the shell environment at
               startup
 
-       +\bo      parsing  the  value  of  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+       +\bo      parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from  the  shell  environment  at
               startup
 
        +\bo      redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -5357,10 +5364,10 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
 
-       +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b options
+       +\bo      adding  or  deleting builtin commands with the -\b-f\bf and -\b-d\bd options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      Using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
+       +\bo      using the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled  shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
@@ -5370,14 +5377,14 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        These restrictions are enforced after any startup files are read.
 
        When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\b E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN  above),  r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
+       M\bMA\bAN\bND\bE\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions  in  the  shell
        spawned to execute the script.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
        _\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
-       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b_\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b:  _\bS_\bh_\be_\bl_\bl  _\ba_\bn_\b _\bU_\bt_\bi_\bl_\bi_\b-
+       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg  _\bS_\by_\bs_\bt_\be_\bm  _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
        _\bt_\bi_\be_\bs, IEEE
        _\bs_\bh(1), _\bk_\bs_\bh(1), _\bc_\bs_\bh(1)
        _\be_\bm_\ba_\bc_\bs(1), _\bv_\bi(1)
@@ -5393,7 +5400,7 @@ F\bFI\bIL\bLE\bES\bS
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
               The individual per-interactive-shell startup file
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
-              The individual login shell cleanup file, executed when  a  login
+              The  individual  login shell cleanup file, executed when a login
               shell exits
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -5407,14 +5414,14 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        If you find a bug in b\bba\bas\bsh\bh,\b, you should report it.  But first, you should
-       make sure that it really is a bug, and that it appears  in  the  latest
-       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
+       make  sure  that  it really is a bug, and that it appears in the latest
+       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/.
 
-       Once you have determined that a bug actually exists,  use  the  _\bb_\ba_\bs_\bh_\bb_\bu_\bg
-       command  to submit a bug report.  If you have a fix, you are encouraged
-       to mail that as well!  Suggestions and `philosophical' bug reports  may
-       be  mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet newsgroup
+       Once  you  have  determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+       command to submit a bug report.  If you have a fix, you are  encouraged
+       to  mail that as well!  Suggestions and `philosophical' bug reports may
+       be mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet  newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        ALL bug reports should include:
@@ -5425,7 +5432,7 @@ B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        A description of the bug behaviour
        A short script or `recipe' which exercises the bug
 
-       _\bb_\ba_\bs_\bh_\bb_\bu_\binserts the first three items automatically into  the  template
+       _\bb_\ba_\bs_\bh_\bb_\bu_\b inserts  the first three items automatically into the template
        it provides for filing a bug report.
 
        Comments and bug reports concerning this manual page should be directed
@@ -5442,10 +5449,10 @@ B\bBU\bUG\bGS\bS
        Shell builtin commands and functions are not stoppable/restartable.
 
        Compound commands and command sequences of the form `a ; b ; c' are not
-       handled gracefully  when  process  suspension  is  attempted.   When  a
-       process  is stopped, the shell immediately executes the next command in
-       the sequence.  It suffices to place the sequence  of  commands  between
-       parentheses  to  force  it  into  a subshell, which may be stopped as a
+       handled  gracefully  when  process  suspension  is  attempted.   When a
+       process is stopped, the shell immediately executes the next command  in
+       the  sequence.   It  suffices to place the sequence of commands between
+       parentheses to force it into a subshell, which  may  be  stopped  as  a
        unit.
 
        Array variables may not (yet) be exported.
@@ -5454,4 +5461,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash-4.2                     2010 July 21                          BASH(1)
+GNU Bash-4.2                   2010 September 6                        BASH(1)
index ad79859255d36d09f73d91689b9f00f66316172a..9a01d6e613392888473d4154b7b8f7bca34c5946 100644 (file)
@@ -9366,8 +9366,8 @@ is
 .BR RETURN ,
 the command
 .I arg
-is executed each time a shell function or a script executed with the
-\fB.\fP or \fBsource\fP builtins finishes executing.
+is executed each time a shell function or a script executed with
+the \fB.\fP or \fBsource\fP builtins finishes executing.
 .if t .sp 0.5
 .if n .sp 1
 If a
index 7b12f5c0f134a74d27fc387c8abad927e25e9314..3a1be6ba63686f8bbbafaa82cfd8b74da4be5f18 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2010 July 21<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2010 September 6<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -530,7 +530,7 @@ No other startup files are read.
 <B>Bash</B>
 
 attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell
+connected to a network connection, as when executed by the remote shell
 daemon, usually <I>rshd</I>, or the secure shell daemon <I>sshd</I>.
 If
 <B>bash</B>
@@ -1200,7 +1200,7 @@ command (see
 below).
 The file descriptors can be utilized as arguments to shell commands
 and redirections using standard word expansions.
-The process id of the shell spawned to execute the coprocess is
+The process ID of the shell spawned to execute the coprocess is
 available as the value of the variable <I>NAME</I>_PID.
 The <B>wait</B>
 builtin command may be used to wait for the coprocess to terminate.
@@ -1572,7 +1572,7 @@ builtin commands.
 In the context where an assignment statement is assigning a value
 to a shell variable or array index, the += operator can be used to
 append to or add to the variable's previous value.
-When += is applied to a variable for which the integer attribute has been
+When += is applied to a variable for which the <I>integer</I> attribute has been
 set, <I>value</I> is evaluated as an arithmetic expression and added to the
 variable's current value, which is also evaluated.
 When += is applied to an array variable using compound assignment (see
@@ -1784,7 +1784,7 @@ This variable is read-only.
 <DT><B>BASHPID</B>
 
 <DD>
-Expands to the process id of the current <B>bash</B> process.
+Expands to the process ID of the current <B>bash</B> process.
 This differs from <B>$$</B> under certain circumstances, such as subshells
 that do not require <B>bash</B> to be re-initialized.
 <DT><B>BASH_ALIASES</B>
@@ -2421,7 +2421,7 @@ If <B>bash</B> finds this variable in the environment when the shell starts
 with value
 <TT>t</TT>,
 
-it assumes that the shell is running in an emacs shell buffer and disables
+it assumes that the shell is running in an Emacs shell buffer and disables
 line editing.
 <DT><B>ENV</B>
 
@@ -2704,14 +2704,15 @@ for printing selection lists.  Automatically set upon receipt of a
 <DT><B>MAIL</B>
 
 <DD>
-If this parameter is set to a file name and the
+If this parameter is set to a file or directory name and the
 <FONT SIZE=-1><B>MAILPATH</B>
 
 </FONT>
 variable is not set,
 <B>bash</B>
 
-informs the user of the arrival of mail in the specified file.
+informs the user of the arrival of mail in the specified file or
+Maildir-format directory.
 <DT><B>MAILCHECK</B>
 
 <DD>
@@ -2947,8 +2948,8 @@ not arrive.
 <DT><B>TMPDIR</B>
 
 <DD>
-If set, <B>Bash</B> uses its value as the name of a directory in which
-<B>Bash</B> creates temporary files for the shell's use.
+If set, <B>bash</B> uses its value as the name of a directory in which
+<B>bash</B> creates temporary files for the shell's use.
 <DT><B>auto_resume</B>
 
 <DD>
@@ -3438,7 +3439,7 @@ a level of variable indirection is introduced.
 expanded and that value is used in the rest of the substitution, rather
 than the value of <I>parameter</I> itself.
 This is known as <I>indirect expansion</I>.
-The exceptions to this are the expansions of ${!<I>prefix</I>*} and
+The exceptions to this are the expansions of ${<B>!\fPfIprefix</B><B>*</B>} and
 ${<B>!</B><I>name</I>[<I>@</I>]} described below.
 The exclamation point must immediately follow the left brace in order to
 introduce indirection.
@@ -3507,7 +3508,7 @@ is substituted.
 
 <DT>${<I>parameter</I><B>:</B><I>offset</I><B>:</B><I>length</I>}<DD>
 
-<B>Substring Expansion.</B>
+<B>Substring Expansion</B>.
 Expands to up to <I>length</I> characters of <I>parameter</I>
 starting at the character specified by <I>offset</I>.
 If <I>length</I> is omitted, expands to the substring of
@@ -3543,7 +3544,7 @@ prefixed to the list.
 
 <DT>${<B>!</B><I>prefix</I><B>@</B>}<DD>
 
-<B>Names matching prefix.</B>
+<B>Names matching prefix</B>.
 Expands to the names of variables whose names begin with <I>prefix</I>,
 separated by the first character of the
 <FONT SIZE=-1><B>IFS</B>
@@ -3556,7 +3557,7 @@ variable name expands to a separate word.
 
 <DT>${<B>!</B><I>name</I>[<I>*</I>]}<DD>
 
-<B>List of array keys.</B>
+<B>List of array keys</B>.
 If <I>name</I> is an array variable, expands to the list of array indices
 (keys) assigned in <I>name</I>.
 If <I>name</I> is not an array, expands to 0 if <I>name</I> is set and null
@@ -3564,7 +3565,7 @@ otherwise.
 When <I>@</I> is used and the expansion appears within double quotes, each
 key expands to a separate word.
 <DT>${<B>#</B><I>parameter</I>}<DD>
-<B>Parameter length.</B>
+<B>Parameter length</B>.
 The length in characters of the value of <I>parameter</I> is substituted.
 If
 <I>parameter</I>
@@ -3590,7 +3591,7 @@ the value substituted is the number of elements in the array.
 
 <DT>${<I>parameter</I><B>##</B><I>word</I>}<DD>
 
-<B>Remove matching prefix pattern.</B>
+<B>Remove matching prefix pattern</B>.
 The 
 <I>word</I>
 
@@ -3630,7 +3631,7 @@ array in turn, and the expansion is the resultant list.
 
 <DT>${<I>parameter</I><B>%%</B><I>word</I>}<DD>
 
-<B>Remove matching suffix pattern.</B>
+<B>Remove matching suffix pattern</B>.
 The <I>word</I> is expanded to produce a pattern just as in
 pathname expansion.
 If the pattern matches a trailing portion of the expanded value of
@@ -3664,7 +3665,7 @@ or
 the pattern removal operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
 <DT>${<I>parameter</I><B>/</B><I>pattern</I><B>/</B><I>string</I>}<DD>
-<B>Pattern substitution.</B>
+<B>Pattern substitution</B>.
 The <I>pattern</I> is expanded to produce a pattern just as in
 pathname expansion.
 <I>Parameter</I> is expanded and the longest match of <I>pattern</I>
@@ -3705,7 +3706,7 @@ array in turn, and the expansion is the resultant list.
 <DT>${<I>parameter</I><B>,</B><I>pattern</I>}<DD>
 <DT>${<I>parameter</I><B>,,</B><I>pattern</I>}<DD>
 
-<B>Case modification.</B>
+<B>Case modification</B>.
 This expansion modifies the case of alphabetic characters in <I>parameter</I>.
 The <I>pattern</I> is expanded to produce a pattern just as in
 pathname expansion.
@@ -4885,7 +4886,7 @@ during its execution.
 The special parameter
 <B>#</B>
 
-is updated to reflect the change.  Special parameter 0
+is updated to reflect the change.  Special parameter <B>0</B>
 is unchanged.
 The first element of the
 <FONT SIZE=-1><B>FUNCNAME</B>
@@ -5104,7 +5105,7 @@ The value of a variable is evaluated as an arithmetic expression
 when it is referenced, or when a variable which has been given the
 <I>integer</I> attribute using <B>declare -i</B> is assigned a value.
 A null value evaluates to 0.
-A shell variable need not have its integer attribute
+A shell variable need not have its <I>integer</I> attribute
 turned on to be used in an expression.
 <P>
 
@@ -5530,8 +5531,8 @@ cannot affect the shell's execution environment.
 <P>
 
 Subshells spawned to execute command substitutions inherit the value of
-the <B>-e</B> option from the parent shell.  When not in posix mode,
-Bash clears the <B>-e</B> option in such subshells.
+the <B>-e</B> option from the parent shell.  When not in <I>posix</I> mode,
+<B>bash</B> clears the <B>-e</B> option in such subshells.
 <P>
 
 If a command is followed by a <B>&amp;</B> and job control is not active, the
@@ -6196,7 +6197,7 @@ shell, unless the
 option is given at shell invocation.
 Line editing is also used when using the <B>-e</B> option to the
 <B>read</B> builtin.
-By default, the line editing commands are similar to those of emacs.
+By default, the line editing commands are similar to those of Emacs.
 A vi-style line editing interface is also available.
 Line editing can be enabled at any time using the
 <B>-o emacs</B>
@@ -6227,7 +6228,7 @@ builtin.
 
 <P>
 
-In this section, the emacs-style notation is used to denote
+In this section, the Emacs-style notation is used to denote
 keystrokes.  Control keys are denoted by C-<I>key</I>, e.g., C-n
 means Control-N.  Similarly, 
 <I>meta</I>
@@ -6655,7 +6656,7 @@ mapped to <B>self-insert</B>.
 
 <DD>
 Controls whether readline begins with a set of key bindings similar
-to <I>emacs</I> or <I>vi</I>.
+to <I>Emacs</I> or <I>vi</I>.
 <B>editing-mode</B>
 
 can be set to either
@@ -6685,12 +6686,12 @@ the meta key is used to send eight-bit characters.
 <DT><B>expand-tilde (Off)</B>
 
 <DD>
-If set to <B>on</B>, tilde expansion is performed when readline
+If set to <B>On</B>, tilde expansion is performed when readline
 attempts word completion.
 <DT><B>history-preserve-point (Off)</B>
 
 <DD>
-If set to <B>on</B>, the history code attempts to place point at the
+If set to <B>On</B>, the history code attempts to place point at the
 same location on each history line retrieved with <B>previous-history</B>
 or <B>next-history</B>.
 <DT><B>history-size (0)</B>
@@ -6760,6 +6761,12 @@ names begin with a `.' (hidden files) when performing filename
 completion.
 If set to <B>Off</B>, the leading `.' must be
 supplied by the user in the filename to be completed.
+<DT><B>menu-complete-display-prefix (Off)</B>
+
+<DD>
+If set to <B>On</B>, menu completion displays the common prefix of the
+list of possible completions (which may be empty) before cycling through
+the list.
 <DT><B>output-meta (Off)</B>
 
 <DD>
@@ -6779,7 +6786,7 @@ sorted horizontally in alphabetical order, rather than down the screen.
 <DT><B>revert-all-at-newline (Off)</B>
 
 <DD>
-If set to <B>on</B>, readline will undo all changes to history lines 
+If set to <B>On</B>, readline will undo all changes to history lines 
 before returning when <B>accept-line</B> is executed.  By default,
 history lines may be modified and retain individual undo lists across
 calls to <B>readline</B>.
@@ -6788,7 +6795,7 @@ calls to <B>readline</B>.
 <DD>
 This alters the default behavior of the completion functions.  If
 set to
-<B>on</B>,
+<B>On</B>,
 
 words which have more than one possible completion cause the
 matches to be listed immediately instead of ringing the bell.
@@ -6798,7 +6805,7 @@ matches to be listed immediately instead of ringing the bell.
 This alters the default behavior of the completion functions in
 a fashion similar to <B>show-all-if-ambiguous</B>.
 If set to
-<B>on</B>,
+<B>On</B>,
 
 words which have more than one possible completion without any
 possible partial completion (the possible completions don't share
@@ -6872,7 +6879,7 @@ library sets the <I>application name</I>, and an initialization
 file can test for a particular value.
 This could be used to bind key sequences to functions useful for
 a specific program.  For instance, the following command adds a
-key sequence that quotes the current or previous word in Bash:
+key sequence that quotes the current or previous word in <B>bash</B>:
 <P>
 <DL COMPACT><DT><DD>
 <PRE>
@@ -7435,7 +7442,7 @@ of matches; a negative argument may be used to move backward
 through the list.
 This command is intended to be bound to <B>TAB</B>, but is unbound
 by default.
-<DT><B>menu-complete-rd</B>
+<DT><B>menu-complete-backward</B>
 
 <DD>
 Identical to <B>menu-complete</B>, but moves backward through the list
@@ -7617,7 +7624,7 @@ character.  A negative count searches for previous occurrences.
 <DD>
 A character is read and point is moved to the previous occurrence of that
 character.  A negative count searches for subsequent occurrences.
-<DT><B>skip-csi-sequence ()</B>
+<DT><B>skip-csi-sequence</B>
 
 <DD>
 Read enough characters to consume a multi-key sequence such as those
@@ -7720,7 +7727,7 @@ If the command word is a full pathname, a compspec for the full
 pathname is searched for first.
 If no compspec is found for the full pathname, an attempt is made to
 find a compspec for the portion following the final slash.
-If those searches to not result in a compspec, any compspec defined with
+If those searches do not result in a compspec, any compspec defined with
 the <B>-D</B> option to <B>complete</B> is used as the default.
 <P>
 
@@ -8199,6 +8206,8 @@ writing the history file.
 
 An event designator is a reference to a command line entry in the
 history list.
+Unless the reference is absolute, events are relative to the current
+position in the history list.
 <P>
 
 
@@ -8221,7 +8230,7 @@ Refer to command line
 <DT><B>!-</B><I>n</I>
 
 <DD>
-Refer to the current command line minus
+Refer to the current command minus
 <I>n</I>.
 
 <DT><B>!!</B>
@@ -8231,13 +8240,15 @@ Refer to the previous command.  This is a synonym for `!-1'.
 <DT><B>!</B><I>string</I>
 
 <DD>
-Refer to the most recent command starting with 
+Refer to the most recent command preceding the current position in the
+history list starting with
 <I>string</I>.
 
 <DT><B>!?</B><I>string</I><B>[?]</B>
 
 <DD>
-Refer to the most recent command containing
+Refer to the most recent command preceding the current postition in the
+history list containing
 <I>string</I>.
 
 The trailing <B>?</B> may be omitted if
@@ -8247,7 +8258,7 @@ is followed immediately by a newline.
 <DT><B></B><FONT SIZE=+2><B>^</B></FONT><B></B><I>string1</I><FONT SIZE=+2>^</FONT><I>string2</I><FONT SIZE=+2>^</FONT>
 
 <DD>
-Quick substitution.  Repeat the last command, replacing
+Quick substitution.  Repeat the previous command, replacing
 <I>string1</I>
 
 with
@@ -9826,7 +9837,7 @@ return value greater than zero.
 
 </FONT>
 is set to the index of the first non-option argument,
-and <B>name</B> is set to ?.
+and <I>name</I> is set to ?.
 <P>
 <B>getopts</B>
 
@@ -10750,9 +10761,9 @@ function and not during execution of a script by <B>.</B>,
 the return status is false.
 Any command associated with the <B>RETURN</B> trap is executed
 before execution resumes after the function or script.
-<DT><B>set</B> [<B>--abefhkmnptuvxBCEHPT</B>] [<B>-o</B> <I>option</I>] [<I>arg</I> ...]<DD>
+<DT><B>set</B> [<B>--abefhkmnptuvxBCEHPT</B>] [<B>-o</B> <I>option-name</I>] [<I>arg</I> ...]<DD>
 
-<DT><B>set</B> [<B>+abefhkmnptuvxBCEHPT</B>] [<B>+o</B> <I>option</I>] [<I>arg</I> ...]<DD>
+<DT><B>set</B> [<B>+abefhkmnptuvxBCEHPT</B>] [<B>+o</B> <I>option-name</I>] [<I>arg</I> ...]<DD>
 
 Without options, the name and value of each shell variable are displayed
 in a format that can be reused as input
@@ -11390,7 +11401,7 @@ If set,
 <B>bash</B>
 
 changes its behavior to that of version 3.1 with respect to quoted
-arguments to the conditional command's =~ operator.
+arguments to the conditional command's <B>=~</B> operator.
 <DT><B>compat32</B>
 
 <DD>
@@ -11398,7 +11409,8 @@ If set,
 <B>bash</B>
 
 changes its behavior to that of version 3.2 with respect to locale-specific
-string comparison when using the conditional command's &lt; and &gt; operators.
+string comparison when using the conditional command's <B>&lt;</B> and <B>&gt;</B>
+operators.
 <DT><B>compat40</B>
 
 <DD>
@@ -11406,8 +11418,8 @@ If set,
 <B>bash</B>
 
 changes its behavior to that of version 4.0 with respect to locale-specific
-string comparison when using the conditional command's &lt; and &gt; operators
-and the effect of interrupting a command list.
+string comparison when using the conditional command's <B>&lt;</B> and <B>&gt;</B>
+operators and the effect of interrupting a command list.
 <DT><B>compat41</B>
 
 <DD>
@@ -11958,8 +11970,8 @@ is
 the command
 <I>arg</I>
 
-is executed each time a shell function or a script executed with the
-<B>.</B> or <B>source</B> builtins finishes executing.
+is executed each time a shell function or a script executed with
+the <B>.</B> or <B>source</B> builtins finishes executing.
 <P>
 
 
@@ -12432,7 +12444,7 @@ as an argument to the
 
 builtin command
 <DT>*<DD>
-Specifying a filename containing a slash as an argument to the
+specifying a filename containing a slash as an argument to the
 <B>-p</B>
 
 option to the
@@ -12466,7 +12478,7 @@ options to the
 
 builtin command
 <DT>*<DD>
-Using the <B>enable</B> builtin command to enable disabled shell builtins
+using the <B>enable</B> builtin command to enable disabled shell builtins
 <DT>*<DD>
 specifying the
 <B>-p</B>
@@ -12660,7 +12672,7 @@ There may be only one active coprocess at a time.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash-4.2<TH ALIGN=CENTER width=33%>2010 July 21<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash-4.2<TH ALIGN=CENTER width=33%>2010 September 6<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -12766,6 +12778,6 @@ There may be only one active coprocess at a time.
 </DL>
 <HR>
 This document was created by man2html from bash.1.<BR>
-Time: 21 July 2010 08:54:57 EDT
+Time: 25 October 2010 12:00:43 EDT
 </BODY>
 </HTML>
index 362c3d76a9c0692fffe50124254e573a81e61c23..8f296da3dc3abf9f13241702a0be376f7f310e2f 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index 213b5f180df78e96600dd867e82f2542a0877fb5..1abbb2107b9f89656a1e69137cead4c06f42993e 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Wed Jul 21 08:54:49 2010
+%%CreationDate: Mon Oct 25 10:55:37 2010
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -330,7 +330,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E
 144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
 (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0
 (Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(1)203.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(1)192.615 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
@@ -452,7 +452,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en)
 108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G
 (TH)-.189 E F0 -.25(va)2.25 G
 (riable is not used to search for the \214le name.).25 E(GNU Bash-4.2)72
-768 Q(2010 July 21)148.175 E(2)203.165 E 0 Cg EP
+768 Q(2010 September 6)137.625 E(2)192.615 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
@@ -501,23 +501,24 @@ E F0 .226(mode, as with the)3.256 F F1(\255\255posix)2.726 E F0 .226
 F3(ENV)2.841 E F0 -.25(va)2.591 G .342(riable and commands are read and)
 .25 F -.15(exe)108 220.8 S(cuted from the \214le whose name is the e).15
 E(xpanded v)-.15 E 2.5(alue. No)-.25 F(other startup \214les are read.)
-2.5 E F1(Bash)108 237.6 Q F0 .644(attempts to determine when it is bein\
-g run with its standard input connected to a a netw)3.144 F .643
-(ork connec-)-.1 F .229(tion, as if by the remote shell daemon, usually)
-108 249.6 R F2 -.1(rs)2.729 G(hd).1 E F0 2.729(,o)C 2.73(rt)-2.729 G .23
-(he secure shell daemon)-2.73 F F2(sshd)2.73 E F0 5.23(.I)C(f)-5.23 E F1
-(bash)2.73 E F0 .23(determines it)2.73 F .741(is being run in this f)108
-261.6 R .741(ashion, it reads and e)-.1 F -.15(xe)-.15 G .741
-(cutes commands from).15 F F2(~/.bashr)3.241 E(c)-.37 E F0 3.241(,i)C
-3.241(ft)-3.241 G .741(hat \214le e)-3.241 F .741(xists and is read-)
--.15 F 2.97(able. It)108 273.6 R .47(will not do this if in)2.97 F -.2
-(vo)-.4 G -.1(ke).2 G 2.97(da).1 G(s)-2.97 E F1(sh)2.97 E F0 5.47(.T)C
-(he)-5.47 E F1<adad6e6f72>2.97 E(c)-.18 E F0 .47
-(option may be used to inhibit this beha)2.97 F(vior)-.2 E 2.97(,a)-.4 G
-.47(nd the)-2.97 F F1<adad72>108 285.6 Q(c\214le)-.18 E F0 .886
-(option may be used to force another \214le to be read, b)3.387 F(ut)-.2
-E F2 -.1(rs)3.386 G(hd).1 E F0 .886(does not generally in)3.386 F -.2
-(vo)-.4 G 1.086 -.1(ke t).2 H .886(he shell).1 F
+2.5 E F1(Bash)108 237.6 Q F0 .224(attempts to determine when it is bein\
+g run with its standard input connected to a netw)2.724 F .223
+(ork connection,)-.1 F .025(as when e)108 249.6 R -.15(xe)-.15 G .025
+(cuted by the remote shell daemon, usually).15 F F2 -.1(rs)2.525 G(hd).1
+E F0 2.525(,o)C 2.525(rt)-2.525 G .025(he secure shell daemon)-2.525 F
+F2(sshd)2.525 E F0 5.025(.I)C(f)-5.025 E F1(bash)2.525 E F0(deter)2.525
+E(-)-.2 E .134(mines it is being run in this f)108 261.6 R .134
+(ashion, it reads and e)-.1 F -.15(xe)-.15 G .133(cutes commands from)
+.15 F F2(~/.bashr)2.633 E(c)-.37 E F0 2.633(,i)C 2.633(ft)-2.633 G .133
+(hat \214le e)-2.633 F .133(xists and is)-.15 F 2.869(readable. It)108
+273.6 R .369(will not do this if in)2.869 F -.2(vo)-.4 G -.1(ke).2 G
+2.869(da).1 G(s)-2.869 E F1(sh)2.869 E F0 5.369(.T)C(he)-5.369 E F1
+<adad6e6f72>2.869 E(c)-.18 E F0 .369
+(option may be used to inhibit this beha)2.869 F(vior)-.2 E 2.869(,a)-.4
+G(nd)-2.869 E(the)108 285.6 Q F1<adad72>2.606 E(c\214le)-.18 E F0 .106
+(option may be used to force another \214le to be read, b)2.606 F(ut)-.2
+E F2 -.1(rs)2.606 G(hd).1 E F0 .106(does not generally in)2.606 F -.2
+(vo)-.4 G .306 -.1(ke t).2 H .106(he shell).1 F
 (with those options or allo)108 297.6 Q 2.5(wt)-.25 G
 (hem to be speci\214ed.)-2.5 E 1.207
 (If the shell is started with the ef)108 314.4 R(fecti)-.25 E 1.507 -.15
@@ -580,7 +581,7 @@ F1(Pipelines)87 691.2 Q F0(A)108 703.2 Q F2(pipeline)2.996 E F0 .496(is\
  a sequence of one or more commands separated by one of the control ope\
 rators)2.996 F F1(|)2.996 E F0(or)2.996 E F1(|&)2.996 E F0 5.496(.T)C
 (he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(3)203.165 E 0 Cg EP
+(2010 September 6)137.625 E(3)192.615 E 0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
@@ -700,7 +701,7 @@ A({)108 703.2 Q F2(list)2.5 E F0 2.5(;})C F2(list)3.89 E F0 .401
 (\))2.719 E F0(,)A F1({)2.719 E F0(and)2.719 E F1(})2.719 E F0(are)2.719
 E F2 -.37(re)2.72 G .22(served wor).37 F(ds)-.37 E F0 .22
 (and must occur where a reserv)2.72 F(ed)-.15 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(4)203.165 E 0 Cg EP
+(2010 September 6)137.625 E(4)192.615 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
@@ -825,7 +826,7 @@ E F0(;)2.5 E F4(done)2.5 E F0 .424(The list of w)144 649.2 R .424
 (follo)144 697.2 Q(wing)-.25 E F4(in)2.5 E F0
 (results in an empty list, no commands are e)2.5 E -.15(xe)-.15 G
 (cuted, and the return status is 0.).15 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(5)203.165 E 0 Cg EP
+(2010 September 6)137.625 E(5)192.615 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
@@ -978,7 +979,7 @@ F F2 .64(simple command)3.14 F F0 .64(\(see abo)3.14 F -.15(ve)-.15 G
 722.4 S .163(rd of the simple command.).1 F .163(When the coproc is e)
 5.163 F -.15(xe)-.15 G .163(cuted, the shell creates an array v).15 F
 .163(ariable \(see)-.25 F F1(Arrays)2.663 E F0(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(6)203.165 E 0 Cg EP
+(2010 September 6)137.625 E(6)192.615 E 0 Cg EP
 %%Page: 7 7
 %%BeginPageSetup
 BP
@@ -1000,14 +1001,15 @@ R F1(command)3.417 E F0 .716
 (mand \(see)108 132 R/F2 9/Times-Bold@0 SF(REDIRECTION)3.684 E F0(belo)
 3.434 E 3.684(w\). The)-.25 F 1.183
 (\214le descriptors can be utilized as ar)3.684 F 1.183
-(guments to shell commands)-.18 F .07(and redirections using standard w)
-108 144 R .07(ord e)-.1 F 2.57(xpansions. The)-.15 F .07
-(process id of the shell spa)2.57 F .07(wned to e)-.15 F -.15(xe)-.15 G
-.07(cute the copro-).15 F .632(cess is a)108 156 R -.25(va)-.2 G .631
-(ilable as the v).25 F .631(alue of the v)-.25 F(ariable)-.25 E F1 -.27
-(NA)3.131 G(ME).27 E F0 3.131(_PID. The)B/F3 10/Times-Bold@0 SF(wait)
-3.131 E F0 -.2(bu)3.131 G .631(iltin command may be used to w).2 F(ait)
--.1 E(for the coprocess to terminate.)108 168 Q
+(guments to shell commands)-.18 F 1.796
+(and redirections using standard w)108 144 R 1.796(ord e)-.1 F 4.297
+(xpansions. The)-.15 F 1.797(process ID of the shell spa)4.297 F 1.797
+(wned to e)-.15 F -.15(xe)-.15 G 1.797(cute the).15 F .483
+(coprocess is a)108 156 R -.25(va)-.2 G .483(ilable as the v).25 F .483
+(alue of the v)-.25 F(ariable)-.25 E F1 -.27(NA)2.983 G(ME).27 E F0
+2.983(_PID. The)B/F3 10/Times-Bold@0 SF(wait)2.983 E F0 -.2(bu)2.983 G
+.483(iltin command may be used to).2 F -.1(wa)108 168 S
+(it for the coprocess to terminate.).1 E
 (The return status of a coprocess is the e)108 184.8 Q(xit status of)
 -.15 E F1(command)2.5 E F0(.)A F3(Shell Function De\214nitions)87 201.6
 Q F0 2.697(As)108 213.6 S .198
@@ -1114,8 +1116,8 @@ F3(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828
 (double quote may be quoted within double quotes by pre-)-2.5 F .081
 (ceding it with a backslash.)108 724.8 R .082(If enabled, history e)
 5.082 F .082(xpansion will be performed unless an)-.15 F F3(!)2.582 E F0
-.082(appearing in double)5.082 F(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(7)203.165 E 0 Cg EP
+.082(appearing in double)5.082 F(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(7)192.615 E 0 Cg EP
 %%Page: 8 8
 %%BeginPageSetup
 BP
@@ -1216,15 +1218,15 @@ E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 667.2 S(adonly).18 E F0
 (x, the +=)-.15 F .257
 (operator can be used to append to or add to the v)108 696 R(ariable')
 -.25 E 2.757(sp)-.55 G(re)-2.757 E .257(vious v)-.25 F 2.757(alue. When)
--.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .373
-(for which the inte)108 708 R .373(ger attrib)-.15 F .372
-(ute has been set,)-.2 F F3(value)2.872 E F0 .372(is e)2.872 F -.25(va)
--.25 G .372(luated as an arithmetic e).25 F .372
+-.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .361
+(for which the)108 708 R F3(inte)2.861 E -.1(ge)-.4 G(r).1 E F0(attrib)
+2.861 E .361(ute has been set,)-.2 F F3(value)2.861 E F0 .361(is e)2.861
+F -.25(va)-.25 G .36(luated as an arithmetic e).25 F .36
 (xpression and added to the)-.15 F -.25(va)108 720 S(riable').25 E 2.888
 (sc)-.55 G .388(urrent v)-2.888 F .388(alue, which is also e)-.25 F -.25
 (va)-.25 G 2.889(luated. When).25 F .389(+= is applied to an array v)
 2.889 F .389(ariable using compound)-.25 F(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(8)203.165 E 0 Cg EP
+(2010 September 6)137.625 E(8)192.615 E 0 Cg EP
 %%Page: 9 9
 %%BeginPageSetup
 BP
@@ -1348,17 +1350,17 @@ F2(on)3.206 E F0(by)3.217 E F1(shopt)2.977 E F0 5.477(.I)C 2.977(ft)
 -.4 E(when)144 684 Q F1(bash)3.142 E F0 .642(starts up, each shell opti\
 on in the list will be enabled before reading an)3.142 F 3.141(ys)-.15 G
 .641(tartup \214les.)-3.141 F(This v)144 696 Q(ariable is read-only)-.25
-E(.)-.65 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(9)203.165 E 0 Cg
-EP
+E(.)-.65 E(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(9)192.615 E
+0 Cg EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SHPID).3 E F0 .36
-(Expands to the process id of the current)144 96 R F1(bash)2.861 E F0
-2.861(process. This)2.861 F(dif)2.861 E .361(fers from)-.25 F F1($$)
-2.861 E F0 .361(under certain circum-)2.861 F
+-.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SHPID).3 E F0 .187
+(Expands to the process ID of the current)144 96 R F1(bash)2.687 E F0
+2.688(process. This)2.688 F(dif)2.688 E .188(fers from)-.25 F F1($$)
+2.688 E F0 .188(under certain circum-)2.688 F
 (stances, such as subshells that do not require)144 108 Q F1(bash)2.5 E
 F0(to be re-initialized.)2.5 E F1 -.3(BA)108 120 S(SH_ALIASES).3 E F0
 1.195(An associati)144 132 R 1.495 -.15(ve a)-.25 H 1.195(rray v).15 F
@@ -1456,7 +1458,7 @@ F0(is)3.281 E(de\214ned in the \214le)144 588 Q F1(${B)2.5 E
 144 702 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15
 (ve)-.25 G(l.).15 E F1 -.3(BA)144 714 S(SH_VERSINFO[).3 E F0(3)A F1(])A
 F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(10)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(10)187.615 E 0 Cg EP
 %%Page: 11 11
 %%BeginPageSetup
 BP
@@ -1565,7 +1567,7 @@ F(ariable)-.25 E .351(will not change the current directory)144 648 R
 (The element with inde)144 729.6 R 2.776(x0i)-.15 G 2.776(st)-2.776 G
 .276(he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe)
 -.15 G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(11)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(11)187.615 E 0 Cg EP
 %%Page: 12 12
 %%BeginPageSetup
 BP
@@ -1656,7 +1658,7 @@ s the operating system on which)144 622.8 R F3(bash)2.83 E F0 .33(is e)
 2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E(.)-.65 E
 F3(PWD)108 709.2 Q F0(The current w)12.67 E
 (orking directory as set by the)-.1 E F3(cd)2.5 E F0(command.)2.5 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(12)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(12)187.615 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 BP
@@ -1756,7 +1758,7 @@ lists.).2 F(Automatically set upon receipt of a)144 679.2 Q F2(SIGWINCH)
 (in)144 715.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
 (he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E
 (ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-4.2)72
-768 Q(2010 July 21)148.175 E(13)198.165 E 0 Cg EP
+768 Q(2010 September 6)137.625 E(13)187.615 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
@@ -1766,7 +1768,7 @@ BP
 (bash)2.535 E F0 .035(\214nds this v)2.535 F .035(ariable in the en)-.25
 F .036(vironment when the shell starts with v)-.4 F(alue)-.25 E/F2 10
 /Courier@0 SF(t)2.536 E F0 2.536(,i)C 2.536(ta)-2.536 G .036
-(ssumes that the)-2.536 F(shell is running in an emacs shell b)144 108 Q
+(ssumes that the)-2.536 F(shell is running in an Emacs shell b)144 108 Q
 (uf)-.2 E(fer and disables line editing.)-.25 E F1(ENV)108 120 Q F0
 (Similar to)14.89 E/F3 9/Times-Bold@0 SF -.27(BA)2.5 G(SH_ENV).27 E/F4 9
 /Times-Roman@0 SF(;)A F0(used when the shell is in)2.25 E -.2(vo)-.4 G
@@ -1876,7 +1878,7 @@ F1(HOME)108 696 Q F0 1.27
 -.1 F 1.27(gument for the)-.18 F F1(cd)3.77 E F0 -.2(bu)3.77 G 1.27
 (iltin command.).2 F(The)6.27 E -.25(va)144 720 S(lue of this v).25 E
 (ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(14)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(14)187.615 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
 BP
@@ -1946,12 +1948,13 @@ ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC)
 (Used by the)5.99 F F1(select)3.718 E F0 -.2(bu)3.718 G 1.219(iltin com\
 mand to determine the column length for printing selection lists.).2 F
 (Automatically set upon receipt of a)144 492 Q F3(SIGWINCH)2.5 E/F4 9
-/Times-Roman@0 SF(.)A F1(MAIL)108 504 Q F0 .188
-(If this parameter is set to a \214le name and the)8.78 F F3(MAILP)2.687
-E -.855(AT)-.666 G(H).855 E F0 -.25(va)2.437 G .187(riable is not set,)
-.25 F F1(bash)2.687 E F0 .187(informs the user)2.687 F(of the arri)144
-516 Q -.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G
-(ail in the speci\214ed \214le.)-2.5 E F1(MAILCHECK)108 528 Q F0 .098
+/Times-Roman@0 SF(.)A F1(MAIL)108 504 Q F0 1.201
+(If this parameter is set to a \214le or directory name and the)8.78 F
+F3(MAILP)3.701 E -.855(AT)-.666 G(H).855 E F0 -.25(va)3.451 G 1.201
+(riable is not set,).25 F F1(bash)3.701 E F0
+(informs the user of the arri)144 516 Q -.25(va)-.25 G 2.5(lo).25 G 2.5
+(fm)-2.5 G(ail in the speci\214ed \214le or Maildir)-2.5 E
+(-format directory)-.2 E(.)-.65 E F1(MAILCHECK)108 528 Q F0 .098
 (Speci\214es ho)144 540 R 2.598(wo)-.25 G .098(ften \(in seconds\))
 -2.598 F F1(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def)
 5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224
@@ -1981,7 +1984,8 @@ F F3 .359(SHELL B)144 696 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0
 (belo)2.609 E(w\).)-.25 E F3(OPTERR)5.359 E F0 .36
 (is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G -.1
 (ke).2 G(d).1 E(or a shell script is e)144 708 Q -.15(xe)-.15 G(cuted.)
-.15 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(15)198.165 E 0 Cg EP
+.15 E(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(15)187.615 E 0 Cg
+EP
 %%Page: 16 16
 %%BeginPageSetup
 BP
@@ -2094,20 +2098,20 @@ R .886(In an interacti)5.886 F 1.185 -.15(ve s)-.25 H .885(hell, the v)
 .15 F .885(alue is interpreted as the number of seconds to)-.25 F -.1
 (wa)144 721.2 S .546(it for input after issuing the primary prompt.).1 F
 F1(Bash)5.546 E F0 .546(terminates after w)3.046 F .546
-(aiting for that number of)-.1 F(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(16)198.165 E 0 Cg EP
+(aiting for that number of)-.1 F(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(16)187.615 E 0 Cg EP
 %%Page: 17 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E(seconds if input does not arri)144 84 Q -.15(ve)-.25 G(.).15 E/F1
-10/Times-Bold@0 SF(TMPDIR)108 100.8 Q F0 .274(If set,)144 112.8 R F1
-(Bash)2.774 E F0 .274(uses its v)2.774 F .274
-(alue as the name of a directory in which)-.25 F F1(Bash)2.773 E F0 .273
-(creates temporary \214les for the)2.773 F(shell')144 124.8 Q 2.5(su)
--.55 G(se.)-2.5 E F1(auto_r)108 141.6 Q(esume)-.18 E F0 .53(This v)144
-153.6 R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531
+10/Times-Bold@0 SF(TMPDIR)108 100.8 Q F0 .391(If set,)144 112.8 R F1
+(bash)2.891 E F0 .391(uses its v)2.891 F .391
+(alue as the name of a directory in which)-.25 F F1(bash)2.89 E F0 .39
+(creates temporary \214les for the)2.89 F(shell')144 124.8 Q 2.5(su)-.55
+G(se.)-2.5 E F1(auto_r)108 141.6 Q(esume)-.18 E F0 .53(This v)144 153.6
+R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531
 (he shell interacts with the user and job control.)-3.03 F .531
 (If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144 165.6 R
 .538(ord simple commands without redirections are treated as candidates\
@@ -2222,7 +2226,7 @@ F2(subscript)A F0 3.575(]}. The)B 1.076(braces are required to a)3.576 F
 (xpansion. If)-.15 F F2(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0
 (or)4.041 E F1(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)
 -.1 F 1.541(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(17)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(17)187.615 E 0 Cg EP
 %%Page: 18 18
 %%BeginPageSetup
 BP
@@ -2368,7 +2372,7 @@ F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G 5.542(.N).15 G .542
 t one)-.15 F 3.44(unquoted comma or a v)108 729.6 R 3.441
 (alid sequence e)-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
 (ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(18)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(18)187.615 E 0 Cg EP
 %%Page: 19 19
 %%BeginPageSetup
 BP
@@ -2483,18 +2487,19 @@ E(ameter)-.15 E F0 .264(is follo)3.494 F .264
 .106(as the name of the v)2.606 F .106(ariable; this v)-.25 F(ari-)-.25
 E .351(able is then e)108 676.8 R .351(xpanded and that v)-.15 F .352
 (alue is used in the rest of the substitution, rather than the v)-.25 F
-.352(alue of)-.25 F F2(par)2.852 E(ame-)-.15 E(ter)108 688.8 Q F0 2.52
-(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F2(indir)2.52 E
-.02(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 F .019
-(xceptions to this are the e)-.15 F .019(xpansions of ${!)-.15 F F2(pr)A
-(e\214x)-.37 E F0 .019(*} and)B(${)108 700.8 Q F1(!)A F2(name)A F0([)A
-F2(@)A F0 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65
-F .763(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G
-.763(he left brace in order to)-3.263 F(introduce indirection.)108 712.8
-Q .334(In each of the cases belo)108 729.6 R -.65(w,)-.25 G F2(wor)3.484
-E(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334
-(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15
-F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(19)198.165 E 0 Cg EP
+.352(alue of)-.25 F F2(par)2.852 E(ame-)-.15 E(ter)108 688.8 Q F0 6.84
+(itself. This)6.84 F 4.34(is kno)6.84 F 4.34(wn as)-.25 F F2(indir)6.84
+E 4.34(ect e)-.37 F(xpansion)-.2 E F0 9.34(.T)C 4.34(he e)-9.34 F 4.34
+(xceptions to this are the e)-.15 F 4.34(xpansions of)-.15 F(${)108
+700.8 Q F1(!\\fPfIpr)A(e\214x*)-.18 E F0 3.244(}a)C .744(nd ${)-3.244 F
+F1(!)A F2(name)A F0([)A F2(@)A F0 .744(]} described belo)B 4.544 -.65
+(w. T)-.25 H .745(he e).65 F .745
+(xclamation point must immediately follo)-.15 F 3.245(wt)-.25 G(he)
+-3.245 E(left brace in order to introduce indirection.)108 712.8 Q .334
+(In each of the cases belo)108 729.6 R -.65(w,)-.25 G F2(wor)3.484 E(d)
+-.37 E F0 .334(is subject to tilde e)2.834 F .334(xpansion, parameter e)
+-.15 F .334(xpansion, command substitution,)-.15 F(GNU Bash-4.2)72 768 Q
+(2010 September 6)137.625 E(19)187.615 E 0 Cg EP
 %%Page: 20 20
 %%BeginPageSetup
 BP
@@ -2537,21 +2542,20 @@ F1 .535(Display Err)144 225.6 R .535(or if Null or Unset)-.18 F F0 5.535
 (xpan-)-.15 E(sion of)144 285.6 Q F2(wor)2.84 E(d)-.37 E F0
 (is substituted.)3.27 E(${)108 297.6 Q F2(par)A(ameter)-.15 E F1(:)A F2
 (of)A(fset)-.18 E F0(})A(${)108 309.6 Q F2(par)A(ameter)-.15 E F1(:)A F2
-(of)A(fset)-.18 E F1(:)A F2(length)A F0(})A F1 .797
-(Substring Expansion.)144 321.6 R F0 .796(Expands to up to)5.797 F F2
-(length)3.296 E F0 .796(characters of)3.296 F F2(par)3.296 E(ameter)-.15
-E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144
-333.6 R F2(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F2(length)
-2.728 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of)
--.15 F F2(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F
-(-)-.2 E .433(acter speci\214ed by)144 345.6 R F2(of)2.933 E(fset)-.18 E
-F0(.)A F2(length)5.433 E F0(and)2.933 E F2(of)2.933 E(fset)-.18 E F0
-.433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9
-/Times-Bold@0 SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144
-357.6 S(ION).855 E F0(belo)2.925 E 3.175(w\). If)-.25 F F2(of)3.175 E
-(fset)-.18 E F0 -.25(eva)3.175 G .676
-(luates to a number less than zero, the v).25 F .676
-(alue is used as an of)-.25 F .676(fset from)-.25 F .103
+(of)A(fset)-.18 E F1(:)A F2(length)A F0(})A F1 .797(Substring Expansion)
+144 321.6 R F0 5.797(.E)C .796(xpands to up to)-5.797 F F2(length)3.296
+E F0 .796(characters of)3.296 F F2(par)3.296 E(ameter)-.15 E F0 .796
+(starting at the character)3.296 F .228(speci\214ed by)144 333.6 R F2
+(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F2(length)2.728 E F0
+.229(is omitted, e)2.729 F .229(xpands to the substring of)-.15 F F2
+(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F(-)-.2 E
+.433(acter speci\214ed by)144 345.6 R F2(of)2.933 E(fset)-.18 E F0(.)A
+F2(length)5.433 E F0(and)2.933 E F2(of)2.933 E(fset)-.18 E F0 .433
+(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9/Times-Bold@0
+SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 357.6 S(ION)
+.855 E F0(belo)2.925 E 3.175(w\). If)-.25 F F2(of)3.175 E(fset)-.18 E F0
+-.25(eva)3.175 G .676(luates to a number less than zero, the v).25 F
+.676(alue is used as an of)-.25 F .676(fset from)-.25 F .103
 (the end of the v)144 369.6 R .103(alue of)-.25 F F2(par)2.603 E(ameter)
 -.15 E F0 5.103(.I)C(f)-5.103 E F2(length)2.603 E F0 -.25(eva)2.603 G
 .103(luates to a number less than zero, and).25 F F2(par)2.602 E(ameter)
@@ -2590,44 +2594,46 @@ F F2(length)2.574 E F0 .074(positional parameters be)2.574 F .074
 (is 0, and the positional parameters are used,)2.5 E F1($0)2.5 E F0
 (is pre\214x)2.5 E(ed to the list.)-.15 E(${)108 506.4 Q F1(!)A F2(pr)A
 (e\214x)-.37 E F1(*)A F0(})A(${)108 518.4 Q F1(!)A F2(pr)A(e\214x)-.37 E
-F1(@)A F0(})A F1 .085(Names matching pr)144 530.4 R(e\214x.)-.18 E F0
-.084(Expands to the names of v)5.085 F .084(ariables whose names be)-.25
-F .084(gin with)-.15 F F2(pr)2.584 E(e\214x)-.37 E F0 2.584(,s)C(epa-)
--2.584 E .257(rated by the \214rst character of the)144 542.4 R F3(IFS)
-2.757 E F0 .257(special v)2.507 F 2.757(ariable. When)-.25 F F2(@)2.758
-E F0 .258(is used and the e)2.758 F .258(xpansion appears)-.15 F
+F1(@)A F0(})A F1 .085(Names matching pr)144 530.4 R(e\214x)-.18 E F0
+5.085(.E)C .084(xpands to the names of v)-5.085 F .084
+(ariables whose names be)-.25 F .084(gin with)-.15 F F2(pr)2.584 E
+(e\214x)-.37 E F0 2.584(,s)C(epa-)-2.584 E .257
+(rated by the \214rst character of the)144 542.4 R F3(IFS)2.757 E F0
+.257(special v)2.507 F 2.757(ariable. When)-.25 F F2(@)2.758 E F0 .258
+(is used and the e)2.758 F .258(xpansion appears)-.15 F
 (within double quotes, each v)144 554.4 Q(ariable name e)-.25 E
 (xpands to a separate w)-.15 E(ord.)-.1 E(${)108 571.2 Q F1(!)A F2(name)
 A F0([)A F2(@)A F0(]})A(${)108 583.2 Q F1(!)A F2(name)A F0([)A F2(*)A F0
-(]})A F1 2.036(List of array k)144 595.2 R(eys.)-.1 E F0(If)7.036 E F2
-(name)4.536 E F0 2.036(is an array v)4.536 F 2.036(ariable, e)-.25 F
-2.036(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G(s\))
-.15 E .595(assigned in)144 607.2 R F2(name)3.095 E F0 5.595(.I)C(f)
--5.595 E F2(name)3.095 E F0 .595(is not an array)3.095 F 3.095(,e)-.65 G
-.595(xpands to 0 if)-3.245 F F2(name)3.095 E F0 .596
+(]})A F1 2.036(List of array k)144 595.2 R(eys)-.1 E F0 7.036(.I)C(f)
+-7.036 E F2(name)4.536 E F0 2.036(is an array v)4.536 F 2.036
+(ariable, e)-.25 F 2.036(xpands to the list of array indices \(k)-.15 F
+-.15(ey)-.1 G(s\)).15 E .595(assigned in)144 607.2 R F2(name)3.095 E F0
+5.595(.I)C(f)-5.595 E F2(name)3.095 E F0 .595(is not an array)3.095 F
+3.095(,e)-.65 G .595(xpands to 0 if)-3.245 F F2(name)3.095 E F0 .596
 (is set and null otherwise.)3.095 F(When)5.596 E F2(@)144 619.2 Q F0
 (is used and the e)2.5 E(xpansion appears within double quotes, each k)
 -.15 E .3 -.15(ey ex)-.1 H(pands to a separate w).15 E(ord.)-.1 E(${)108
 636 Q F1(#)A F2(par)A(ameter)-.15 E F0(})A F1 -.1(Pa)144 648 S .471
-(rameter length.).1 F F0 .471(The length in characters of the v)5.471 F
-.471(alue of)-.25 F F2(par)2.971 E(ameter)-.15 E F0 .47(is substituted.)
-2.97 F(If)5.47 E F2(par)4.22 E(ame-)-.15 E(ter)144 660 Q F0(is)4.438 E
-F1(*)3.708 E F0(or)3.708 E F1(@)3.708 E F0 3.708(,t)C 1.208(he v)-3.708
-F 1.208(alue substituted is the number of positional parameters.)-.25 F
-(If)6.209 E F2(par)4.959 E(ameter)-.15 E F0 1.209(is an)4.439 F
+(rameter length).1 F F0 5.471(.T)C .471
+(he length in characters of the v)-5.471 F .471(alue of)-.25 F F2(par)
+2.971 E(ameter)-.15 E F0 .47(is substituted.)2.97 F(If)5.47 E F2(par)
+4.22 E(ame-)-.15 E(ter)144 660 Q F0(is)4.438 E F1(*)3.708 E F0(or)3.708
+E F1(@)3.708 E F0 3.708(,t)C 1.208(he v)-3.708 F 1.208
+(alue substituted is the number of positional parameters.)-.25 F(If)
+6.209 E F2(par)4.959 E(ameter)-.15 E F0 1.209(is an)4.439 F
 (array name subscripted by)144 672 Q F1(*)2.5 E F0(or)2.5 E F1(@)2.5 E
 F0 2.5(,t)C(he v)-2.5 E
 (alue substituted is the number of elements in the array)-.25 E(.)-.65 E
 (${)108 688.8 Q F2(par)A(ameter)-.15 E F1(#)A F2(wor)A(d)-.37 E F0(})A
 (${)108 700.8 Q F2(par)A(ameter)-.15 E F1(##)A F2(wor)A(d)-.37 E F0(})A
 F1(Remo)144 712.8 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196
-(e\214x patter)-.18 F(n.)-.15 E F0(The)6.196 E F2(wor)4.036 E(d)-.37 E
-F0 1.196(is e)4.466 F 1.196
+(e\214x patter)-.18 F(n)-.15 E F0 6.196(.T)C(he)-6.196 E F2(wor)4.036 E
+(d)-.37 E F0 1.196(is e)4.466 F 1.196
 (xpanded to produce a pattern just as in path-)-.15 F .151(name e)144
 724.8 R 2.651(xpansion. If)-.15 F .152(the pattern matches the be)2.652
 F .152(ginning of the v)-.15 F .152(alue of)-.25 F F2(par)2.652 E
 (ameter)-.15 E F0 2.652(,t).73 G .152(hen the result of)-2.652 F
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(20)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(20)187.615 E 0 Cg EP
 %%Page: 21 21
 %%BeginPageSetup
 BP
@@ -2652,8 +2658,8 @@ E(ameter)-.15 E F0(is)3.511 E F2(@)2.781 E F0(or)2.781 E F2(*)2.782 E F0
 (xpansion is the resultant list.)-.15 E(${)108 148.8 Q F1(par)A(ameter)
 -.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 160.8 Q F1(par)A(ameter)
 -.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 172.8 Q .347 -.1
-(ve m)-.1 H .147(atching suf\214x patter).1 F(n.)-.15 E F0(The)5.147 E
-F1(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146
+(ve m)-.1 H .147(atching suf\214x patter).1 F(n)-.15 E F0 5.147(.T)C(he)
+-5.147 E F1(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146
 (xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144
 184.8 S 3.088(pansion. If).15 F .588
 (the pattern matches a trailing portion of the e)3.088 F .588(xpanded v)
@@ -2677,8 +2683,8 @@ G(per)-2.741 E(-)-.2 E
 (ation is applied to each member of the array in turn, and the e)144
 244.8 Q(xpansion is the resultant list.)-.15 E(${)108 261.6 Q F1(par)A
 (ameter)-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A F2 -.1(Pa)
-144 273.6 S(tter).1 E 3.607(ns)-.15 G(ubstitution.)-3.607 E F0(The)6.107
-E F1(pattern)3.607 E F0 1.107(is e)3.607 F 1.106
+144 273.6 S(tter).1 E 3.607(ns)-.15 G(ubstitution)-3.607 E F0 6.107(.T)C
+(he)-6.107 E F1(pattern)3.607 E F0 1.107(is e)3.607 F 1.106
 (xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E
 (sion.)144 285.6 Q F1 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033
 (is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F1(pattern)
@@ -2711,8 +2717,8 @@ F0 6.253(.I)C(f)-6.253 E F1(string)3.753 E F0 1.253(is null, matches of)
 -.15 E F2(^)A F1(pattern)A F0(})A(${)108 410.4 Q F1(par)A(ameter)-.15 E
 F2(^^)A F1(pattern)A F0(})A(${)108 422.4 Q F1(par)A(ameter)-.15 E F2(,)A
 F1(pattern)A F0(})A(${)108 434.4 Q F1(par)A(ameter)-.15 E F2(,,)A F1
-(pattern)A F0(})A F2 .437(Case modi\214cation.)144 446.4 R F0 .437
-(This e)5.437 F .438
+(pattern)A F0(})A F2 .437(Case modi\214cation)144 446.4 R F0 5.437(.T)C
+.437(his e)-5.437 F .438
 (xpansion modi\214es the case of alphabetic characters in)-.15 F F1(par)
 2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F1(pattern)144 458.4 Q
 F0 .814(is e)3.314 F .813
@@ -2763,8 +2769,8 @@ e \214rst backquote not preceded by a backslash terminates the command \
 sub-)-5.315 F 5.766(stitution. When)108 722.4 R 3.266(using the $\()
 5.766 F F1(command).833 E F0 5.766(\)f)1.666 G 3.266
 (orm, all characters between the parentheses mak)-5.766 F 5.767(eu)-.1 G
-5.767(pt)-5.767 G(he)-5.767 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175
-E(21)198.165 E 0 Cg EP
+5.767(pt)-5.767 G(he)-5.767 E(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(21)187.615 E 0 Cg EP
 %%Page: 22 22
 %%BeginPageSetup
 BP
@@ -2897,7 +2903,7 @@ E F0 .929(is enabled, the match is per)3.429 F(-)-.2 E .033
 3.665 G -.55(.').63 G(')-.08 E F0 1.166
 (character is not treated specially)6.165 F 6.166(.S)-.65 G 1.166
 (ee the description of)-6.166 F F1(shopt)3.666 E F0(belo)3.666 E(w)-.25
-E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(22)198.165 E 0 Cg EP
+E(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(22)187.615 E 0 Cg EP
 %%Page: 23 23
 %%BeginPageSetup
 BP
@@ -3014,7 +3020,7 @@ F0(.)A(Composite patterns may be formed using one or more of the follo)
 .15 G(atterns)-2.5 E F2(!\()144 706.8 Q F3(pattern-list).833 E F2(\))
 .833 E F0(Matches an)180 718.8 Q(ything e)-.15 E(xcept one of the gi)
 -.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(23)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(23)187.615 E 0 Cg EP
 %%Page: 24 24
 %%BeginPageSetup
 BP
@@ -3111,7 +3117,7 @@ hould be used with care, as the)108 650.4 R 3.447(ym)-.15 G .947
 (he standard input \(\214le descriptor 0\) if)-2.5 E F3(n)2.86 E F0
 (is not speci\214ed.)2.74 E
 (The general format for redirecting input is:)108 720 Q(GNU Bash-4.2)72
-768 Q(2010 July 21)148.175 E(24)198.165 E 0 Cg EP
+768 Q(2010 September 6)137.625 E(24)187.615 E 0 Cg EP
 %%Page: 25 25
 %%BeginPageSetup
 BP
@@ -3198,7 +3204,7 @@ F0 .774(are quoted, the)4.044 F F1(delimiter)3.624 E F0 .774
 (subjected to parameter e)108 722.4 R .695
 (xpansion, command substitution, and arithmetic e)-.15 F 3.195
 (xpansion. In)-.15 F .695(the latter case, the)3.195 F(GNU Bash-4.2)72
-768 Q(2010 July 21)148.175 E(25)198.165 E 0 Cg EP
+768 Q(2010 September 6)137.625 E(25)187.615 E 0 Cg EP
 %%Page: 26 26
 %%BeginPageSetup
 BP
@@ -3300,8 +3306,8 @@ F1($)2.973 E F0(,)A F1<92>2.973 E F0(,)A(and)108 648 Q F1(=)3.612 E F0
 (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15
 E(Aliases are created and listed with the)108 724.8 Q F1(alias)2.5 E F0
 (command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F1
-(unalias)2.5 E F0(command.)2.5 E(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(26)198.165 E 0 Cg EP
+(unalias)2.5 E F0(command.)2.5 E(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(26)187.615 E 0 Cg EP
 %%Page: 27 27
 %%BeginPageSetup
 BP
@@ -3364,8 +3370,9 @@ F .639(function is e)108 331.2 R -.15(xe)-.15 G .639(cuted, the ar).15 F
 (guments to the function become the positional parameters during its e)
 -.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 343.2
 R F2(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532
-(Special parameter 0 is unchanged.)5.532 F .532(The \214rst ele-)5.532 F
-(ment of the)108 355.2 Q F1(FUNCN)2.5 E(AME)-.18 E F0 -.25(va)2.25 G
+(Special parameter)5.532 F F2(0)3.032 E F0 .532(is unchanged.)3.032 F
+.532(The \214rst ele-)5.532 F(ment of the)108 355.2 Q F1(FUNCN)2.5 E
+(AME)-.18 E F0 -.25(va)2.25 G
 (riable is set to the name of the function while the function is e).25 E
 -.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108
 372 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
@@ -3444,8 +3451,8 @@ F0(and)4.798 E F2(declar)108 712.8 Q(e)-.18 E F0 -.2(bu)2.706 G .206
 F .205(gers with no)-.15 F 2.07(check for o)108 724.8 R -.15(ve)-.15 G
 (r\215o).15 E 3.37 -.65(w, t)-.25 H 2.07(hough di).65 F 2.07
 (vision by 0 is trapped and \215agged as an error)-.25 F 7.07(.T)-.55 G
-2.07(he operators and their)-7.07 F(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(27)198.165 E 0 Cg EP
+2.07(he operators and their)-7.07 F(GNU Bash-4.2)72 768 Q
+(2010 September 6)137.625 E(27)187.615 E 0 Cg EP
 %%Page: 28 28
 %%BeginPageSetup
 BP
@@ -3493,17 +3500,17 @@ F 1.008(xpression, shell v)-.15 F 1.007
 (when it is referenced, or when a v)108 453.6 R 1.389
 (ariable which has been gi)-.25 F -.15(ve)-.25 G 3.89(nt).15 G(he)-3.89
 E F1(inte)3.89 E -.1(ge)-.4 G(r).1 E F0(attrib)3.89 E 1.39(ute using)-.2
-F F2(declar)3.89 E 3.89(e-)-.18 G(i)-3.89 E F0(is)3.89 E .344
-(assigned a v)108 465.6 R 2.844(alue. A)-.25 F .343(null v)2.843 F .343
-(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843(As)5.343 G
-.343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643 -.15(ve i)-.2
-H .343(ts inte).15 F .343(ger attrib)-.15 F .343(ute turned on)-.2 F
-(to be used in an e)108 477.6 Q(xpression.)-.15 E 1.406
-(Constants with a leading 0 are interpreted as octal numbers.)108 494.4
-R 3.906(Al)6.406 G 1.407(eading 0x or 0X denotes he)-3.906 F(xadecimal.)
--.15 E .113(Otherwise, numbers tak)108 506.4 R 2.613(et)-.1 G .113
-(he form [)-2.613 F F1(base#)A F0 .112(]n, where the optional)B F1(base)
-2.612 E F0 .112(is a decimal number between 2 and 64)2.612 F .533
+F F2(declar)3.89 E 3.89(e-)-.18 G(i)-3.89 E F0(is)3.89 E .333
+(assigned a v)108 465.6 R 2.832(alue. A)-.25 F .332(null v)2.832 F .332
+(alue e)-.25 F -.25(va)-.25 G .332(luates to 0.).25 F 2.832(As)5.332 G
+.332(hell v)-2.832 F .332(ariable need not ha)-.25 F .632 -.15(ve i)-.2
+H(ts).15 E F1(inte)2.832 E -.1(ge)-.4 G(r).1 E F0(attrib)2.832 E .332
+(ute turned on)-.2 F(to be used in an e)108 477.6 Q(xpression.)-.15 E
+1.406(Constants with a leading 0 are interpreted as octal numbers.)108
+494.4 R 3.906(Al)6.406 G 1.407(eading 0x or 0X denotes he)-3.906 F
+(xadecimal.)-.15 E .113(Otherwise, numbers tak)108 506.4 R 2.613(et)-.1
+G .113(he form [)-2.613 F F1(base#)A F0 .112(]n, where the optional)B F1
+(base)2.612 E F0 .112(is a decimal number between 2 and 64)2.612 F .533
 (representing the arithmetic base, and)108 518.4 R F1(n)3.033 E F0 .533
 (is a number in that base.)3.033 F(If)5.534 E F1(base#)3.034 E F0 .534
 (is omitted, then base 10 is used.)3.034 F .916
@@ -3541,7 +3548,7 @@ G .234(luated \214rst and may).25 F -.15(ove)108 583.2 S
 Q(When used with)108 706.8 Q F2([[)2.5 E F0 2.5(,T)C(he)-2.5 E F2(<)2.5
 E F0(and)2.5 E F2(>)2.5 E F0(operators sort le)2.5 E
 (xicographically using the current locale.)-.15 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(28)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(28)187.615 E 0 Cg EP
 %%Page: 29 29
 %%BeginPageSetup
 BP
@@ -3637,7 +3644,7 @@ F2(ar)144 696 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly)
 .15 E(.)-.65 E F2(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F2(ar)2.83 E(g2)-.37
 E F0(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15
 (eg a)-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(29)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(29)187.615 E 0 Cg EP
 %%Page: 30 30
 %%BeginPageSetup
 BP
@@ -3759,7 +3766,7 @@ e remainder of the \214rst line speci\214es an interpreter for the pro-)
 (interpreter name on the \214rst line of the program, follo)108 710.4 R
 1.13(wed by the name of the program, follo)-.25 F 1.13(wed by the)-.25 F
 (command ar)108 722.4 Q(guments, if an)-.18 E -.65(y.)-.15 G
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(30)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(30)187.615 E 0 Cg EP
 %%Page: 31 31
 %%BeginPageSetup
 BP
@@ -3833,15 +3840,15 @@ R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.357
 547.2 R 1.377(wned to e)-.15 F -.15(xe)-.15 G 1.377
 (cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F
 F3<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When)
-108 559.2 R(not in posix mode, Bash clears the)2.5 E F3<ad65>2.5 E F0
-(option in such subshells.)2.5 E .404(If a command is follo)108 576 R
-.404(wed by a)-.25 F F3(&)2.904 E F0 .405(and job control is not acti)
-2.904 F -.15(ve)-.25 G 2.905(,t).15 G .405(he def)-2.905 F .405
-(ault standard input for the command)-.1 F .198(is the empty \214le)108
-588 R F2(/de)2.698 E(v/null)-.15 E F0 5.198(.O)C .198(therwise, the in)
--5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc).1 G .197
-(ommand inherits the \214le descriptors of the calling shell)-2.698 F
-(as modi\214ed by redirections.)108 600 Q F1(ENVIR)72 616.8 Q(ONMENT)
+108 559.2 R(not in)2.5 E F2(posix)2.5 E F0(mode,)2.5 E F3(bash)2.5 E F0
+(clears the)2.5 E F3<ad65>2.5 E F0(option in such subshells.)2.5 E .404
+(If a command is follo)108 576 R .404(wed by a)-.25 F F3(&)2.904 E F0
+.405(and job control is not acti)2.904 F -.15(ve)-.25 G 2.905(,t).15 G
+.405(he def)-2.905 F .405(ault standard input for the command)-.1 F .198
+(is the empty \214le)108 588 R F2(/de)2.698 E(v/null)-.15 E F0 5.198(.O)
+C .198(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc).1 G
+.197(ommand inherits the \214le descriptors of the calling shell)-2.698
+F(as modi\214ed by redirections.)108 600 Q F1(ENVIR)72 616.8 Q(ONMENT)
 -.329 E F0 2.353(When a program is in)108 628.8 R -.2(vo)-.4 G -.1(ke).2
 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)-4.853 G -2.15 -.25(iv e)
 -4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353
@@ -3871,7 +3878,7 @@ R 3.08(ye)-.15 G -.15(xe)-3.23 G .58
 (airs remo)-2.801 F -.15(ve)-.15 G 2.801(db).15 G 2.801(yt)-2.801 G(he)
 -2.801 E F3(unset)2.801 E F0 .3(command, plus an)2.8 F 2.8(ya)-.15 G .3
 (dditions via the)-2.8 F F3(export)2.8 E F0(and)2.8 E(GNU Bash-4.2)72
-768 Q(2010 July 21)148.175 E(31)198.165 E 0 Cg EP
+768 Q(2010 September 6)137.625 E(31)187.615 E 0 Cg EP
 %%Page: 32 32
 %%BeginPageSetup
 BP
@@ -4004,7 +4011,7 @@ F1(bash)2.5 E F0(.)A .785(The shell associates a)108 712.8 R F2(job)
 (jobs)2.84 E F0 2.84(command. When)2.84 F F1(bash)2.84 E F0 .341
 (starts a job asynchronously \(in the)2.84 F F2(bac)2.841 E(kgr)-.2 E
 (ound)-.45 E F0 .341(\), it prints a line).77 F(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(32)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(32)187.615 E 0 Cg EP
 %%Page: 33 33
 %%BeginPageSetup
 BP
@@ -4140,7 +4147,7 @@ F3(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.825
 F0(allo)4.326 E 1.826(ws these)-.25 F 1.499(prompt strings to be custom\
 ized by inserting a number of backslash-escaped special characters that\
  are)108 703.2 R(decoded as follo)108 715.2 Q(ws:)-.25 E(GNU Bash-4.2)72
-768 Q(2010 July 21)148.175 E(33)198.165 E 0 Cg EP
+768 Q(2010 September 6)137.625 E(33)187.615 E 0 Cg EP
 %%Page: 34 34
 %%BeginPageSetup
 BP
@@ -4212,10 +4219,10 @@ F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
 -.2(vo)-.4 G 3.709(cation. Line).2 F 1.208
 (editing is also used when using the)3.709 F F1<ad65>3.708 E F0 1.208
 (option to the)3.708 F F1 -.18(re)3.708 G(ad).18 E F0 -.2(bu)3.708 G
-3.708(iltin. By).2 F(def)108 573.6 Q .949
-(ault, the line editing commands are similar to those of emacs.)-.1 F
-3.45(Av)5.95 G .95(i-style line editing interf)-3.45 F .95(ace is also)
--.1 F -.2(av)108 585.6 S 3.35(ailable. Line)-.05 F .85
+3.708(iltin. By).2 F(def)108 573.6 Q .851
+(ault, the line editing commands are similar to those of Emacs.)-.1 F
+3.351(Av)5.851 G .851(i-style line editing interf)-3.351 F .852
+(ace is also)-.1 F -.2(av)108 585.6 S 3.35(ailable. Line)-.05 F .85
 (editing can be enabled at an)3.35 F 3.35(yt)-.15 G .85(ime using the)
 -3.35 F F1 .85(\255o emacs)3.35 F F0(or)3.35 E F1 .85(\255o vi)3.35 F F0
 .85(options to the)3.35 F F1(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E
@@ -4225,9 +4232,9 @@ F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
 (ine editing after the shell is running, use the)-3.263 F F1(+o)3.263 E
 (emacs)108 609.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1
 (set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 626.4 Q
-F0 .568(In this section, the emacs-style notation is used to denote k)
-108 638.4 R -.15(ey)-.1 G(strok).15 E 3.067(es. Control)-.1 F -.1(ke)
-3.067 G .567(ys are denoted by C\255)-.05 F F2 -.1(ke)C(y)-.2 E F0(,)A
+F0 .463(In this section, the Emacs-style notation is used to denote k)
+108 638.4 R -.15(ey)-.1 G(strok).15 E 2.963(es. Control)-.1 F -.1(ke)
+2.963 G .463(ys are denoted by C\255)-.05 F F2 -.1(ke)C(y)-.2 E F0(,)A
 1.152(e.g., C\255n means Control\255N.)108 650.4 R(Similarly)6.152 E(,)
 -.65 E F2(meta)4.032 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)
 -.05 F F2 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653(oM)-3.653 G 1.153
@@ -4252,8 +4259,8 @@ F0 .568(In this section, the emacs-style notation is used to denote k)
 (ument to a command that).18 F 2.938(acts in the forw)108 727.2 R 2.938
 (ard direction \(e.g.,)-.1 F F1(kill\255line)5.438 E F0 5.438(\)c)C
 2.938(auses that command to act in a backw)-5.438 F 2.938
-(ard direction.)-.1 F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(34)
-198.165 E 0 Cg EP
+(ard direction.)-.1 F(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E
+(34)187.615 E 0 Cg EP
 %%Page: 35 35
 %%BeginPageSetup
 BP
@@ -4361,7 +4368,7 @@ G(rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0
 (ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F4
 (Function Key 1)2.5 E F0(.)A
 (The full set of GNU Emacs style escape sequences is)108 710.4 Q
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(35)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(35)187.615 E 0 Cg EP
 %%Page: 36 36
 %%BeginPageSetup
 BP
@@ -4455,8 +4462,8 @@ n ellipsis when displaying possible completions.).25 E F1
 the v)5.783 F .782(alue of this)-.25 F -.25(va)144 729.6 S .237
 (riable, the user is ask).25 F .237(ed whether or not he wishes to vie)
 -.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G
-.237(re simply listed)-2.737 F(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(36)198.165 E 0 Cg EP
+.237(re simply listed)-2.737 F(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(36)187.615 E 0 Cg EP
 %%Page: 37 37
 %%BeginPageSetup
 BP
@@ -4475,10 +4482,10 @@ E F0 3.113(,r)C .613(eadline will con)-3.113 F -.15(ve)-.4 G .613
 (ord completion.)-.1 F .038
 (Completion characters will be inserted into the)5.038 F(line as if the)
 144 168 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0
-(.)A F1(editing\255mode \(emacs\))108 180 Q F0 .252
-(Controls whether readline be)144 192 R .253(gins with a set of k)-.15 F
-.553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.753 E F0
-(or)2.753 E F2(vi)2.753 E F0(.)A F1(editing\255mode)5.253 E F0
+(.)A F1(editing\255mode \(emacs\))108 180 Q F0 .141
+(Controls whether readline be)144 192 R .141(gins with a set of k)-.15 F
+.441 -.15(ey b)-.1 H .141(indings similar to).15 F F2(Emacs)2.642 E F0
+(or)2.642 E F2(vi)2.642 E F0(.)A F1(editing\255mode)5.142 E F0
 (can be set to either)144 204 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
 F0(.)A F1(echo\255contr)108 216 Q(ol\255characters \(On\))-.18 E F0
 1.211(When set to)144 228 R F1(On)3.711 E F0 3.711(,o)C 3.711(no)-3.711
@@ -4497,12 +4504,12 @@ G(s.).15 E F1(enable\255meta\255k)108 288 Q(ey \(On\))-.1 E F0 .64
 (he terminal claims to support).15 F(when it is called.)144 312 Q
 (On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H
 2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1
-(expand\255tilde \(Off\))108 324 Q F0(If set to)144 336 Q F1(on)2.5 E F0
+(expand\255tilde \(Off\))108 324 Q F0(If set to)144 336 Q F1(On)2.5 E F0
 2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w)
 -.15 E(ord completion.)-.1 E F1(history\255pr)108 348 Q(eser)-.18 E -.1
-(ve)-.1 G(\255point \(Off\)).1 E F0 1.492(If set to)144 360 R F1(on)
-3.992 E F0 3.992(,t)C 1.493(he history code attempts to place point at \
-the same location on each history line)-3.992 F(retrie)144 372 Q -.15
+(ve)-.1 G(\255point \(Off\)).1 E F0 1.338(If set to)144 360 R F1(On)
+3.838 E F0 3.838(,t)C 1.338(he history code attempts to place point at \
+the same location on each history line)-3.838 F(retrie)144 372 Q -.15
 (ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G
 (ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1
 (history\255size \(0\))108 384 Q F0 .463
@@ -4553,7 +4560,7 @@ E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 624 Q
 (ompleted names which are symbolic links to directories ha)-2.675 F .475
 -.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 696
 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(37)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(37)187.615 E 0 Cg EP
 %%Page: 38 38
 %%BeginPageSetup
 BP
@@ -4567,414 +4574,419 @@ F .193(gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E .457
 (If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.)
 -2.956 F 2.956('m)-.7 G .456(ust be supplied by the)-2.956 F
 (user in the \214lename to be completed.)144 120 Q F1
-(output\255meta \(Off\))108 132 Q F0 .506(If set to)144 144 R F1(On)
-3.006 E F0 3.006(,r)C .507(eadline will display characters with the eig\
-hth bit set directly rather than as a meta-)-3.006 F(pre\214x)144 156 Q
-(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 168 Q F0
-.809(If set to)144 180 R F1(On)3.308 E F0 3.308(,r)C .808
-(eadline uses an internal)-3.308 F/F2 10/Times-Italic@0 SF(mor)3.308 E
-(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
+(menu\255complete\255display\255pr)108 132 Q(e\214x \(Off\))-.18 E F0
+1.585(If set to)144 144 R F1(On)4.085 E F0 4.085(,m)C 1.585(enu complet\
+ion displays the common pre\214x of the list of possible completions)
+-4.085 F(\(which may be empty\) before c)144 156 Q
+(ycling through the list.)-.15 E F1(output\255meta \(Off\))108 168 Q F0
+.507(If set to)144 180 R F1(On)3.007 E F0 3.007(,r)C .507(eadline will \
+display characters with the eighth bit set directly rather than as a me\
+ta-)-3.007 F(pre\214x)144 192 Q(ed escape sequence.)-.15 E F1
+(page\255completions \(On\))108 204 Q F0 .808(If set to)144 216 R F1(On)
+3.308 E F0 3.308(,r)C .808(eadline uses an internal)-3.308 F/F2 10
+/Times-Italic@0 SF(mor)3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
 (ager to display a screenful of possible comple-)-3.308 F
-(tions at a time.)144 192 Q F1
-(print\255completions\255horizontally \(Off\))108 204 Q F0 1.318
-(If set to)144 216 R F1(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\
-play completions with matches sorted horizontally in alphabetical)-3.818
-F(order)144 228 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1 -2.29 -.18(re v)108 240 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .873(If set to)144 252 R F1(on)3.373 E F0 3.373(,r)C .872
+(tions at a time.)144 228 Q F1
+(print\255completions\255horizontally \(Off\))108 240 Q F0 1.319
+(If set to)144 252 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\
+play completions with matches sorted horizontally in alphabetical)-3.819
+F(order)144 264 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
+E F1 -2.29 -.18(re v)108 276 T(ert\255all\255at\255newline \(Off\)).08 E
+F0 .698(If set to)144 288 R F1(On)3.198 E F0 3.198(,r)C .699
 (eadline will undo all changes to history lines before returning when)
--3.373 F F1(accept\255line)3.372 E F0(is)3.372 E -.15(exe)144 264 S
+-3.198 F F1(accept\255line)3.199 E F0(is)3.199 E -.15(exe)144 300 S
 2.686(cuted. By).15 F(def)2.686 E .186
 (ault, history lines may be modi\214ed and retain indi)-.1 F .186
-(vidual undo lists across calls to)-.25 F F1 -.18(re)144 276 S(adline)
-.18 E F0(.)A F1(sho)108 288 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
-F0 .478(This alters the def)144 300 R .478(ault beha)-.1 F .478
-(vior of the completion functions.)-.2 F .477(If set to)5.477 F F1(on)
-2.977 E F0 2.977(,w)C .477(ords which ha)-3.077 F .777 -.15(ve m)-.2 H
+(vidual undo lists across calls to)-.25 F F1 -.18(re)144 312 S(adline)
+.18 E F0(.)A F1(sho)108 324 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
+F0 .303(This alters the def)144 336 R .303(ault beha)-.1 F .304
+(vior of the completion functions.)-.2 F .304(If set to)5.304 F F1(On)
+2.804 E F0 2.804(,w)C .304(ords which ha)-2.904 F .604 -.15(ve m)-.2 H
 (ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 312 R(bell.)144 324 Q F1
-(sho)108 336 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346
-(This alters the def)144 348 R 5.346(ault beha)-.1 F 5.345
-(vior of the completion functions in a f)-.2 F 5.345(ashion similar to)
--.1 F F1(sho)144 360 Q(w\255all\255if\255ambiguous)-.1 E F0 6.922(.I)C
-4.422(fs)-6.922 G 1.922(et to)-4.422 F F1(on)4.422 E F0 4.422(,w)C 1.922
-(ords which ha)-4.522 F 2.223 -.15(ve m)-.2 H 1.923
-(ore than one possible completion).15 F 1.04(without an)144 372 R 3.54
+isted immediately instead of ringing the)144 348 R(bell.)144 360 Q F1
+(sho)108 372 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
+(This alters the def)144 384 R 5.345(ault beha)-.1 F 5.345
+(vior of the completion functions in a f)-.2 F 5.346(ashion similar to)
+-.1 F F1(sho)144 396 Q(w\255all\255if\255ambiguous)-.1 E F0 6.691(.I)C
+4.191(fs)-6.691 G 1.691(et to)-4.191 F F1(On)4.191 E F0 4.191(,w)C 1.691
+(ords which ha)-4.291 F 1.991 -.15(ve m)-.2 H 1.691
+(ore than one possible completion).15 F 1.039(without an)144 408 R 3.539
 (yp)-.15 G 1.039
-(ossible partial completion \(the possible completions don')-3.54 F
-3.539(ts)-.18 G 1.039(hare a common pre\214x\))-3.539 F(cause the match\
-es to be listed immediately instead of ringing the bell.)144 384 Q F1
-(skip\255completed\255text \(Off\))108 396 Q F0 .094(If set to)144 408 R
-F1(On)2.594 E F0 2.594(,t)C .095(his alters the def)-2.594 F .095
-(ault completion beha)-.1 F .095
-(vior when inserting a single match into the line.)-.2 F(It')144 420 Q
-2.546(so)-.55 G .046(nly acti)-2.546 F .346 -.15(ve w)-.25 H .046
-(hen performing completion in the middle of a w).15 F 2.545(ord. If)-.1
-F .045(enabled, readline does not)2.545 F 1.394(insert characters from \
-the completion that match characters after point in the w)144 432 R
-1.395(ord being com-)-.1 F(pleted, so portions of the w)144 444 Q
+(ossible partial completion \(the possible completions don')-3.539 F
+3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\
+s to be listed immediately instead of ringing the bell.)144 420 Q F1
+(skip\255completed\255text \(Off\))108 432 Q F0 .095(If set to)144 444 R
+F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095
+(ault completion beha)-.1 F .094
+(vior when inserting a single match into the line.)-.2 F(It')144 456 Q
+2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046
+(hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1
+F .046(enabled, readline does not)2.546 F 1.394(insert characters from \
+the completion that match characters after point in the w)144 468 R
+1.394(ord being com-)-.1 F(pleted, so portions of the w)144 480 Q
 (ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1
-(visible\255stats \(Off\))108 456 Q F0 .847(If set to)144 468 R F1(On)
+(visible\255stats \(Off\))108 492 Q F0 .846(If set to)144 504 R F1(On)
 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346
 (st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846
 (\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 480 Q F1
-(Readline Conditional Constructs)87 496.8 Q F0 .05
-(Readline implements a f)108 508.8 R .05(acility similar in spirit to t\
-he conditional compilation features of the C preprocessor)-.1 F .097
-(which allo)108 520.8 R .097(ws k)-.25 F .396 -.15(ey b)-.1 H .096
+(when listing possible completions.)144 516 Q F1
+(Readline Conditional Constructs)87 532.8 Q F0 .05
+(Readline implements a f)108 544.8 R .05(acility similar in spirit to t\
+he conditional compilation features of the C preprocessor)-.1 F .096
+(which allo)108 556.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096
 (indings and v).15 F .096
-(ariable settings to be performed as the result of tests.)-.25 F .096
-(There are four parser)5.096 F(directi)108 532.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 549.6 Q F0(The)24.89 E F1($if)2.962 E
-F0 .462(construct allo)2.962 F .463(ws bindings to be made based on the\
- editing mode, the terminal being used,)-.25 F .478
-(or the application using readline.)144 561.6 R .477(The te)5.477 F .477
+(ariable settings to be performed as the result of tests.)-.25 F .097
+(There are four parser)5.096 F(directi)108 568.8 Q -.15(ve)-.25 G 2.5
+(su).15 G(sed.)-2.5 E F1($if)108 585.6 Q F0(The)24.89 E F1($if)2.963 E
+F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
+ editing mode, the terminal being used,)-.25 F .477
+(or the application using readline.)144 597.6 R .477(The te)5.477 F .477
 (xt of the test e)-.15 F .477
 (xtends to the end of the line; no characters)-.15 F
-(are required to isolate it.)144 573.6 Q F1(mode)144 590.4 Q F0(The)
-12.67 E F1(mode=)3.711 E F0 1.211(form of the)3.711 F F1($if)3.711 E F0
+(are required to isolate it.)144 609.6 Q F1(mode)144 626.4 Q F0(The)
+12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0
 (directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211
 (sed to test whether readline is in emacs or vi)-3.711 F 3.065
-(mode. This)180 602.4 R .565(may be used in conjunction with the)3.065 F
+(mode. This)180 638.4 R .565(may be used in conjunction with the)3.065 F
 F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to)
-3.065 F .735(set bindings in the)180 614.4 R F2(emacs\255standar)3.235 E
+3.065 F .735(set bindings in the)180 650.4 R F2(emacs\255standar)3.235 E
 (d)-.37 E F0(and)3.235 E F2(emacs\255ctlx)3.235 E F0 -.1(ke)3.235 G .735
-(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 626.4
-Q F1(term)144 643.2 Q F0(The)15.46 E F1(term=)3.197 E F0 .696
-(form may be used to include terminal-speci\214c k)3.197 F .996 -.15
-(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 655.2 R
+(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 662.4
+Q F1(term)144 679.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696
+(form may be used to include terminal-speci\214c k)3.196 F .996 -.15
+(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 691.2 R
 .954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
 (sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
-(wo)3.154 G .654(rd on the right side of).1 F(the)180 667.2 Q F1(=)3.232
-E F0 .732(is tested ag)3.232 F .732(ainst the both full name of the ter\
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 703.2 Q F1(=)3.231
+E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\
 minal and the portion of the terminal)-.05 F(name before the \214rst)180
-679.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
+715.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
 (to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
-2.5(,f).77 G(or instance.)-2.5 E F1(application)144 696 Q F0(The)180 708
-Q F1(application)3.003 E F0 .503
-(construct is used to include application-speci\214c settings.)3.003 F
-.503(Each program)5.503 F .114(using the readline library sets the)180
-720 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
-(nd an initialization \214le can test for a)-2.614 F(GNU Bash-4.2)72 768
-Q(2010 July 21)148.175 E(38)198.165 E 0 Cg EP
+2.5(,f).77 G(or instance.)-2.5 E(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(38)187.615 E 0 Cg EP
 %%Page: 39 39
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .5(particular v)180 84 R 3(alue. This)-.25 F .501
-(could be used to bind k)3 F .801 -.15(ey s)-.1 H .501
-(equences to functions useful for a spe-).15 F .397(ci\214c program.)180
-96 R -.15(Fo)5.397 G 2.896(ri).15 G .396(nstance, the follo)-2.896 F
-.396(wing command adds a k)-.25 F .696 -.15(ey s)-.1 H .396
-(equence that quotes the).15 F(current or pre)180 108 Q(vious w)-.25 E
-(ord in Bash:)-.1 E/F1 10/Times-Bold@0 SF($if)180 132 Q F0(Bash)2.5 E
-2.5(#Q)180 144 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
-("\\C\255xq": "\\eb\\"\\ef\\"")180 156 Q F1($endif)180 168 Q($endif)108
-184.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
+-.35 E/F1 10/Times-Bold@0 SF(application)144 84 Q F0(The)180 96 Q F1
+(application)3.003 E F0 .503
+(construct is used to include application-speci\214c settings.)3.003 F
+.503(Each program)5.503 F .114(using the readline library sets the)180
+108 R/F2 10/Times-Italic@0 SF .114(application name)2.614 F F0 2.614(,a)
+C .114(nd an initialization \214le can test for a)-2.614 F .501
+(particular v)180 120 R 3.001(alue. This)-.25 F .501
+(could be used to bind k)3.001 F .801 -.15(ey s)-.1 H .5
+(equences to functions useful for a spe-).15 F .396(ci\214c program.)180
+132 R -.15(Fo)5.396 G 2.896(ri).15 G .396(nstance, the follo)-2.896 F
+.396(wing command adds a k)-.25 F .696 -.15(ey s)-.1 H .397
+(equence that quotes the).15 F(current or pre)180 144 Q(vious w)-.25 E
+(ord in)-.1 E F1(bash)2.5 E F0(:)A F1($if)180 168 Q F0(Bash)2.5 E 2.5
+(#Q)180 180 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
+("\\C\255xq": "\\eb\\"\\ef\\"")180 192 Q F1($endif)180 204 Q($endif)108
+220.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
 (xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else)
-108 201.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
+108 237.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
 (directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 G
-(cuted if the test f).15 E(ails.)-.1 E F1($include)108 218.4 Q F0 .356
-(This directi)144 230.4 R .656 -.15(ve t)-.25 H(ak).15 E .356
-(es a single \214lename as an ar)-.1 F .357
+(cuted if the test f).15 E(ails.)-.1 E F1($include)108 254.4 Q F0 .357
+(This directi)144 266.4 R .657 -.15(ve t)-.25 H(ak).15 E .357
+(es a single \214lename as an ar)-.1 F .356
 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
-144 242.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
--.15(ve w)-.25 H(ould read).05 E/F2 10/Times-Italic@0 SF(/etc/inputr)2.5
-E(c)-.37 E F0(:)A F1($include)144 266.4 Q F2(/etc/inputr)5.833 E(c)-.37
-E F1(Sear)87 283.2 Q(ching)-.18 E F0 .835(Readline pro)108 295.2 R .835
+144 278.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
+-.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1
+($include)144 302.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 319.2 Q
+(ching)-.18 E F0 .834(Readline pro)108 331.2 R .834
 (vides commands for searching through the command history \(see)-.15 F
-/F3 9/Times-Bold@0 SF(HIST)3.334 E(OR)-.162 E(Y)-.315 E F0(belo)3.084 E
-.834(w\) for lines)-.25 F(containing a speci\214ed string.)108 307.2 Q
+/F3 9/Times-Bold@0 SF(HIST)3.335 E(OR)-.162 E(Y)-.315 E F0(belo)3.085 E
+.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 343.2 Q
 (There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E
 (emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51
-E .697(Incremental searches be)108 324 R .697
+E .698(Incremental searches be)108 360 R .698
 (gin before the user has \214nished typing the search string.)-.15 F
-.698(As each character of the)5.698 F .113
-(search string is typed, readline displays the ne)108 336 R .112
+.697(As each character of the)5.697 F .112
+(search string is typed, readline displays the ne)108 372 R .112
 (xt entry from the history matching the string typed so f)-.15 F(ar)-.1
-E 5.112(.A)-.55 G(n)-5.112 E .542
-(incremental search requires only as man)108 348 R 3.042(yc)-.15 G .542
-(haracters as needed to \214nd the desired history entry)-3.042 F 5.542
-(.T)-.65 G .542(he char)-5.542 F(-)-.2 E .224(acters present in the v)
-108 360 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E
+E 5.113(.A)-.55 G(n)-5.113 E .542
+(incremental search requires only as man)108 384 R 3.042(yc)-.15 G .542
+(haracters as needed to \214nd the desired history entry)-3.042 F 5.541
+(.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224(acters present in the v)
+108 396 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E
 F0 -.25(va)2.724 G .224
 (riable are used to terminate an incremental search.).25 F .66
-(If that v)108 372 R .66(ariable has not been assigned a v)-.25 F .66
+(If that v)108 408 R .66(ariable has not been assigned a v)-.25 F .66
 (alue the Escape and Control-J characters will terminate an incre-)-.25
-F .097(mental search.)108 384 R .096(Control-G will abort an incrementa\
-l search and restore the original line.)5.097 F .096(When the search is)
-5.096 F(terminated, the history entry containing the search string beco\
-mes the current line.)108 396 Q 2.938 -.8(To \214)108 412.8 T 1.339(nd \
+F .096(mental search.)108 420 R .096(Control-G will abort an incrementa\
+l search and restore the original line.)5.096 F .097(When the search is)
+5.097 F(terminated, the history entry containing the search string beco\
+mes the current line.)108 432 Q 2.939 -.8(To \214)108 448.8 T 1.339(nd \
 other matching entries in the history list, type Control-S or Control-R\
- as appropriate.).8 F 1.339(This will)6.339 F .675(search backw)108
-424.8 R .675(ard or forw)-.1 F .675(ard in the history for the ne)-.1 F
-.674(xt entry matching the search string typed so f)-.15 F(ar)-.1 E
-5.674(.A)-.55 G -.15(ny)-5.674 G .174(other k)108 436.8 R .474 -.15
+ as appropriate.).8 F 1.338(This will)6.338 F .674(search backw)108
+460.8 R .674(ard or forw)-.1 F .674(ard in the history for the ne)-.1 F
+.675(xt entry matching the search string typed so f)-.15 F(ar)-.1 E
+5.675(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 472.8 R .475 -.15
 (ey s)-.1 H .174
 (equence bound to a readline command will terminate the search and e).15
-F -.15(xe)-.15 G .175(cute that command.).15 F -.15(Fo)5.175 G(r).15 E
-.541(instance, a)108 448.8 R F2(ne)3.041 E(wline)-.15 E F0 .541
-(will terminate the search and accept the line, thereby e)3.041 F -.15
-(xe)-.15 G .54(cuting the command from the).15 F(history list.)108 460.8
-Q .653(Readline remembers the last incremental search string.)108 477.6
-R .653(If tw)5.653 F 3.153(oC)-.1 G .653(ontrol-Rs are typed without an)
--3.153 F 3.153(yi)-.15 G(nterv)-3.153 E(en-)-.15 E
-(ing characters de\214ning a ne)108 489.6 Q 2.5(ws)-.25 G
+F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E
+.54(instance, a)108 484.8 R F2(ne)3.04 E(wline)-.15 E F0 .541
+(will terminate the search and accept the line, thereby e)3.04 F -.15
+(xe)-.15 G .541(cuting the command from the).15 F(history list.)108
+496.8 Q .653(Readline remembers the last incremental search string.)108
+513.6 R .653(If tw)5.653 F 3.153(oC)-.1 G .653
+(ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E
+(en-)-.15 E(ing characters de\214ning a ne)108 525.6 Q 2.5(ws)-.25 G
 (earch string, an)-2.5 E 2.5(yr)-.15 G(emembered search string is used.)
 -2.5 E .567(Non-incremental searches read the entire search string befo\
-re starting to search for matching history lines.)108 506.4 R(The searc\
+re starting to search for matching history lines.)108 542.4 R(The searc\
 h string may be typed by the user or be part of the contents of the cur\
-rent line.)108 518.4 Q F1(Readline Command Names)87 535.2 Q F0 1.391
-(The follo)108 547.2 R 1.391
+rent line.)108 554.4 Q F1(Readline Command Names)87 571.2 Q F0 1.392
+(The follo)108 583.2 R 1.391
 (wing is a list of the names of the commands and the def)-.25 F 1.391
 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 559.2 R .122
-(names without an accompan)2.622 F .122(ying k)-.15 F .421 -.15(ey s)-.1
-H .121(equence are unbound by def).15 F 2.621(ault. In)-.1 F .121
-(the follo)2.621 F(wing)-.25 E(descriptions,)108 571.2 Q F2(point)3.41 E
-F0 .91(refers to the current cursor position, and)3.41 F F2(mark)3.411 E
-F0 .911(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.411(db)
-.15 G 3.411(yt)-3.411 G(he)-3.411 E F1(set\255mark)108 583.2 Q F0 2.5
+3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 595.2 R .121
+(names without an accompan)2.621 F .121(ying k)-.15 F .421 -.15(ey s)-.1
+H .122(equence are unbound by def).15 F 2.622(ault. In)-.1 F .122
+(the follo)2.622 F(wing)-.25 E(descriptions,)108 607.2 Q F2(point)3.411
+E F0 .911(refers to the current cursor position, and)3.411 F F2(mark)
+3.411 E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41
+(db).15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 619.2 Q F0 2.5
 (command. The)2.5 F(te)2.5 E
 (xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
-2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 600 Q(or Mo)-.25 E(ving)-.1 E
-(beginning\255of\255line \(C\255a\))108 612 Q F0(Mo)144 624 Q .3 -.15
+2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 636 Q(or Mo)-.25 E(ving)-.1 E
+(beginning\255of\255line \(C\255a\))108 648 Q F0(Mo)144 660 Q .3 -.15
 (ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1
-(end\255of\255line \(C\255e\))108 636 Q F0(Mo)144 648 Q .3 -.15(ve t)
--.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 660 S
-(rward\255char \(C\255f\)).25 E F0(Mo)144 672 Q .3 -.15(ve f)-.15 H(orw)
-.15 E(ard a character)-.1 E(.)-.55 E F1(backward\255char \(C\255b\))108
-684 Q F0(Mo)144 696 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(39)198.165 E 0 Cg EP
+(end\255of\255line \(C\255e\))108 672 Q F0(Mo)144 684 Q .3 -.15(ve t)
+-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 696 S
+(rward\255char \(C\255f\)).25 E F0(Mo)144 708 Q .3 -.15(ve f)-.15 H(orw)
+.15 E(ard a character)-.1 E(.)-.55 E(GNU Bash-4.2)72 768 Q
+(2010 September 6)137.625 E(39)187.615 E 0 Cg EP
 %%Page: 40 40
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF -.25(fo)108 84 S(rward\255w).25 E
-(ord \(M\255f\))-.1 E F0(Mo)144 96 Q .823 -.15(ve f)-.15 H(orw).15 E
-.523(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)-.1 F
-.522(ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 108 Q F1(backward\255w)108 120 Q(ord \(M\255b\))
--.1 E F0(Mo)144 132 Q 1.71 -.15(ve b)-.15 H 1.41
+-.35 E/F1 10/Times-Bold@0 SF(backward\255char \(C\255b\))108 84 Q F0(Mo)
+144 96 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)
+108 108 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 120 Q .822
+-.15(ve f)-.15 H(orw).15 E .522(ard to the end of the ne)-.1 F .523
+(xt w)-.15 F 3.023(ord. W)-.1 F .523
+(ords are composed of alphanumeric characters \(let-)-.8 F
+(ters and digits\).)144 132 Q F1(backward\255w)108 144 Q(ord \(M\255b\))
+-.1 E F0(Mo)144 156 Q 1.71 -.15(ve b)-.15 H 1.41
 (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 144 Q F1(shell\255f)108 156 Q
-(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 168 Q .784 -.15(ve f)-.15 H(orw)
+(characters \(letters and digits\).)144 168 Q F1(shell\255f)108 180 Q
+(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 192 Q .784 -.15(ve f)-.15 H(orw)
 .15 E .484(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984(ord. W)
 -.1 F .484(ords are delimited by non-quoted shell metacharac-)-.8 F
-(ters.)144 180 Q F1(shell\255backward\255w)108 192 Q(ord)-.1 E F0(Mo)144
-204 Q .908 -.15(ve b)-.15 H .609(ack to the start of the current or pre)
-.15 F .609(vious w)-.25 F 3.109(ord. W)-.1 F .609
-(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 216 Q
-F1(clear\255scr)108 228 Q(een \(C\255l\))-.18 E F0 .993
-(Clear the screen lea)144 240 R .993
+(ters.)144 204 Q F1(shell\255backward\255w)108 216 Q(ord)-.1 E F0(Mo)144
+228 Q .909 -.15(ve b)-.15 H .609(ack to the start of the current or pre)
+.15 F .609(vious w)-.25 F 3.109(ord. W)-.1 F .608
+(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 240 Q
+F1(clear\255scr)108 252 Q(een \(C\255l\))-.18 E F0 .993
+(Clear the screen lea)144 264 R .993
 (ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G
 .993(th an ar).4 F .993(gument, refresh the)-.18 F
-(current line without clearing the screen.)144 252 Q F1 -.18(re)108 264
+(current line without clearing the screen.)144 276 Q F1 -.18(re)108 288
 S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144
-276 Q F1(Commands f)87 292.8 Q(or Manipulating the History)-.25 E
-(accept\255line \(Newline, Retur)108 304.8 Q(n\))-.15 E F0 .158
-(Accept the line re)144 316.8 R -.05(ga)-.15 G .158
+300 Q F1(Commands f)87 316.8 Q(or Manipulating the History)-.25 E
+(accept\255line \(Newline, Retur)108 328.8 Q(n\))-.15 E F0 .159
+(Accept the line re)144 340.8 R -.05(ga)-.15 G .159
 (rdless of where the cursor is.).05 F .158(If this line is non-empty)
-5.158 F 2.659(,a)-.65 G .159(dd it to the history list)-2.659 F .699
-(according to the state of the)144 328.8 R/F2 9/Times-Bold@0 SF
+5.158 F 2.658(,a)-.65 G .158(dd it to the history list)-2.658 F .699
+(according to the state of the)144 352.8 R/F2 9/Times-Bold@0 SF
 (HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va)2.949 G 3.199(riable. If).25 F
 .699(the line is a modi\214ed history line, then)3.199 F
-(restore the history line to its original state.)144 340.8 Q F1(pr)108
-352.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
-(Fetch the pre)144 364.8 Q(vious command from the history list, mo)-.25
-E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 376.8
-Q F0(Fetch the ne)144 388.8 Q(xt command from the history list, mo)-.15
+(restore the history line to its original state.)144 364.8 Q F1(pr)108
+376.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
+(Fetch the pre)144 388.8 Q(vious command from the history list, mo)-.25
+E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 400.8
+Q F0(Fetch the ne)144 412.8 Q(xt command from the history list, mo)-.15
 E(ving forw)-.15 E(ard in the list.)-.1 E F1
-(beginning\255of\255history \(M\255<\))108 400.8 Q F0(Mo)144 412.8 Q .3
+(beginning\255of\255history \(M\255<\))108 424.8 Q F0(Mo)144 436.8 Q .3
 -.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)
--.65 E F1(end\255of\255history \(M\255>\))108 424.8 Q F0(Mo)144 436.8 Q
+-.65 E F1(end\255of\255history \(M\255>\))108 448.8 Q F0(Mo)144 460.8 Q
 .3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5
 (,i)-.65 G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18
-(re v)108 448.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
-1.47(Search backw)144 460.8 R 1.471
-(ard starting at the current line and mo)-.1 F 1.471
+(re v)108 472.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
+1.471(Search backw)144 484.8 R 1.471
+(ard starting at the current line and mo)-.1 F 1.47
 (ving `up' through the history as necessary)-.15 F(.)-.65 E
-(This is an incremental search.)144 472.8 Q F1 -.25(fo)108 484.8 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132
-(Search forw)144 496.8 R 1.132(ard starting at the current line and mo)
--.1 F 1.131(ving `do)-.15 F 1.131(wn' through the history as necessary)
--.25 F(.)-.65 E(This is an incremental search.)144 508.8 Q F1
-(non\255incr)108 520.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
-(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .164(Search backw)
-144 532.8 R .164(ard through the history starting at the current line u\
-sing a non-incremental search for)-.1 F 2.5(as)144 544.8 S
-(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 556.8 Q
+(This is an incremental search.)144 496.8 Q F1 -.25(fo)108 508.8 S
+(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131
+(Search forw)144 520.8 R 1.131(ard starting at the current line and mo)
+-.1 F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)
+-.25 F(.)-.65 E(This is an incremental search.)144 532.8 Q F1
+(non\255incr)108 544.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
+(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)
+144 556.8 R .164(ard through the history starting at the current line u\
+sing a non-incremental search for)-.1 F 2.5(as)144 568.8 S
+(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 580.8 Q
 (emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18
-E F0 1.354(Search forw)144 568.8 R 1.354(ard through the history using \
+E F0 1.353(Search forw)144 592.8 R 1.354(ard through the history using \
 a non-incremental search for a string supplied by the)-.1 F(user)144
-580.8 Q(.)-.55 E F1(history\255sear)108 592.8 Q(ch\255f)-.18 E(orward)
--.25 E F0 .248(Search forw)144 604.8 R .249(ard through the history for\
+604.8 Q(.)-.55 E F1(history\255sear)108 616.8 Q(ch\255f)-.18 E(orward)
+-.25 E F0 .249(Search forw)144 628.8 R .249(ard through the history for\
  the string of characters between the start of the current line)-.1 F
-(and the point.)144 616.8 Q(This is a non-incremental search.)5 E F1
-(history\255sear)108 628.8 Q(ch\255backward)-.18 E F0 .951(Search backw)
-144 640.8 R .951(ard through the history for the string of characters b\
-etween the start of the current)-.1 F(line and the point.)144 652.8 Q
-(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 664.8 Q
+(and the point.)144 640.8 Q(This is a non-incremental search.)5 E F1
+(history\255sear)108 652.8 Q(ch\255backward)-.18 E F0 .95(Search backw)
+144 664.8 R .951(ard through the history for the string of characters b\
+etween the start of the current)-.1 F(line and the point.)144 676.8 Q
+(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 688.8 Q
 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144
-676.8 R .622(gument to the pre)-.18 F .622
+700.8 R .622(gument to the pre)-.18 F .622
 (vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
-.622(vious line\))-.25 F .795(at point.)144 688.8 R -.4(Wi)5.795 G .794
+.622(vious line\))-.25 F .794(at point.)144 712.8 R -.4(Wi)5.794 G .794
 (th an ar).4 F(gument)-.18 E/F3 10/Times-Italic@0 SF(n)3.294 E F0 3.294
 (,i).24 G .794(nsert the)-3.294 F F3(n)3.294 E F0 .794(th w)B .794
-(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794
-(ords in the)-.1 F(pre)144 700.8 Q .291(vious command be)-.25 F .291
+(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795
+(ords in the)-.1 F(pre)144 724.8 Q .292(vious command be)-.25 F .292
 (gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)
 -2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291
-(ument inserts the).18 F F3(n)2.791 E F0 .291(th w)B .292
-(ord from the end of)-.1 F .282(the pre)144 712.8 R .282(vious command.)
--.25 F .282(Once the ar)5.282 F(gument)-.18 E F3(n)2.781 E F0 .281
-(is computed, the ar)2.781 F .281(gument is e)-.18 F .281
-(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 724.8 Q
-(xpansion had been speci\214ed.)-.15 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(40)198.165 E 0 Cg EP
+(ument inserts the).18 F F3(n)2.791 E F0 .291(th w)B .291
+(ord from the end of)-.1 F(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(40)187.615 E 0 Cg EP
 %%Page: 41 41
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(yank\255last\255ar)108 84 Q 2.5(g\()-.1 G
--1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.307
-(Insert the last ar)144 96 R 1.307(gument to the pre)-.18 F 1.307
-(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308
-(vious history entry\).)-.25 F -.4(Wi)144 108 S .736(th an ar).4 F .736
-(gument, beha)-.18 F 1.036 -.15(ve ex)-.2 H .736(actly lik).15 F(e)-.1 E
-F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.735(.S)C(uccessi)-5.735 E
-1.035 -.15(ve c)-.25 H .735(alls to).15 F F1(yank\255last\255ar)3.235 E
-(g)-.1 E F0(mo)3.235 E -.15(ve)-.15 G .728
-(back through the history list, inserting the last ar)144 120 R .728
-(gument of each line in turn.)-.18 F .729(The history e)5.728 F(xpan-)
--.15 E .14(sion f)144 132 R .14(acilities are used to e)-.1 F .14
+-.35 E .281(the pre)144 84 R .281(vious command.)-.25 F .281
+(Once the ar)5.281 F(gument)-.18 E/F1 10/Times-Italic@0 SF(n)2.781 E F0
+.281(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
+(xtracted as if the "!)-.15 F F1(n)A F0(")A(history e)144 96 Q
+(xpansion had been speci\214ed.)-.15 E/F2 10/Times-Bold@0 SF
+(yank\255last\255ar)108 108 Q 2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F
+-1.667(M\255_ \))2.5 F F0 1.308(Insert the last ar)144 120 R 1.308
+(gument to the pre)-.18 F 1.307(vious command \(the last w)-.25 F 1.307
+(ord of the pre)-.1 F 1.307(vious history entry\).)-.25 F -.4(Wi)144 132
+S .735(th an ar).4 F .735(gument, beha)-.18 F 1.035 -.15(ve ex)-.2 H
+.735(actly lik).15 F(e)-.1 E F2(yank\255nth\255ar)3.235 E(g)-.1 E F0
+5.736(.S)C(uccessi)-5.736 E 1.036 -.15(ve c)-.25 H .736(alls to).15 F F2
+(yank\255last\255ar)3.236 E(g)-.1 E F0(mo)3.236 E -.15(ve)-.15 G .728
+(back through the history list, inserting the last ar)144 144 R .728
+(gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-)
+-.15 E .14(sion f)144 156 R .14(acilities are used to e)-.1 F .14
 (xtract the last ar)-.15 F .14(gument, as if the "!$" history e)-.18 F
-.14(xpansion had been speci-)-.15 F(\214ed.)144 144 Q F1
-(shell\255expand\255line \(M\255C\255e\))108 156 Q F0 .622
-(Expand the line as the shell does.)144 168 R .622
-(This performs alias and history e)5.622 F .623
-(xpansion as well as all of the)-.15 F(shell w)144 180 Q(ord e)-.1 E 2.5
-(xpansions. See)-.15 F/F2 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25
+.14(xpansion had been speci-)-.15 F(\214ed.)144 168 Q F2
+(shell\255expand\255line \(M\255C\255e\))108 180 Q F0 .623
+(Expand the line as the shell does.)144 192 R .622
+(This performs alias and history e)5.622 F .622
+(xpansion as well as all of the)-.15 F(shell w)144 204 Q(ord e)-.1 E 2.5
+(xpansions. See)-.15 F/F3 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25
 (YE)-.315 G(XP)-2.25 E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G
-(or a description of history e)-2.5 E(xpansion.)-.15 E F1
-(history\255expand\255line \(M\255^\))108 192 Q F0 .939
-(Perform history e)144 204 R .939(xpansion on the current line.)-.15 F
-(See)5.939 E F2(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
-(ANSION)-.666 E F0(belo)3.189 E 3.438(wf)-.25 G .938(or a descrip-)
--3.438 F(tion of history e)144 216 Q(xpansion.)-.15 E F1(magic\255space)
-108 228 Q F0 1.626(Perform history e)144 240 R 1.626
-(xpansion on the current line and insert a space.)-.15 F(See)6.627 E F2
-(HIST)4.127 E(OR)-.162 E 3.877(YE)-.315 G(XP)-3.877 E(ANSION)-.666 E F0
-(belo)144 252 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
-(xpansion.)-.15 E F1(alias\255expand\255line)108 264 Q F0 .395
-(Perform alias e)144 276 R .395(xpansion on the current line.)-.15 F
-(See)5.395 E F2(ALIASES)2.895 E F0(abo)2.645 E .694 -.15(ve f)-.15 H
-.394(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 288 Q F1
-(history\255and\255alias\255expand\255line)108 300 Q F0
-(Perform history and alias e)144 312 Q(xpansion on the current line.)
--.15 E F1(insert\255last\255ar)108 324 Q(gument \(M\255.)-.1 E 2.5(,M)
-.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 336 S(ynon)-2.5 E(ym for)
--.15 E F1(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F1
-(operate\255and\255get\255next \(C\255o\))108 348 Q F0 .947
-(Accept the current line for e)144 360 R -.15(xe)-.15 G .948
-(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.248 -.15
-(ve t)-.25 H 3.448(ot).15 G .948(he current line from the)-3.448 F
-(history for editing.)144 372 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
-(ument is ignored.).18 E F1
-(edit\255and\255execute\255command \(C\255xC\255e\))108 384 Q F0(In)144
-396 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
+(or a description of history e)-2.5 E(xpansion.)-.15 E F2
+(history\255expand\255line \(M\255^\))108 216 Q F0 .938
+(Perform history e)144 228 R .939(xpansion on the current line.)-.15 F
+(See)5.939 E F3(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
+(ANSION)-.666 E F0(belo)3.189 E 3.439(wf)-.25 G .939(or a descrip-)
+-3.439 F(tion of history e)144 240 Q(xpansion.)-.15 E F2(magic\255space)
+108 252 Q F0 1.627(Perform history e)144 264 R 1.627
+(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F3
+(HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E(ANSION)-.666 E F0
+(belo)144 276 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
+(xpansion.)-.15 E F2(alias\255expand\255line)108 288 Q F0 .394
+(Perform alias e)144 300 R .394(xpansion on the current line.)-.15 F
+(See)5.395 E F3(ALIASES)2.895 E F0(abo)2.645 E .695 -.15(ve f)-.15 H
+.395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 312 Q F2
+(history\255and\255alias\255expand\255line)108 324 Q F0
+(Perform history and alias e)144 336 Q(xpansion on the current line.)
+-.15 E F2(insert\255last\255ar)108 348 Q(gument \(M\255.)-.1 E 2.5(,M)
+.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 360 S(ynon)-2.5 E(ym for)
+-.15 E F2(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F2
+(operate\255and\255get\255next \(C\255o\))108 372 Q F0 .948
+(Accept the current line for e)144 384 R -.15(xe)-.15 G .948
+(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.247 -.15
+(ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 F
+(history for editing.)144 396 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
+(ument is ignored.).18 E F2
+(edit\255and\255execute\255command \(C\255xC\255e\))108 408 Q F0(In)144
+420 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
 (ditor on the current command line, and e)-3.526 F -.15(xe)-.15 G 1.026
-(cute the result as shell commands.).15 F F1(Bash)6.026 E F0
-(attempts to in)144 408 Q -.2(vo)-.4 G -.1(ke).2 G F2($VISU)2.6 E(AL)
--.54 E/F3 9/Times-Roman@0 SF(,)A F2($EDIT)2.25 E(OR)-.162 E F3(,)A F0
-(and)2.25 E/F4 10/Times-Italic@0 SF(emacs)2.5 E F0(as the editor)2.5 E
-2.5(,i)-.4 G 2.5(nt)-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87
-424.8 Q(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108
-436.8 Q F0 .357(Delete the character at point.)144 448.8 R .358
-(If point is at the be)5.358 F .358
-(ginning of the line, there are no characters in the)-.15 F
-(line, and the last character typed w)144 460.8 Q(as not bound to)-.1 E
-F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F2(EOF)2.5 E F3(.)
-A F1(backward\255delete\255char \(Rubout\))108 472.8 Q F0 .553
-(Delete the character behind the cursor)144 484.8 R 5.553(.W)-.55 G .553
+(cute the result as shell commands.).15 F F2(Bash)6.026 E F0
+(attempts to in)144 432 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL)
+-.54 E/F4 9/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F0
+(and)2.25 E F1(emacs)2.5 E F0(as the editor)2.5 E 2.5(,i)-.4 G 2.5(nt)
+-2.5 G(hat order)-2.5 E(.)-.55 E F2(Commands f)87 448.8 Q(or Changing T)
+-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 460.8 Q F0 .358
+(Delete the character at point.)144 472.8 R .358(If point is at the be)
+5.358 F .358(ginning of the line, there are no characters in the)-.15 F
+(line, and the last character typed w)144 484.8 Q(as not bound to)-.1 E
+F2(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F3(EOF)2.5 E F4(.)
+A F2(backward\255delete\255char \(Rubout\))108 496.8 Q F0 .552
+(Delete the character behind the cursor)144 508.8 R 5.553(.W)-.55 G .553
 (hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F
-.552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552(he deleted te).15 F
-.552(xt on)-.15 F(the kill ring.)144 496.8 Q F1 -.25(fo)108 508.8 S
-(rward\255backward\255delete\255char).25 E F0 .473
-(Delete the character under the cursor)144 520.8 R 2.973(,u)-.4 G .474
-(nless the cursor is at the end of the line, in which case the)-2.973 F
-(character behind the cursor is deleted.)144 532.8 Q F1
-(quoted\255insert \(C\255q, C\255v\))108 544.8 Q F0 .779(Add the ne)144
-556.8 R .779(xt character typed to the line v)-.15 F 3.279
+.553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F
+.553(xt on)-.15 F(the kill ring.)144 520.8 Q F2 -.25(fo)108 532.8 S
+(rward\255backward\255delete\255char).25 E F0 .474
+(Delete the character under the cursor)144 544.8 R 2.974(,u)-.4 G .474
+(nless the cursor is at the end of the line, in which case the)-2.974 F
+(character behind the cursor is deleted.)144 556.8 Q F2
+(quoted\255insert \(C\255q, C\255v\))108 568.8 Q F0 .778(Add the ne)144
+580.8 R .779(xt character typed to the line v)-.15 F 3.279
 (erbatim. This)-.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279
-G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.278 E F0 3.278
-(,f)C(or)-3.278 E -.15(ex)144 568.8 S(ample.).15 E F1
-(tab\255insert \(C\255v T)108 580.8 Q(AB\))-.9 E F0
-(Insert a tab character)144 592.8 Q(.)-.55 E F1
-(self\255insert \(a, b, A, 1, !, ...\))108 604.8 Q F0
-(Insert the character typed.)144 616.8 Q F1
-(transpose\255chars \(C\255t\))108 628.8 Q F0 .321
-(Drag the character before point forw)144 640.8 R .321(ard o)-.1 F -.15
-(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322
-(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182
+G .779(nsert characters lik)-3.279 F(e)-.1 E F2(C\255q)3.279 E F0 3.279
+(,f)C(or)-3.279 E -.15(ex)144 592.8 S(ample.).15 E F2
+(tab\255insert \(C\255v T)108 604.8 Q(AB\))-.9 E F0
+(Insert a tab character)144 616.8 Q(.)-.55 E F2
+(self\255insert \(a, b, A, 1, !, ...\))108 628.8 Q F0
+(Insert the character typed.)144 640.8 Q F2
+(transpose\255chars \(C\255t\))108 652.8 Q F0 .322
+(Drag the character before point forw)144 664.8 R .321(ard o)-.1 F -.15
+(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321
+(ving point forw)-.15 F .321(ard as well.)-.1 F 1.182
 (If point is at the end of the line, then this transposes the tw)144
-652.8 R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E
--.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 664.8 Q(guments ha)-.18 E
-.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
-(transpose\255w)108 676.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144
-688.8 R .023(ord before point past the w)-.1 F .023(ord after point, mo)
--.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w)
--2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F
-(is at the end of the line, this transposes the last tw)144 700.8 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(41)198.165 E 0 Cg EP
+676.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E
+-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 688.8 Q(guments ha)-.18 E
+.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F2
+(transpose\255w)108 700.8 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144
+712.8 R .024(ord before point past the w)-.1 F .023(ord after point, mo)
+-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)
+-2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F
+(is at the end of the line, this transposes the last tw)144 724.8 Q 2.5
+(ow)-.1 G(ords on the line.)-2.6 E(GNU Bash-4.2)72 768 Q
+(2010 September 6)137.625 E(41)187.615 E 0 Cg EP
 %%Page: 42 42
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(upcase\255w)108 84 Q(ord \(M\255u\))-.1 E
-F0 1.699(Uppercase the current \(or follo)144 96 R 1.698(wing\) w)-.25 F
-4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.998
--.15(ve a)-.25 H -.18(rg).15 G 1.698(ument, uppercase the pre).18 F
+F0 1.698(Uppercase the current \(or follo)144 96 R 1.698(wing\) w)-.25 F
+4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.999
+-.15(ve a)-.25 H -.18(rg).15 G 1.699(ument, uppercase the pre).18 F
 (vious)-.25 E -.1(wo)144 108 S(rd, b).1 E(ut do not mo)-.2 E .3 -.15
 (ve p)-.15 H(oint.).15 E F1(do)108 120 Q(wncase\255w)-.1 E
-(ord \(M\255l\))-.1 E F0(Lo)144 132 Q 1.647
-(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147
-(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15
-(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre)
+(ord \(M\255l\))-.1 E F0(Lo)144 132 Q 1.648
+(wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148
+(ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15
+(ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre)
 -.25 F(vious)-.25 E -.1(wo)144 144 S(rd, b).1 E(ut do not mo)-.2 E .3
 -.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 156 Q
-(ord \(M\255c\))-.1 E F0 1.975(Capitalize the current \(or follo)144 168
+(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 168
 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)
--.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.974
+-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
 (ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 180 S(rd, b).1
 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 192
-S(rwrite\255mode).1 E F0 -.8(To)144 204 S .437(ggle o).8 F -.15(ve)-.15
-G .437(rwrite mode.).15 F -.4(Wi)5.437 G .437(th an e).4 F .437
-(xplicit positi)-.15 F .738 -.15(ve n)-.25 H .438(umeric ar).15 F .438
-(gument, switches to o)-.18 F -.15(ve)-.15 G .438(rwrite mode.).15 F -.4
-(Wi)144 216 S .781(th an e).4 F .781(xplicit non-positi)-.15 F 1.081
--.15(ve n)-.25 H .781(umeric ar).15 F .781
-(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F
-(fects)-.25 E(only)144 228 Q F1(emacs)4.394 E F0(mode;)4.394 E F1(vi)
-4.394 E F0 1.894(mode does o)4.394 F -.15(ve)-.15 G 1.894(rwrite dif).15
-F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F/F2 10
-/Times-Italic@0 SF -.37(re)4.395 G(adline\(\)).37 E F0 1.895
-(starts in insert)4.395 F 3.969(mode. In)144 240 R -.15(ove)3.969 G
-1.469(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E
-F0 1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F
-.957(pushing the te)144 252 R .957(xt to the right.)-.15 F .958
-(Characters bound to)5.957 F F1(backward\255delete\255char)3.458 E F0
-.958(replace the character)3.458 F(before point with a space.)144 264 Q
-(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87
-280.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 292.8 Q F0
-(Kill the te)144 304.8 Q(xt from point to the end of the line.)-.15 E F1
+S(rwrite\255mode).1 E F0 -.8(To)144 204 S .438(ggle o).8 F -.15(ve)-.15
+G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438
+(xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437
+(gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4
+(Wi)144 216 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15
+(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.)
+-.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 228 Q F1
+(emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395
+F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G
+1.894(ach call to)-6.894 F/F2 10/Times-Italic@0 SF -.37(re)4.394 G
+(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144
+240 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1
+(self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469
+(xt at point rather than)-.15 F .958(pushing the te)144 252 R .958
+(xt to the right.)-.15 F .957(Characters bound to)5.958 F F1
+(backward\255delete\255char)3.457 E F0 .957(replace the character)3.457
+F(before point with a space.)144 264 Q(By def)5 E
+(ault, this command is unbound.)-.1 E F1(Killing and Y)87 280.8 Q
+(anking)-.85 E(kill\255line \(C\255k\))108 292.8 Q F0(Kill the te)144
+304.8 Q(xt from point to the end of the line.)-.15 E F1
 (backward\255kill\255line \(C\255x Rubout\))108 316.8 Q F0(Kill backw)
 144 328.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
 (unix\255line\255discard \(C\255u\))108 340.8 Q F0(Kill backw)144 352.8
@@ -4982,18 +4994,18 @@ Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
 (The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)
 -2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 364.8 Q F0
 (Kill all characters on the current line, no matter where point is.)144
-376.8 Q F1(kill\255w)108 388.8 Q(ord \(M\255d\))-.1 E F0 .729
-(Kill from point to the end of the current w)144 400.8 R .728
-(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
+376.8 Q F1(kill\255w)108 388.8 Q(ord \(M\255d\))-.1 E F0 .728
+(Kill from point to the end of the current w)144 400.8 R .729
+(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
 (xt w)-.15 F(ord.)-.1 E -.8(Wo)144 412.8 S
 (rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G
 (rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 424.8 Q
 (ord \(M\255Rubout\))-.1 E F0(Kill the w)144 436.8 Q(ord behind point.)
 -.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1
 (backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 448.8 Q
-(ord \(M\255d\))-.1 E F0 .728
-(Kill from point to the end of the current w)144 460.8 R .729
-(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
+(ord \(M\255d\))-.1 E F0 .729
+(Kill from point to the end of the current w)144 460.8 R .728
+(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
 (xt w)-.15 F(ord.)-.1 E -.8(Wo)144 472.8 S
 (rd boundaries are the same as those used by).8 E F1(shell\255f)2.5 E
 (orward\255w)-.25 E(ord)-.1 E F0(.)A F1(shell\255backward\255kill\255w)
@@ -5001,14 +5013,14 @@ Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
 3.025(ord behind point.)-.1 F -.8(Wo)8.025 G 3.025
 (rd boundaries are the same as those used by).8 F F1(shell\255back-)
 5.525 E(ward\255w)144 508.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 520.8 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 532.8 R .364
-(ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1
-F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
-(ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144
-544.8 Q F1(unix\255\214lename\255rubout)108 556.8 Q F0 .167(Kill the w)
+(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 532.8 R .365
+(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1
+F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15
+(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144
+544.8 Q F1(unix\255\214lename\255rubout)108 556.8 Q F0 .166(Kill the w)
 144 568.8 R .166
 (ord behind point, using white space and the slash character as the w)
--.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 580.8 Q
+-.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 580.8 Q
 (xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
 -2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 592.8 Q F0
 (Delete all spaces and tabs around point.)144 604.8 Q F1(kill\255r)108
@@ -5016,17 +5028,16 @@ F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
 -.15 E(gion.)-.15 E F1(copy\255r)108 640.8 Q(egion\255as\255kill)-.18 E
 F0(Cop)144 652.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
 (gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1
-(copy\255backward\255w)108 664.8 Q(ord)-.1 E F0(Cop)144 676.8 Q 4.8(yt)
--.1 G 2.3(he w)-4.8 F 2.3(ord before point to the kill b)-.1 F(uf)-.2 E
-(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.301
-(ord boundaries are the same as)-.1 F F1(back-)4.801 E(ward\255w)144
-688.8 Q(ord)-.1 E F0(.)A F1(copy\255f)108 700.8 Q(orward\255w)-.25 E
-(ord)-.1 E F0(Cop)144 712.8 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008
-(ord follo)-.1 F 2.008(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25
-E 7.007(.T)-.55 G 2.007(he w)-7.007 F 2.007
-(ord boundaries are the same as)-.1 F F1 -.25(fo)4.507 G -.37(r-).25 G
-(ward\255w)144 724.8 Q(ord)-.1 E F0(.)A(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(42)198.165 E 0 Cg EP
+(copy\255backward\255w)108 664.8 Q(ord)-.1 E F0(Cop)144 676.8 Q 4.801
+(yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F
+(uf)-.2 E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3
+(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 688.8
+Q(ord)-.1 E F0(.)A F1(copy\255f)108 700.8 Q(orward\255w)-.25 E(ord)-.1 E
+F0(Cop)144 712.8 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)
+-.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008
+(.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1
+F F1 -.25(fo)4.508 G -.37(r-).25 G(ward\255w)144 724.8 Q(ord)-.1 E F0(.)
+A(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(42)187.615 E 0 Cg EP
 %%Page: 43 43
 %%BeginPageSetup
 BP
@@ -5039,26 +5050,26 @@ E F1(yank\255pop \(M\255y\))108 108 Q F0
 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
 F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 136.8 Q
 (guments)-.1 E(digit\255ar)108 148.8 Q
-(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641
+(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642
 (Add this digit to the ar)144 160.8 R .641
 (gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
-(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-)
+(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-)
 -.15 E(ati)144 172.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 184.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779
+(uni)108 184.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
 (This is another w)144 196.8 R .779(ay to specify an ar)-.1 F 3.279
-(gument. If)-.18 F .779(this command is follo)3.279 F .778
+(gument. If)-.18 F .779(this command is follo)3.279 F .779
 (wed by one or more digits,)-.25 F 1.376
 (optionally with a leading minus sign, those digits de\214ne the ar)144
 208.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
 220.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
 3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17
 (ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other)
--.2 F(-)-.2 E .898(wise ignored.)144 232.8 R .898
-(As a special case, if this command is immediately follo)5.898 F .898
+-.2 F(-)-.2 E .899(wise ignored.)144 232.8 R .898
+(As a special case, if this command is immediately follo)5.899 F .898
 (wed by a character that is)-.25 F .243
 (neither a digit or minus sign, the ar)144 244.8 R .243
 (gument count for the ne)-.18 F .243(xt command is multiplied by four)
--.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 256.8 Q .378
+-.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 256.8 Q .378
 (gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378
 (cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F
 .378(gument count)-.18 F(four)144 268.8 Q 2.5(,as)-.4 G(econd time mak)
@@ -5066,12 +5077,12 @@ F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 136.8 Q
 (Completing)87 285.6 Q(complete \(T)108 297.6 Q(AB\))-.9 E F0 1.137
 (Attempt to perform completion on the te)144 309.6 R 1.137
 (xt before point.)-.15 F F1(Bash)6.137 E F0 1.137
-(attempts completion treating the)3.637 F(te)144 321.6 Q .532(xt as a v)
--.15 F .532(ariable \(if the te)-.25 F .532(xt be)-.15 F .533(gins with)
--.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .533(xt be)-.15 F
-.533(gins with)-.15 F F1(~)3.033 E F0 .533(\), hostname \(if the)B(te)
-144 333.6 Q .702(xt be)-.15 F .702(gins with)-.15 F F1(@)3.202 E F0 .701
-(\), or command \(including aliases and functions\) in turn.)B .701
+(attempts completion treating the)3.637 F(te)144 321.6 Q .533(xt as a v)
+-.15 F .533(ariable \(if the te)-.25 F .533(xt be)-.15 F .533(gins with)
+-.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .532(xt be)-.15 F
+.532(gins with)-.15 F F1(~)3.032 E F0 .532(\), hostname \(if the)B(te)
+144 333.6 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701
+(\), or command \(including aliases and functions\) in turn.)B .702
 (If none of these pro-)5.701 F
 (duces a match, \214lename completion is attempted.)144 345.6 Q F1
 (possible\255completions \(M\255?\))108 357.6 Q F0
@@ -5079,28 +5090,27 @@ F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 136.8 Q
 -.15 E F1(insert\255completions \(M\255*\))108 381.6 Q F0 .783
 (Insert all completions of the te)144 393.6 R .783
 (xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H
-.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144
-405.6 Q F0(.)A F1(menu\255complete)108 417.6 Q F0 .929(Similar to)144
-429.6 R F1(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629
+.783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144
+405.6 Q F0(.)A F1(menu\255complete)108 417.6 Q F0 .928(Similar to)144
+429.6 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628
 F .929(ord to be completed with a single match from the list of)-.1 F
-1.193(possible completions.)144 441.6 R 1.193(Repeated e)6.193 F -.15
-(xe)-.15 G 1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194
-(steps through the list of possible)3.694 F .829
+1.194(possible completions.)144 441.6 R 1.194(Repeated e)6.194 F -.15
+(xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193
+(steps through the list of possible)3.694 F .828
 (completions, inserting each match in turn.)144 453.6 R .828
 (At the end of the list of completions, the bell is rung)5.828 F .727
 (\(subject to the setting of)144 465.6 R F1(bell\255style)3.227 E F0
 3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F
 .727(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227
-E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73
+E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73
 (positions forw)144 477.6 R 1.73(ard in the list of matches; a ne)-.1 F
 -.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73
 (ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1
 E(through the list.)144 489.6 Q(This command is intended to be bound to)
 5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E
-(ault.)-.1 E F1(menu\255complete-)108 501.6 Q(w)10 I(k)-7.22 -10 M(c)
--5.56 -10 M(rd)2.78 10 M F0 .82(Identical to)144 513.6 R F1
-(menu\255complete)3.32 E F0 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 G
-3.32(sb).15 G(ackw)-3.32 E .82
+(ault.)-.1 E F1(menu\255complete\255backward)108 501.6 Q F0 .82
+(Identical to)144 513.6 R F1(menu\255complete)3.32 E F0 3.32(,b)C .82
+(ut mo)-3.52 F -.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82
 (ard through the list of possible completions, as if)-.1 F F1
 (menu\255complete)144 525.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
 (nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg)
@@ -5108,7 +5118,7 @@ E(through the list.)144 489.6 Q(This command is intended to be bound to)
 F1(delete\255char\255or\255list)108 537.6 Q F0 .234
 (Deletes the character under the cursor if not at the be)144 549.6 R
 .234(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)
-2.734 E F0(\).)A .425(If at the end of the line, beha)144 561.6 R -.15
+2.735 E F0(\).)A .425(If at the end of the line, beha)144 561.6 R -.15
 (ve)-.2 G 2.925(si).15 G .425(dentically to)-2.925 F F1
 (possible\255completions)2.925 E F0 5.425(.T)C .425
 (his command is unbound)-5.425 F(by def)144 573.6 Q(ault.)-.1 E F1
@@ -5128,7 +5138,7 @@ F0(List the possible completions of the te)144 621.6 Q
 F1(possible\255v)108 705.6 Q(ariable\255completions \(C\255x $\))-.1 E
 F0(List the possible completions of the te)144 717.6 Q
 (xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(43)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(43)187.615 E 0 Cg EP
 %%Page: 44 44
 %%BeginPageSetup
 BP
@@ -5140,10 +5150,10 @@ BP
 (possible\255hostname\255completions \(C\255x @\))108 108 Q F0
 (List the possible completions of the te)144 120 Q
 (xt before point, treating it as a hostname.)-.15 E F1
-(complete\255command \(M\255!\))108 132 Q F0 .581
+(complete\255command \(M\255!\))108 132 Q F0 .58
 (Attempt completion on the te)144 144 R .581
-(xt before point, treating it as a command name.)-.15 F .58
-(Command comple-)5.58 F .715(tion attempts to match the te)144 156 R
+(xt before point, treating it as a command name.)-.15 F .581
+(Command comple-)5.581 F .715(tion attempts to match the te)144 156 R
 .715(xt ag)-.15 F .715(ainst aliases, reserv)-.05 F .715(ed w)-.15 F
 .715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F
 (\214nally e)144 168 Q -.15(xe)-.15 G
@@ -5151,14 +5161,14 @@ BP
 (possible\255command\255completions \(C\255x !\))108 180 Q F0
 (List the possible completions of the te)144 192 Q
 (xt before point, treating it as a command name.)-.15 E F1
-(dynamic\255complete\255history \(M\255T)108 204 Q(AB\))-.9 E F0 .425
+(dynamic\255complete\255history \(M\255T)108 204 Q(AB\))-.9 E F0 .424
 (Attempt completion on the te)144 216 R .425
-(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424
+(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425
 (ainst lines from the history list)-.05 F
 (for possible completion matches.)144 228 Q F1(dab)108 240 Q(br)-.1 E
--.15(ev)-.18 G(\255expand).15 E F0 .61
+-.15(ev)-.18 G(\255expand).15 E F0 .611
 (Attempt menu completion on the te)144 252 R .611
-(xt before point, comparing the te)-.15 F .611(xt ag)-.15 F .611
+(xt before point, comparing the te)-.15 F .61(xt ag)-.15 F .61
 (ainst lines from the his-)-.05 F
 (tory list for possible completion matches.)144 264 Q F1
 (complete\255into\255braces \(M\255{\))108 276 Q F0 .4(Perform \214lena\
@@ -5174,21 +5184,21 @@ E(start\255kbd\255macr)108 328.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
 (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
 (board macro and store the de\214nition.).15 E F1
 (call\255last\255kbd\255macr)108 376.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F0(Re-e)144 388.8 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)
--.1 G .999(board macro de\214ned, by making the characters in the macro\
- appear as if).15 F(typed at the k)144 400.8 Q -.15(ey)-.1 G(board.).15
-E F1(Miscellaneous)87 417.6 Q -.18(re)108 429.6 S<ad72>.18 E
-(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777
+E F0(Re-e)144 388.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1
+G .999(board macro de\214ned, by making the characters in the macro app\
+ear as if).15 F(typed at the k)144 400.8 Q -.15(ey)-.1 G(board.).15 E F1
+(Miscellaneous)87 417.6 Q -.18(re)108 429.6 S<ad72>.18 E
+(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776
 (Read in the contents of the)144 441.6 R/F2 10/Times-Italic@0 SF(inputr)
-4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb)
--.15 G 1.776(indings or v)-4.276 F 1.776(ariable assignments)-.25 F
-(found there.)144 453.6 Q F1(abort \(C\255g\))108 465.6 Q F0 3.248
+4.276 E(c)-.37 E F0 1.777(\214le, and incorporate an)4.276 F 4.277(yb)
+-.15 G 1.777(indings or v)-4.277 F 1.777(ariable assignments)-.25 F
+(found there.)144 453.6 Q F1(abort \(C\255g\))108 465.6 Q F0 3.249
 (Abort the current editing command and ring the terminal')144 477.6 R
-5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
+5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1
 (bell\255style)144 489.6 Q F0(\).)A F1(do\255upper)108 501.6 Q
 (case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)
-C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 513.6 R F2(x)
-4.256 E F0 1.755(is lo)4.256 F 1.755
+C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 513.6 R F2(x)
+4.255 E F0 1.755(is lo)4.255 F 1.756
 (wercase, run the command that is bound to the corresponding)-.25 F
 (uppercase character)144 525.6 Q(.)-.55 E F1(pr)108 537.6 Q
 (e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 549.6 Q
@@ -5207,68 +5217,69 @@ F0 1.095(command enough times to)3.595 F
 (Set the mark to the point.)144 657.6 Q(If a numeric ar)5 E
 (gument is supplied, the mark is set to that position.)-.18 E F1
 (exchange\255point\255and\255mark \(C\255x C\255x\))108 669.6 Q F0(Sw)
-144 681.6 Q .283(ap the point with the mark.)-.1 F .283
+144 681.6 Q .282(ap the point with the mark.)-.1 F .283
 (The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
-2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa)
+2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa)
 144 693.6 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
-(character\255sear)108 705.6 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144
-717.6 S .535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G
+(character\255sear)108 705.6 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144
+717.6 S .536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G
 3.035(dt).15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535
-(xt occurrence of that character)-.15 F 5.536(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E .836 -.15(ve c)-.25 H(ount).15 E(searches for pre)
+(xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05
+(ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre)
 144 729.6 Q(vious occurrences.)-.25 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(44)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(44)187.615 E 0 Cg EP
 %%Page: 45 45
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(character\255sear)108 84 Q
-(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 96 S 1.044
-(haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 96 S 1.043
+(haracter is read and point is mo)-3.543 F -.15(ve)-.15 G 3.544(dt).15 G
 3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044
-(vious occurrence of that character)-.25 F 6.043(.A)-.55 G(ne)-2.5 E
+(vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E
 -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G
 (count searches for subsequent occurrences.)144 108 Q F1
-(skip\255csi\255sequence \(\))108 120 Q F0 1.826
+(skip\255csi\255sequence)108 120 Q F0 1.827
 (Read enough characters to consume a multi-k)144 132 R 2.126 -.15(ey s)
--.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
-4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 144 R .791
-(Such sequences be)5.791 F .791
+-.1 H 1.826(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
+4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 144 R .791
+(Such sequences be)5.79 F .791
 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F
-.331(If this sequence is bound to "\\[", k)144 156 R -.15(ey)-.1 G 2.831
-(sp).15 G .331(roducing such sequences will ha)-2.831 F .632 -.15(ve n)
--.2 H 2.832(oe).15 G -.25(ff)-2.832 G .332(ect unless e).25 F(xplic-)
+.332(If this sequence is bound to "\\[", k)144 156 R -.15(ey)-.1 G 2.831
+(sp).15 G .331(roducing such sequences will ha)-2.831 F .631 -.15(ve n)
+-.2 H 2.831(oe).15 G -.25(ff)-2.831 G .331(ect unless e).25 F(xplic-)
 -.15 E .026(itly bound to a readline command, instead of inserting stra\
 y characters into the editing b)144 168 R(uf)-.2 E(fer)-.25 E 5.026(.T)
 -.55 G(his)-5.026 E(is unbound by def)144 180 Q(ault, b)-.1 E
 (ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108
-192 Q F0 -.4(Wi)144 204 S .48(thout a numeric ar).4 F .48(gument, the v)
--.18 F .481(alue of the readline)-.25 F F1(comment\255begin)2.981 E F0
--.25(va)2.981 G .481(riable is inserted at the).25 F(be)144 216 Q .098
-(ginning of the current line.)-.15 F .098(If a numeric ar)5.098 F .097
-(gument is supplied, this command acts as a toggle:)-.18 F(if)5.097 E
-.321(the characters at the be)144 228 R .321
+192 Q F0 -.4(Wi)144 204 S .481(thout a numeric ar).4 F .481
+(gument, the v)-.18 F .481(alue of the readline)-.25 F F1
+(comment\255begin)2.981 E F0 -.25(va)2.981 G .48
+(riable is inserted at the).25 F(be)144 216 Q .097
+(ginning of the current line.)-.15 F .098(If a numeric ar)5.097 F .098
+(gument is supplied, this command acts as a toggle:)-.18 F(if)5.098 E
+.322(the characters at the be)144 228 R .321
 (ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1
-(comment\255begin)2.821 E F0 2.822(,t)C .322(he v)-2.822 F .322(alue is)
--.25 F .832(inserted, otherwise the characters in)144 240 R F1
-(comment\255begin)3.332 E F0 .831(are deleted from the be)3.332 F .831
-(ginning of the line.)-.15 F 1.468
+(comment\255begin)2.821 E F0 2.821(,t)C .321(he v)-2.821 F .321(alue is)
+-.25 F .831(inserted, otherwise the characters in)144 240 R F1
+(comment\255begin)3.331 E F0 .832(are deleted from the be)3.331 F .832
+(ginning of the line.)-.15 F 1.469
 (In either case, the line is accepted as if a ne)144 252 R 1.468
-(wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F
-1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 264 Q F0 .84
-(causes this command to mak)3.34 F 3.339(et)-.1 G .839
-(he current line a shell comment.)-3.339 F .839(If a numeric ar)5.839 F
+(wline had been typed.)-.25 F 1.468(The def)6.468 F 1.468(ault v)-.1 F
+1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 264 Q F0 .839
+(causes this command to mak)3.339 F 3.339(et)-.1 G .839
+(he current line a shell comment.)-3.339 F .84(If a numeric ar)5.84 F
 (gu-)-.18 E(ment causes the comment character to be remo)144 276 Q -.15
 (ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G
 (cuted by the shell.).15 E F1(glob\255complete\255w)108 288 Q
-(ord \(M\255g\))-.1 E F0 .791(The w)144 300 R .791
-(ord before point is treated as a pattern for pathname e)-.1 F .792
+(ord \(M\255g\))-.1 E F0 .792(The w)144 300 R .791
+(ord before point is treated as a pattern for pathname e)-.1 F .791
 (xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 312
 R(pattern is used to generate a list of matching \214le names for possi\
 ble completions.)2.5 E F1(glob\255expand\255w)108 324 Q
-(ord \(C\255x *\))-.1 E F0 .372(The w)144 336 R .372
-(ord before point is treated as a pattern for pathname e)-.1 F .371
+(ord \(C\255x *\))-.1 E F0 .371(The w)144 336 R .372
+(ord before point is treated as a pattern for pathname e)-.1 F .372
 (xpansion, and the list of matching \214le)-.15 F .516
 (names is inserted, replacing the w)144 348 R 3.016(ord. If)-.1 F 3.016
 (an)3.016 G .516(umeric ar)-3.016 F .516
@@ -5280,56 +5291,56 @@ ble completions.)2.5 E F1(glob\255expand\255w)108 324 Q
 .872(the line is redra)144 396 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
 .872(umeric ar)-3.372 F .872
 (gument is supplied, an asterisk is appended before pathname)-.18 F -.15
-(ex)144 408 S(pansion.).15 E F1(dump\255functions)108 420 Q F0 .627
-(Print all of the functions and their k)144 432 R .927 -.15(ey b)-.1 H
-.626(indings to the readline output stream.).15 F .626(If a numeric ar)
-5.626 F(gu-)-.18 E
+(ex)144 408 S(pansion.).15 E F1(dump\255functions)108 420 Q F0 .626
+(Print all of the functions and their k)144 432 R .926 -.15(ey b)-.1 H
+.627(indings to the readline output stream.).15 F .627(If a numeric ar)
+5.627 F(gu-)-.18 E
 (ment is supplied, the output is formatted in such a w)144 444 Q
 (ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr)
 2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 456 Q(ariables)-.1 E F0
-1.799(Print all of the settable readline v)144 468 R 1.799
-(ariables and their v)-.25 F 1.8(alues to the readline output stream.)
--.25 F 1.8(If a)6.8 F .305(numeric ar)144 480 R .304
+1.8(Print all of the settable readline v)144 468 R 1.799
+(ariables and their v)-.25 F 1.799(alues to the readline output stream.)
+-.25 F 1.799(If a)6.799 F .304(numeric ar)144 480 R .304
 (gument is supplied, the output is formatted in such a w)-.18 F .304
 (ay that it can be made part of an)-.1 F F2(inputr)144 492 Q(c)-.37 E F0
-(\214le.)2.5 E F1(dump\255macr)108 504 Q(os)-.18 E F0 .592
-(Print all of the readline k)144 516 R .892 -.15(ey s)-.1 H .592
-(equences bound to macros and the strings the).15 F 3.093(yo)-.15 G
-3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 528 Q
+(\214le.)2.5 E F1(dump\255macr)108 504 Q(os)-.18 E F0 .593
+(Print all of the readline k)144 516 R .893 -.15(ey s)-.1 H .592
+(equences bound to macros and the strings the).15 F 3.092(yo)-.15 G
+3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 528 Q
 .528(gument is supplied, the output is formatted in such a w)-.18 F .528
-(ay that it can be made part of an)-.1 F F2(inputr)3.027 E(c)-.37 E F0
+(ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0
 (\214le.)144 540 Q F1(display\255shell\255v)108 552 Q
 (ersion \(C\255x C\255v\))-.1 E F0(Display v)144 564 Q
 (ersion information about the current instance of)-.15 E F1(bash)2.5 E
-F0(.)A F1(Pr)87 580.8 Q(ogrammable Completion)-.18 E F0 .146(When w)108
+F0(.)A F1(Pr)87 580.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
 592.8 R .147(ord completion is attempted for an ar)-.1 F .147
 (gument to a command for which a completion speci\214cation \(a)-.18 F
-F2(compspec)108 604.8 Q F0 3.829(\)h)C 1.329
-(as been de\214ned using the)-3.829 F F1(complete)3.829 E F0 -.2(bu)
+F2(compspec)108 604.8 Q F0 3.828(\)h)C 1.329
+(as been de\214ned using the)-3.828 F F1(complete)3.829 E F0 -.2(bu)
 3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829
-F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.328(w\), the)
+F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.329(w\), the)
 -.25 F(programmable completion f)108 616.8 Q(acilities are in)-.1 E -.2
-(vo)-.4 G -.1(ke).2 G(d.).1 E .497
-(First, the command name is identi\214ed.)108 633.6 R .497
-(If the command w)5.497 F .498
-(ord is the empty string \(completion attempted at)-.1 F .234(the be)108
+(vo)-.4 G -.1(ke).2 G(d.).1 E .498
+(First, the command name is identi\214ed.)108 633.6 R .498
+(If the command w)5.498 F .497
+(ord is the empty string \(completion attempted at)-.1 F .233(the be)108
 645.6 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233
 (ompspec de\214ned with the)-2.733 F F1<ad45>2.733 E F0 .233(option to)
-2.733 F F1(complete)2.733 E F0 .233(is used.)2.733 F .233(If a comp-)
-5.233 F .481(spec has been de\214ned for that command, the compspec is \
-used to generate the list of possible completions)108 657.6 R .823
-(for the w)108 669.6 R 3.323(ord. If)-.1 F .823(the command w)3.323 F
-.822(ord is a full pathname, a compspec for the full pathname is search\
-ed for)-.1 F 2.866(\214rst. If)108 681.6 R .367(no compspec is found fo\
+2.733 F F1(complete)2.733 E F0 .233(is used.)2.733 F .234(If a comp-)
+5.234 F .481(spec has been de\214ned for that command, the compspec is \
+used to generate the list of possible completions)108 657.6 R .822
+(for the w)108 669.6 R 3.322(ord. If)-.1 F .822(the command w)3.322 F
+.823(ord is a full pathname, a compspec for the full pathname is search\
+ed for)-.1 F 2.867(\214rst. If)108 681.6 R .366(no compspec is found fo\
 r the full pathname, an attempt is made to \214nd a compspec for the po\
-rtion)2.866 F(follo)108 693.6 Q .422(wing the \214nal slash.)-.25 F .422
-(If those searches to not result in a compspec, an)5.422 F 2.921(yc)-.15
-G .421(ompspec de\214ned with the)-2.921 F F1<ad44>2.921 E F0(option to)
+rtion)2.867 F(follo)108 693.6 Q .298(wing the \214nal slash.)-.25 F .298
+(If those searches do not result in a compspec, an)5.298 F 2.799(yc)-.15
+G .299(ompspec de\214ned with the)-2.799 F F1<ad44>2.799 E F0(option to)
 108 705.6 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E
 .817(Once a compspec has been found, it is used to generate the list of\
  matching w)108 722.4 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817
-(ompspec is not)-3.317 F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E
-(45)198.165 E 0 Cg EP
+(ompspec is not)-3.317 F(GNU Bash-4.2)72 768 Q(2010 September 6)137.625
+E(45)187.615 E 0 Cg EP
 %%Page: 46 46
 %%BeginPageSetup
 BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E(found, the def)108 84 Q(ault)-.1 E/F1 10/Times-Bold@0 SF(bash)2.5
 E F0(completion as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F1
-(Completing)2.5 E F0(is performed.)2.5 E .464
+(Completing)2.5 E F0(is performed.)2.5 E .463
 (First, the actions speci\214ed by the compspec are used.)108 100.8 R
-.463(Only matches which are pre\214x)5.464 F .463(ed by the w)-.15 F
-.463(ord being)-.1 F .595(completed are returned.)108 112.8 R .595
-(When the)5.595 F F1<ad66>3.095 E F0(or)3.095 E F1<ad64>3.095 E F0 .596
+.464(Only matches which are pre\214x)5.464 F .464(ed by the w)-.15 F
+.464(ord being)-.1 F .596(completed are returned.)108 112.8 R .596
+(When the)5.596 F F1<ad66>3.096 E F0(or)3.095 E F1<ad64>3.095 E F0 .595
 (option is used for \214lename or directory name completion, the)3.095 F
 (shell v)108 124.8 Q(ariable)-.25 E/F2 9/Times-Bold@0 SF(FIGNORE)2.5 E
 F0(is used to \214lter the matches.)2.25 E(An)108 141.6 Q 4.084(yc)-.15
 G 1.584(ompletions speci\214ed by a pathname e)-4.084 F 1.584
 (xpansion pattern to the)-.15 F F1<ad47>4.084 E F0 1.584
 (option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 153.6 S
-.554(rds generated by the pattern need not match the w).1 F .555
-(ord being completed.)-.1 F(The)5.555 E F2(GLOBIGNORE)3.055 E F0 .555
-(shell v)2.805 F(ari-)-.25 E
+.555(rds generated by the pattern need not match the w).1 F .554
+(ord being completed.)-.1 F(The)5.554 E F2(GLOBIGNORE)3.054 E F0 .554
+(shell v)2.804 F(ari-)-.25 E
 (able is not used to \214lter the matches, b)108 165.6 Q(ut the)-.2 E F2
 (FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 182.4 Q
-.321(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18
-F F1<ad57>2.821 E F0 .32(option is considered.)2.821 F .32
-(The string is \214rst split using the)5.32 F .412(characters in the)108
-194.4 R F2(IFS)2.912 E F0 .412(special v)2.662 F .412
+.32(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F
+F1<ad57>2.82 E F0 .321(option is considered.)2.821 F .321
+(The string is \214rst split using the)5.321 F .413(characters in the)
+108 194.4 R F2(IFS)2.913 E F0 .412(special v)2.663 F .412
 (ariable as delimiters.)-.25 F .412(Shell quoting is honored.)5.412 F
-.413(Each w)5.412 F .413(ord is then e)-.1 F(xpanded)-.15 E .092
-(using brace e)108 206.4 R .092(xpansion, tilde e)-.15 F .092
-(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .091
-(xpansion, command substitution, and arith-)-.15 F 1.396(metic e)108
+.412(Each w)5.412 F .412(ord is then e)-.1 F(xpanded)-.15 E .091
+(using brace e)108 206.4 R .091(xpansion, tilde e)-.15 F .092
+(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .092
+(xpansion, command substitution, and arith-)-.15 F 1.397(metic e)108
 218.4 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
 (nder).15 E F2(EXP)3.896 E(ANSION)-.666 E/F3 9/Times-Roman@0 SF(.)A F0
 1.396(The results are split using the rules described)5.896 F(abo)108
-230.4 Q .51 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.71 G .21
-(rd Splitting).75 F F0 5.21(.T)C .209(he results of the e)-5.21 F .209
-(xpansion are pre\214x-matched ag)-.15 F .209(ainst the w)-.05 F .209
+230.4 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209
+(rd Splitting).75 F F0 5.209(.T)C .209(he results of the e)-5.209 F .209
+(xpansion are pre\214x-matched ag)-.15 F .21(ainst the w)-.05 F .21
 (ord being com-)-.1 F(pleted, and the matching w)108 242.4 Q
-(ords become the possible completions.)-.1 E 1.237
-(After these matches ha)108 259.2 R 1.537 -.15(ve b)-.2 H 1.237
-(een generated, an).15 F 3.737(ys)-.15 G 1.238
-(hell function or command speci\214ed with the)-3.737 F F1<ad46>3.738 E
-F0(and)3.738 E F1<ad43>3.738 E F0 3.376(options is in)108 271.2 R -.2
+(ords become the possible completions.)-.1 E 1.238
+(After these matches ha)108 259.2 R 1.538 -.15(ve b)-.2 H 1.238
+(een generated, an).15 F 3.738(ys)-.15 G 1.237
+(hell function or command speci\214ed with the)-3.738 F F1<ad46>3.737 E
+F0(and)3.737 E F1<ad43>3.737 E F0 3.375(options is in)108 271.2 R -.2
 (vo)-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375
 (the command or function is in)5.875 F -.2(vo)-.4 G -.1(ke).2 G 3.375
-(d, the).1 F F2(COMP_LINE)5.875 E F3(,)A F2(COMP_POINT)5.625 E F3(,)A F2
-(COMP_KEY)108 283.2 Q F3(,)A F0(and)2.407 E F2(COMP_TYPE)2.657 E F0 -.25
-(va)2.407 G .157(riables are assigned v).25 F .157
-(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .158
-(Shell V)2.658 F(ariables)-.92 E F0 5.158(.I)C(f)-5.158 E 3.486(as)108
-295.2 S .986(hell function is being in)-3.486 F -.2(vo)-.4 G -.1(ke).2 G
+(d, the).1 F F2(COMP_LINE)5.876 E F3(,)A F2(COMP_POINT)5.626 E F3(,)A F2
+(COMP_KEY)108 283.2 Q F3(,)A F0(and)2.408 E F2(COMP_TYPE)2.658 E F0 -.25
+(va)2.408 G .157(riables are assigned v).25 F .157
+(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .157
+(Shell V)2.657 F(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108
+295.2 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
 .986(d, the).1 F F2(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F2
 (COMP_CW)3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986
-(riables are also set.).25 F(When)5.985 E .608
+(riables are also set.).25 F(When)5.986 E .609
 (the function or command is in)108 307.2 R -.2(vo)-.4 G -.1(ke).2 G .608
 (d, the \214rst ar).1 F .608(gument is the name of the command whose ar)
--.18 F .609(guments are)-.18 F .073(being completed, the second ar)108
+-.18 F .608(guments are)-.18 F .073(being completed, the second ar)108
 319.2 R .073(gument is the w)-.18 F .073
 (ord being completed, and the third ar)-.1 F .073(gument is the w)-.18 F
-.072(ord pre-)-.1 F .607(ceding the w)108 331.2 R .607
-(ord being completed on the current command line.)-.1 F .608
-(No \214ltering of the generated completions)5.607 F(ag)108 343.2 Q .094
+.073(ord pre-)-.1 F .608(ceding the w)108 331.2 R .607
+(ord being completed on the current command line.)-.1 F .607
+(No \214ltering of the generated completions)5.607 F(ag)108 343.2 Q .093
 (ainst the w)-.05 F .093(ord being completed is performed; the function\
  or command has complete freedom in generat-)-.1 F(ing the matches.)108
-355.2 Q(An)108 372 Q 2.937(yf)-.15 G .437(unction speci\214ed with)
--2.937 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
+355.2 Q(An)108 372 Q 2.938(yf)-.15 G .437(unction speci\214ed with)
+-2.938 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
 2.937<648c>.1 G 2.937(rst. The)-2.937 F .437(function may use an)2.937 F
-2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .438
-(acilities, including)-.1 F(the)108 384 Q F1(compgen)2.957 E F0 -.2(bu)
-2.957 G .457(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956(og)
-.65 G .456(enerate the matches.)-2.956 F .456
+2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .437
+(acilities, including)-.1 F(the)108 384 Q F1(compgen)2.956 E F0 -.2(bu)
+2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956(og)
+.65 G .456(enerate the matches.)-2.956 F .457
 (It must put the possible completions in the)5.456 F F2(COMPREPL)108 396
-Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 412.8 Q .08(xt, an)
--.15 F 2.58(yc)-.15 G .08(ommand speci\214ed with the)-2.58 F F1<ad43>
-2.58 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G 2.581(di).1
-G 2.581(na)-2.581 G 2.581(ne)-2.581 G -.4(nv)-2.581 G .081
-(ironment equi).4 F -.25(va)-.25 G .081(lent to command sub-).25 F 2.859
+Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 412.8 Q .081
+(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F
+F1<ad43>2.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G
+2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08
+(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858
 (stitution. It)108 424.8 R .359(should print a list of completions, one\
- per line, to the standard output.)2.859 F .358(Backslash may be used)
+ per line, to the standard output.)2.858 F .359(Backslash may be used)
 5.359 F(to escape a ne)108 436.8 Q(wline, if necessary)-.25 E(.)-.65 E
-.376(After all of the possible completions are generated, an)108 453.6 R
-2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.877
-E F0 .377(option is applied to the)2.877 F 3.182(list. The)108 465.6 R
-.682(\214lter is a pattern as used for pathname e)3.182 F .681
-(xpansion; a)-.15 F F1(&)3.181 E F0 .681
-(in the pattern is replaced with the te)3.181 F .681(xt of)-.15 F .522
-(the w)108 477.6 R .522(ord being completed.)-.1 F 3.022(Al)5.522 G
-(iteral)-3.022 E F1(&)3.022 E F0 .523
+.377(After all of the possible completions are generated, an)108 453.6 R
+2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.876
+E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 465.6 R
+.681(\214lter is a pattern as used for pathname e)3.181 F .681
+(xpansion; a)-.15 F F1(&)3.181 E F0 .682
+(in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523
+(the w)108 477.6 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
+(iteral)-3.023 E F1(&)3.023 E F0 .522
 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve)
--.15 G 3.023(db).15 G(efore)-3.023 E .85(attempting a match.)108 489.6 R
-(An)5.85 E 3.35(yc)-.15 G .849
-(ompletion that matches the pattern will be remo)-3.35 F -.15(ve)-.15 G
-3.349(df).15 G .849(rom the list.)-3.349 F 3.349(Al)5.849 G(eading)
--3.349 E F1(!)3.349 E F0(ne)108 501.6 Q -.05(ga)-.15 G
+-.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 489.6
+R(An)5.849 E 3.349(yc)-.15 G .849
+(ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G
+3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F1
+(!)3.35 E F0(ne)108 501.6 Q -.05(ga)-.15 G
 (tes the pattern; in this case an).05 E 2.5(yc)-.15 G
 (ompletion not matching the pattern will be remo)-2.5 E -.15(ve)-.15 G
-(d.).15 E(Finally)108 518.4 Q 3.086(,a)-.65 G .886 -.15(ny p)-3.086 H
-.586(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
+(d.).15 E(Finally)108 518.4 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H
+.587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
 <ad50>3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587
 (options are added to each member of the com-)3.087 F(pletion list, and\
  the result is returned to the readline completion code as the list of \
-possible completions.)108 530.4 Q .247(If the pre)108 547.2 R .247
+possible completions.)108 530.4 Q .246(If the pre)108 547.2 R .247
 (viously-applied actions do not generate an)-.25 F 2.747(ym)-.15 G .247
 (atches, and the)-2.747 F F1 .247(\255o dir)2.747 F(names)-.15 E F0 .247
-(option w)2.747 F .246(as supplied to)-.1 F F1(complete)108 559.2 Q F0
+(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 559.2 Q F0
 (when the compspec w)2.5 E
-(as de\214ned, directory name completion is attempted.)-.1 E .461
-(If the)108 576 R F1 .462(\255o plusdirs)2.961 F F0 .462(option w)2.962
+(as de\214ned, directory name completion is attempted.)-.1 E .462
+(If the)108 576 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w)2.962
 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462
 (when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1
 F(pletion is attempted and an)108 588 Q 2.5(ym)-.15 G
-(atches are added to the results of the other actions.)-2.5 E .56
-(By def)108 604.8 R .56(ault, if a compspec is found, whate)-.1 F -.15
-(ve)-.25 G 3.06(ri).15 G 3.06(tg)-3.06 G .559
-(enerates is returned to the completion code as the full set)-3.06 F
-.631(of possible completions.)108 616.8 R .631(The def)5.631 F(ault)-.1
-E F1(bash)3.131 E F0 .631
-(completions are not attempted, and the readline def)3.131 F .632
-(ault of \214le-)-.1 F .559(name completion is disabled.)108 628.8 R
-.559(If the)5.559 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)
-3.059 F .559(as supplied to)-.1 F F1(complete)3.058 E F0 .558
-(when the compspec)3.058 F -.1(wa)108 640.8 S 3.171(sd).1 G .671
-(e\214ned, the)-3.171 F F1(bash)3.171 E F0(def)3.171 E .671
+(atches are added to the results of the other actions.)-2.5 E .559
+(By def)108 604.8 R .559(ault, if a compspec is found, whate)-.1 F -.15
+(ve)-.25 G 3.059(ri).15 G 3.059(tg)-3.059 G .56
+(enerates is returned to the completion code as the full set)-3.059 F
+.632(of possible completions.)108 616.8 R .632(The def)5.632 F(ault)-.1
+E F1(bash)3.132 E F0 .631
+(completions are not attempted, and the readline def)3.131 F .631
+(ault of \214le-)-.1 F .558(name completion is disabled.)108 628.8 R
+.558(If the)5.558 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)
+3.059 F .559(as supplied to)-.1 F F1(complete)3.059 E F0 .559
+(when the compspec)3.059 F -.1(wa)108 640.8 S 3.172(sd).1 G .672
+(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671
 (ault completions are attempted if the compspec generates no matches.)
--.1 F .672(If the)5.672 F F1<ad6f>3.172 E(default)108 652.8 Q F0 1.207
-(option w)3.707 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
+-.1 F .671(If the)5.671 F F1<ad6f>3.171 E(default)108 652.8 Q F0 1.207
+(option w)3.706 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
 1.207(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F
-3.707(sd)-.55 G(ef)-3.707 E 1.206(ault completion)-.1 F
+3.707(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F
 (will be performed if the compspec \(and, if attempted, the def)108
 664.8 Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)
 2.5 E .245(When a compspec indicates that directory name completion is \
-desired, the programmable completion func-)108 681.6 R .633(tions force\
+desired, the programmable completion func-)108 681.6 R .632(tions force\
  readline to append a slash to completed names which are symbolic links\
- to directories, subject)108 693.6 R 2.761(to the v)108 705.6 R 2.761
-(alue of the)-.25 F F1(mark\255dir)5.261 E(ectories)-.18 E F0 2.761
-(readline v)5.261 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.762
-(rdless of the setting of the).05 F F1(mark-sym-)5.262 E(link)108 717.6
+ to directories, subject)108 693.6 R 2.762(to the v)108 705.6 R 2.762
+(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761
+(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761
+(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 717.6
 Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(46)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(46)187.615 E 0 Cg EP
 %%Page: 47 47
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .191
-(There is some support for dynamically modifying completions.)108 84 R
-.19(This is most useful when used in combina-)5.191 F 1.33
+-.35 E .19(There is some support for dynamically modifying completions.)
+108 84 R .191(This is most useful when used in combina-)5.191 F 1.33
 (tion with a def)108 96 R 1.33(ault completion speci\214ed with)-.1 F/F1
 10/Times-Bold@0 SF 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83
 (sp)-.55 G 1.33(ossible for shell functions e)-3.83 F -.15(xe)-.15 G
@@ -5485,15 +5495,15 @@ BP
  should be retried by returning an e)108 108 R .93(xit status of 124.)
 -.15 F .93(If a)5.93 F .1(shell function returns 124, and changes the c\
 ompspec associated with the command on which completion is)108 120 R
-.666(being attempted \(supplied as the \214rst ar)108 132 R .665
-(gument when the function is e)-.18 F -.15(xe)-.15 G .665
-(cuted\), programmable completion).15 F .083(restarts from the be)108
+.665(being attempted \(supplied as the \214rst ar)108 132 R .666
+(gument when the function is e)-.18 F -.15(xe)-.15 G .666
+(cuted\), programmable completion).15 F .084(restarts from the be)108
 144 R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc)-.25
-G .084(ompspec for that command.)-2.584 F .084(This allo)5.084 F .084
+G .084(ompspec for that command.)-2.584 F .083(This allo)5.083 F .083
 (ws a set of)-.25 F(completions to be b)108 156 Q(uilt dynamically as c\
 ompletion is attempted, rather than being loaded all at once.)-.2 E -.15
-(Fo)108 172.8 S 2.637(ri).15 G .137
-(nstance, assuming that there is a library of compspecs, each k)-2.637 F
+(Fo)108 172.8 S 2.636(ri).15 G .137
+(nstance, assuming that there is a library of compspecs, each k)-2.636 F
 .137(ept in a \214le corresponding to the name of)-.1 F
 (the command, the follo)108 184.8 Q(wing def)-.25 E
 (ault completion function w)-.1 E(ould load completions dynamically:)-.1
@@ -5501,137 +5511,137 @@ E/F2 10/Courier@0 SF(_completion_loader\(\))108 201.6 Q({)108 213.6 Q 6
 (.")144 225.6 S
 (/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124)-6 E(})108
 237.6 Q(complete -D -F _completion_loader)108 249.6 Q/F3 10.95
-/Times-Bold@0 SF(HIST)72 278.4 Q(OR)-.197 E(Y)-.383 E F0 .371(When the)
-108 290.4 R F1 .371(\255o history)2.871 F F0 .371(option to the)2.871 F
+/Times-Bold@0 SF(HIST)72 278.4 Q(OR)-.197 E(Y)-.383 E F0 .372(When the)
+108 290.4 R F1 .372(\255o history)2.872 F F0 .372(option to the)2.872 F
 F1(set)2.872 E F0 -.2(bu)2.872 G .372(iltin is enabled, the shell pro).2
-F .372(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .372
-(command history)2.872 F F0(,)A .305(the list of commands pre)108 302.4
-R .305(viously typed.)-.25 F .305(The v)5.305 F .304(alue of the)-.25 F
-/F5 9/Times-Bold@0 SF(HISTSIZE)2.804 E F0 -.25(va)2.554 G .304
-(riable is used as the number of com-).25 F .429(mands to sa)108 314.4 R
-.729 -.15(ve i)-.2 H 2.929(nah).15 G .429(istory list.)-2.929 F .429
-(The te)5.429 F .429(xt of the last)-.15 F F5(HISTSIZE)2.93 E F0 .43
-(commands \(def)2.68 F .43(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.93
-(d. The).15 F(shell)2.93 E .287
+F .371(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .371
+(command history)2.871 F F0(,)A .304(the list of commands pre)108 302.4
+R .304(viously typed.)-.25 F .304(The v)5.304 F .304(alue of the)-.25 F
+/F5 9/Times-Bold@0 SF(HISTSIZE)2.804 E F0 -.25(va)2.554 G .305
+(riable is used as the number of com-).25 F .43(mands to sa)108 314.4 R
+.73 -.15(ve i)-.2 H 2.93(nah).15 G .43(istory list.)-2.93 F .43(The te)
+5.43 F .429(xt of the last)-.15 F F5(HISTSIZE)2.929 E F0 .429
+(commands \(def)2.679 F .429(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.929
+(d. The).15 F(shell)2.929 E .287
 (stores each command in the history list prior to parameter and v)108
 326.4 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E
 (ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 338.4
-S 4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565
+S 4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565
 (xpansion is performed, subject to the v)-.15 F 1.565
 (alues of the shell v)-.25 F(ariables)-.25 E F5(HISTIGNORE)4.065 E F0
-(and)3.816 E F5(HISTCONTR)108 350.4 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)
+(and)3.815 E F5(HISTCONTR)108 350.4 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)
 A F0 .082
 (On startup, the history is initialized from the \214le named by the v)
-108 367.2 R(ariable)-.25 E F5(HISTFILE)2.582 E F0(\(def)2.332 E(ault)-.1
-E F4(~/.bash_history)2.582 E F0(\).)A .315(The \214le named by the v)108
+108 367.2 R(ariable)-.25 E F5(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1
+E F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
 379.2 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315
 (is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G
 .315(ontain no more than the number of)-2.815 F .532
 (lines speci\214ed by the v)108 391.2 R .532(alue of)-.25 F F5
 (HISTFILESIZE)3.032 E F6(.)A F0 .532
 (When the history \214le is read, lines be)5.032 F .532
-(ginning with the his-)-.15 F 1.158(tory comment character follo)108
-403.2 R 1.159(wed immediately by a digit are interpreted as timestamps \
-for the preceding)-.25 F .053(history line.)108 415.2 R .053
-(These timestamps are optionally displayed depending on the v)5.053 F
-.052(alue of the)-.25 F F5(HISTTIMEFORMA)2.552 E(T)-.855 E F0 -.25(va)
-108 427.2 S 4.386(riable. When).25 F 1.886(an interacti)4.386 F 2.187
+(ginning with the his-)-.15 F 1.159(tory comment character follo)108
+403.2 R 1.158(wed immediately by a digit are interpreted as timestamps \
+for the preceding)-.25 F .052(history line.)108 415.2 R .053
+(These timestamps are optionally displayed depending on the v)5.052 F
+.053(alue of the)-.25 F F5(HISTTIMEFORMA)2.553 E(T)-.855 E F0 -.25(va)
+108 427.2 S 4.387(riable. When).25 F 1.887(an interacti)4.387 F 2.187
 -.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F5
 ($HISTSIZE)4.387 E F0 1.887(lines are copied from the history list to)
 4.137 F F5($HISTFILE)108 439.2 Q F6(.)A F0 .056(If the)4.556 F F1
 (histappend)2.556 E F0 .056
 (shell option is enabled \(see the description of)2.556 F F1(shopt)2.556
 E F0(under)2.556 E F5 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
-(COMMANDS)108 451.2 Q F0(belo)2.671 E .422(w\), the lines are appended \
+(COMMANDS)108 451.2 Q F0(belo)2.672 E .422(w\), the lines are appended \
 to the history \214le, otherwise the history \214le is o)-.25 F -.15(ve)
--.15 G 2.922(rwritten. If).15 F F5(HISTFILE)108 463.2 Q F0 .435(is unse\
-t, or if the history \214le is unwritable, the history is not sa)2.685 F
--.15(ve)-.2 G 2.934(d. If).15 F(the)2.934 E F5(HISTTIMEFORMA)2.934 E(T)
--.855 E F0 -.25(va)108 475.2 S .916
+-.15 G 2.921(rwritten. If).15 F F5(HISTFILE)108 463.2 Q F0 .435(is unse\
+t, or if the history \214le is unwritable, the history is not sa)2.684 F
+-.15(ve)-.2 G 2.935(d. If).15 F(the)2.935 E F5(HISTTIMEFORMA)2.935 E(T)
+-.855 E F0 -.25(va)108 475.2 S .917
 (riable is set, time stamps are written to the history \214le, mark).25
-F .917(ed with the history comment character)-.1 F 3.417(,s)-.4 G(o)
--3.417 E(the)108 487.2 Q 3.083(ym)-.15 G .583(ay be preserv)-3.083 F
-.583(ed across shell sessions.)-.15 F .582
+F .916(ed with the history comment character)-.1 F 3.416(,s)-.4 G(o)
+-3.416 E(the)108 487.2 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F
+.582(ed across shell sessions.)-.15 F .583
 (This uses the history comment character to distinguish time-)5.583 F
-.986(stamps from other history lines.)108 499.2 R .986(After sa)5.986 F
-.986(ving the history)-.2 F 3.486(,t)-.65 G .987
+.987(stamps from other history lines.)108 499.2 R .987(After sa)5.987 F
+.987(ving the history)-.2 F 3.486(,t)-.65 G .986
 (he history \214le is truncated to contain no more)-3.486 F(than)108
 511.2 Q F5(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F5(HISTFILESIZE)
-2.5 E F0(is not set, no truncation is performed.)2.25 E 1.294(The b)108
-528 R 1.294(uiltin command)-.2 F F1(fc)3.794 E F0(\(see)3.794 E F5 1.293
-(SHELL B)3.794 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)3.543 E
-1.293(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 540 S
-.673(cute a portion of the history list.).15 F(The)5.673 E F1(history)
+2.5 E F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108
+528 R 1.293(uiltin command)-.2 F F1(fc)3.793 E F0(\(see)3.793 E F5 1.293
+(SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)3.543 E
+1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 540 S
+.674(cute a portion of the history list.).15 F(The)5.673 E F1(history)
 3.173 E F0 -.2(bu)3.173 G .673
-(iltin may be used to display or modify the history list).2 F .28
+(iltin may be used to display or modify the history list).2 F .279
 (and manipulate the history \214le.)108 552 R .279
 (When using command-line editing, search commands are a)5.279 F -.25(va)
--.2 G .279(ilable in each).25 F(editing mode that pro)108 564 Q
-(vide access to the history list.)-.15 E 1.485(The shell allo)108 580.8
-R 1.485(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
+-.2 G .28(ilable in each).25 F(editing mode that pro)108 564 Q
+(vide access to the history list.)-.15 E 1.486(The shell allo)108 580.8
+R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
 (hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt)
--3.986 G 1.486(he history list.)-3.986 F(The)6.486 E F5(HISTCONTR)3.986
-E(OL)-.27 E F0(and)3.736 E F5(HISTIGNORE)108 592.8 Q F0 -.25(va)2.708 G
-.458(riables may be set to cause the shell to sa).25 F .757 -.15(ve o)
--.2 H .457(nly a subset of the commands entered.).15 F(The)5.457 E F1
+-3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F5(HISTCONTR)3.985
+E(OL)-.27 E F0(and)3.735 E F5(HISTIGNORE)108 592.8 Q F0 -.25(va)2.707 G
+.457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o)
+-.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F1
 (cmdhist)108 604.8 Q F0 .75
 (shell option, if enabled, causes the shell to attempt to sa)3.25 F 1.05
 -.15(ve e)-.2 H .75(ach line of a multi-line command in).15 F 1.077
 (the same history entry)108 616.8 R 3.577(,a)-.65 G 1.077
 (dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G
-1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.576 E F0
-.373(shell option causes the shell to sa)108 628.8 R .674 -.15(ve t)-.2
-H .374(he command with embedded ne).15 F .374
-(wlines instead of semicolons.)-.25 F .374(See the)5.374 F .319
-(description of the)108 640.8 R F1(shopt)2.819 E F0 -.2(bu)2.819 G .318
+1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.577 E F0
+.374(shell option causes the shell to sa)108 628.8 R .674 -.15(ve t)-.2
+H .374(he command with embedded ne).15 F .373
+(wlines instead of semicolons.)-.25 F .373(See the)5.373 F .318
+(description of the)108 640.8 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318
 (iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F5 .318(SHELL B)2.818 F
-(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .318
+(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319
 (for information on setting and)2.568 F(unsetting shell options.)108
 652.8 Q F3(HIST)72 669.6 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E
-(ANSION)-.81 E F0 .61(The shell supports a history e)108 681.6 R .611
-(xpansion feature that is similar to the history e)-.15 F .611
-(xpansion in)-.15 F F1(csh.)3.111 E F0 .611(This section)5.611 F .871
+(ANSION)-.81 E F0 .611(The shell supports a history e)108 681.6 R .611
+(xpansion feature that is similar to the history e)-.15 F .61
+(xpansion in)-.15 F F1(csh.)3.11 E F0 .61(This section)5.61 F .87
 (describes what syntax features are a)108 693.6 R -.25(va)-.2 G 3.371
-(ilable. This).25 F .871(feature is enabled by def)3.371 F .87
-(ault for interacti)-.1 F 1.17 -.15(ve s)-.25 H .87(hells, and).15 F
-2.013(can be disabled using the)108 705.6 R F1(+H)4.514 E F0 2.014
+(ilable. This).25 F .871(feature is enabled by def)3.371 F .871
+(ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871(hells, and).15 F
+2.014(can be disabled using the)108 705.6 R F1(+H)4.514 E F0 2.014
 (option to the)4.514 F F1(set)4.514 E F0 -.2(bu)4.514 G 2.014
-(iltin command \(see).2 F F5 2.014(SHELL B)4.514 F(UIL)-.09 E 2.014
+(iltin command \(see).2 F F5 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013
 (TIN COMMANDS)-.828 F F0(belo)108 717.6 Q 2.5(w\). Non-interacti)-.25 F
 .3 -.15(ve s)-.25 H(hells do not perform history e).15 E
-(xpansion by def)-.15 E(ault.)-.1 E(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(47)198.165 E 0 Cg EP
+(xpansion by def)-.15 E(ault.)-.1 E(GNU Bash-4.2)72 768 Q
+(2010 September 6)137.625 E(47)187.615 E 0 Cg EP
 %%Page: 48 48
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.306(History e)108 84 R 1.306(xpansions introduce w)-.15 F 1.306
+-.35 E 1.305(History e)108 84 R 1.305(xpansions introduce w)-.15 F 1.306
 (ords from the history list into the input stream, making it easy to re\
-peat)-.1 F .209(commands, insert the ar)108 96 R .209(guments to a pre)
--.18 F .21
+peat)-.1 F .21(commands, insert the ar)108 96 R .21(guments to a pre)
+-.18 F .209
 (vious command into the current input line, or \214x errors in pre)-.25
-F(vious)-.25 E(commands quickly)108 108 Q(.)-.65 E 1.164(History e)108
+F(vious)-.25 E(commands quickly)108 108 Q(.)-.65 E 1.163(History e)108
 124.8 R 1.163(xpansion is performed immediately after a complete line i\
 s read, before the shell breaks it into)-.15 F -.1(wo)108 136.8 S 3.2
 (rds. It).1 F(tak)3.2 E .7(es place in tw)-.1 F 3.2(op)-.1 G 3.2
 (arts. The)-3.2 F .7
 (\214rst is to determine which line from the history list to use during)
-3.2 F 4.368(substitution. The)108 148.8 R 1.868(second is to select por\
-tions of that line for inclusion into the current one.)4.368 F 1.867
-(The line)6.867 F .662(selected from the history is the)108 160.8 R/F1
-10/Times-Italic@0 SF -.15(ev)3.162 G(ent).15 E F0 3.162(,a)C .663
-(nd the portions of that line that are acted upon are)-3.162 F F1(wor)
-3.163 E(ds)-.37 E F0 5.663(.V)C(arious)-6.773 E F1(modi\214er)108 172.8
-Q(s)-.1 E F0 .227(are a)2.727 F -.25(va)-.2 G .227
-(ilable to manipulate the selected w).25 F 2.727(ords. The)-.1 F .226
-(line is brok)2.726 F .226(en into w)-.1 F .226(ords in the same f)-.1 F
-(ashion)-.1 E .351(as when reading input, so that se)108 184.8 R -.15
-(ve)-.25 G(ral).15 E F1(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .352
-(-separated w)B .352(ords surrounded by quotes are considered)-.1 F .625
-(one w)108 196.8 R 3.125(ord. History)-.1 F -.15(ex)3.125 G .624
-(pansions are introduced by the appearance of the history e).15 F .624
-(xpansion character)-.15 F 3.124(,w)-.4 G(hich)-3.124 E(is)108 208.8 Q
+3.2 F 4.367(substitution. The)108 148.8 R 1.868(second is to select por\
+tions of that line for inclusion into the current one.)4.367 F 1.868
+(The line)6.868 F .663(selected from the history is the)108 160.8 R/F1
+10/Times-Italic@0 SF -.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663
+(nd the portions of that line that are acted upon are)-3.163 F F1(wor)
+3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F1(modi\214er)108 172.8
+Q(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226
+(ilable to manipulate the selected w).25 F 2.726(ords. The)-.1 F .227
+(line is brok)2.726 F .227(en into w)-.1 F .227(ords in the same f)-.1 F
+(ashion)-.1 E .352(as when reading input, so that se)108 184.8 R -.15
+(ve)-.25 G(ral).15 E F1(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351
+(-separated w)B .351(ords surrounded by quotes are considered)-.1 F .624
+(one w)108 196.8 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624
+(pansions are introduced by the appearance of the history e).15 F .625
+(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 208.8 Q
 /F2 10/Times-Bold@0 SF(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F
 (backslash \()2.5 E F2(\\).833 E F0 2.5(\)a).833 G
 (nd single quotes can quote the history e)-2.5 E(xpansion character)-.15
@@ -5639,210 +5649,213 @@ E(.)-.55 E(Se)108 225.6 Q -.15(ve)-.25 G .03
 (ral characters inhibit history e).15 F .03
 (xpansion if found immediately follo)-.15 F .03(wing the history e)-.25
 F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 237.6 T
-3.163(ni).25 G 3.163(fi)-3.163 G 3.162(ti)-3.163 G 3.162(su)-3.162 G
+3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G
 .662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and)
 -.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2
-(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.162 E
+(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E
 F0(will also inhibit e)108 249.6 Q(xpansion.)-.15 E(Se)108 266.4 Q -.15
-(ve)-.25 G .109(ral shell options settable with the).15 F F2(shopt)2.609
-E F0 -.2(bu)2.609 G .11(iltin may be used to tailor the beha).2 F .11
-(vior of history e)-.2 F(xpansion.)-.15 E 1.143(If the)108 278.4 R F2
+(ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E
+F0 -.2(bu)2.61 G .109(iltin may be used to tailor the beha).2 F .109
+(vior of history e)-.2 F(xpansion.)-.15 E 1.142(If the)108 278.4 R F2
 (histv)3.643 E(erify)-.1 E F0 1.143
 (shell option is enabled \(see the description of the)3.643 F F2(shopt)
 3.643 E F0 -.2(bu)3.643 G 1.143(iltin belo).2 F 1.143(w\), and)-.25 F F2
--.18(re)3.643 G(adline).18 E F0(is)3.642 E .461(being used, history sub\
+-.18(re)3.643 G(adline).18 E F0(is)3.643 E .461(being used, history sub\
 stitutions are not immediately passed to the shell parser)108 290.4 R
-5.461(.I)-.55 G .461(nstead, the e)-5.461 F .461(xpanded line)-.15 F
-1.516(is reloaded into the)108 302.4 R F2 -.18(re)4.016 G(adline).18 E
-F0 1.516(editing b)4.016 F(uf)-.2 E 1.516
-(fer for further modi\214cation.)-.25 F(If)6.516 E F2 -.18(re)4.015 G
-(adline).18 E F0 1.515(is being used, and the)4.015 F F2(histr)108 314.4
-Q(eedit)-.18 E F0 1.202(shell option is enabled, a f)3.702 F 1.202
+5.46(.I)-.55 G .46(nstead, the e)-5.46 F .46(xpanded line)-.15 F 1.515
+(is reloaded into the)108 302.4 R F2 -.18(re)4.015 G(adline).18 E F0
+1.515(editing b)4.015 F(uf)-.2 E 1.516(fer for further modi\214cation.)
+-.25 F(If)6.516 E F2 -.18(re)4.016 G(adline).18 E F0 1.516
+(is being used, and the)4.016 F F2(histr)108 314.4 Q(eedit)-.18 E F0
+1.202(shell option is enabled, a f)3.702 F 1.202
 (ailed history substitution will be reloaded into the)-.1 F F2 -.18(re)
 3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 326.4 S -.25(ff).2 G
-1.161(er for correction.).25 F(The)6.161 E F2<ad70>3.661 E F0 1.161
-(option to the)3.661 F F2(history)3.661 E F0 -.2(bu)3.661 G 1.16
+1.16(er for correction.).25 F(The)6.16 E F2<ad70>3.66 E F0 1.16
+(option to the)3.66 F F2(history)3.66 E F0 -.2(bu)3.661 G 1.161
 (iltin command may be used to see what a history).2 F -.15(ex)108 338.4
-S .055(pansion will do before using it.).15 F(The)5.055 E F2<ad73>2.555
-E F0 .055(option to the)2.555 F F2(history)2.556 E F0 -.2(bu)2.556 G
-.056(iltin may be used to add commands to the).2 F
+S .056(pansion will do before using it.).15 F(The)5.056 E F2<ad73>2.556
+E F0 .056(option to the)2.556 F F2(history)2.555 E F0 -.2(bu)2.555 G
+.055(iltin may be used to add commands to the).2 F
 (end of the history list without actually e)108 350.4 Q -.15(xe)-.15 G
 (cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G
 (ilable for subsequent recall.).25 E 2.2(The shell allo)108 367.2 R 2.2
 (ws control of the v)-.25 F 2.2(arious characters used by the history e)
--.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.146(description of)108
-379.2 R F2(histchars)3.646 E F0(abo)3.646 E 1.446 -.15(ve u)-.15 H(nder)
-.15 E F2 1.146(Shell V)3.646 F(ariables)-.92 E F0 3.646(\). The)B 1.147
+-.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108
+379.2 R F2(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder)
+.15 E F2 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146
 (shell uses the history comment character to)3.646 F
 (mark history timestamps when writing the history \214le.)108 391.2 Q F2
-(Ev)87 408 Q(ent Designators)-.1 E F0(An e)108 420 Q -.15(ve)-.25 G(nt \
-designator is a reference to a command line entry in the history list.)
-.15 E F2(!)108 436.8 Q F0 1.608(Start a history substitution, e)32.67 F
-1.608(xcept when follo)-.15 F 1.607(wed by a)-.25 F F2(blank)4.107 E F0
-4.107(,n)C -.25(ew)-4.107 G 1.607(line, carriage return, = or \().25 F
-(\(when the)144 448.8 Q F2(extglob)2.5 E F0
-(shell option is enabled using the)2.5 E F2(shopt)2.5 E F0 -.2(bu)2.5 G
-(iltin\).).2 E F2(!)108 460.8 Q F1(n)A F0(Refer to command line)27.67 E
-F1(n)2.5 E F0(.).24 E F2<21ad>108 472.8 Q F1(n)A F0
-(Refer to the current command line minus)21.97 E F1(n)2.5 E F0(.).24 E
-F2(!!)108 484.8 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
-(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 496.8 Q F1(string)
-A F0(Refer to the most recent command starting with)9.33 E F1(string)2.5
-E F0(.).22 E F2(!?)108 508.8 Q F1(string)A F2([?])A F0 1.022
-(Refer to the most recent command containing)144 520.8 R F1(string)3.522
-E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F2(?)3.522 E F0 1.022
-(may be omitted if)3.522 F F1(string)3.862 E F0(is)3.742 E(follo)144
-532.8 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0
-SF(^)108 549.8 Q F1(string1)-5 I F3(^)5 I F1(string2)-5 I F3(^)5 I F0
-2.63(Quick substitution.)144 556.8 R 2.629
-(Repeat the last command, replacing)7.629 F F1(string1)5.469 E F0(with)
-5.129 E F1(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G
-2.629(lent to).25 F -.74(``)144 568.8 S(!!:s/).74 E F1(string1)A F0(/)A
-F1(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
-(belo)2.5 E(w\).)-.25 E F2(!#)108 580.8 Q F0
+(Ev)87 408 Q(ent Designators)-.1 E F0 .204(An e)108 420 R -.15(ve)-.25 G
+.204(nt designator is a reference to a command line entry in the histor\
+y list.).15 F .205(Unless the reference is abso-)5.204 F(lute, e)108 432
+Q -.15(ve)-.25 G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5(ot).15 G
+(he current position in the history list.)-2.5 E F2(!)108 448.8 Q F0
+1.608(Start a history substitution, e)32.67 F 1.608(xcept when follo)
+-.15 F 1.607(wed by a)-.25 F F2(blank)4.107 E F0 4.107(,n)C -.25(ew)
+-4.107 G 1.607(line, carriage return, = or \().25 F(\(when the)144 460.8
+Q F2(extglob)2.5 E F0(shell option is enabled using the)2.5 E F2(shopt)
+2.5 E F0 -.2(bu)2.5 G(iltin\).).2 E F2(!)108 472.8 Q F1(n)A F0
+(Refer to command line)27.67 E F1(n)2.5 E F0(.).24 E F2<21ad>108 484.8 Q
+F1(n)A F0(Refer to the current command minus)21.97 E F1(n)2.5 E F0(.).24
+E F2(!!)108 496.8 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
+(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 508.8 Q F1(string)
+A F0 .865(Refer to the most recent command preceding the current positi\
+on in the history list starting with)9.33 F F1(string)144 520.8 Q F0(.)
+.22 E F2(!?)108 532.8 Q F1(string)A F2([?])A F0 1.304(Refer to the most\
+ recent command preceding the current postition in the history list con\
+taining)144 544.8 R F1(string)144 556.8 Q F0 5(.T).22 G(he trailing)-5 E
+F2(?)2.5 E F0(may be omitted if)2.5 E F1(string)2.84 E F0(is follo)2.72
+E(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0 SF(^)
+108 573.8 Q F1(string1)-5 I F3(^)5 I F1(string2)-5 I F3(^)5 I F0 .783
+(Quick substitution.)144 580.8 R .783(Repeat the pre)5.783 F .784
+(vious command, replacing)-.25 F F1(string1)3.624 E F0(with)3.284 E F1
+(string2)3.284 E F0 5.784(.E).02 G(qui)-5.784 E -.25(va)-.25 G .784
+(lent to).25 F -.74(``)144 592.8 S(!!:s/).74 E F1(string1)A F0(/)A F1
+(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
+(belo)2.5 E(w\).)-.25 E F2(!#)108 604.8 Q F0
 (The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75
-(Wo)87 597.6 S(rd Designators).75 E F0 -.8(Wo)108 609.6 S 1.313
+(Wo)87 621.6 S(rd Designators).75 E F0 -.8(Wo)108 633.6 S 1.314
 (rd designators are used to select desired w).8 F 1.314(ords from the e)
--.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.314
-(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F
-.53(from the w)108 621.6 R .529(ord designator)-.1 F 5.529(.I)-.55 G
+-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.313
+(separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F
+.529(from the w)108 645.6 R .529(ord designator)-.1 F 5.529(.I)-.55 G
 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
 (ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2
 ($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r)
--3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3
-(are numbered from the be)108 633.6 R 1.3
-(ginning of the line, with the \214rst w)-.15 F 1.301
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.301 G 1.301(rds are).8
-F(inserted into the current line separated by single spaces.)108 645.6 Q
-F2 2.5(0\()108 662.4 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 674.4 Q
+-3.029 E F2(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301
+(are numbered from the be)108 657.6 R 1.301
+(ginning of the line, with the \214rst w)-.15 F 1.3
+(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F
+(inserted into the current line separated by single spaces.)108 669.6 Q
+F2 2.5(0\()108 686.4 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 698.4 Q
 2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
-F1(n)108.36 686.4 Q F0(The)30.64 E F1(n)2.5 E F0(th w)A(ord.)-.1 E F2(^)
-108 698.4 Q F0(The \214rst ar)32.67 E 2.5(gument. That)-.18 F(is, w)2.5
-E(ord 1.)-.1 E F2($)108 710.4 Q F0(The last ar)31 E(gument.)-.18 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(48)198.165 E 0 Cg EP
+F1(n)108.36 710.4 Q F0(The)30.64 E F1(n)2.5 E F0(th w)A(ord.)-.1 E
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(48)187.615 E 0 Cg EP
 %%Page: 49 49
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(%)108 84 Q F0(The w)26 E
+-.35 E/F1 10/Times-Bold@0 SF(^)108 84 Q F0(The \214rst ar)32.67 E 2.5
+(gument. That)-.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 96 Q F0
+(The last ar)31 E(gument.)-.18 E F1(%)108 108 Q F0(The w)26 E
 (ord matched by the most recent `?)-.1 E/F2 10/Times-Italic@0 SF(string)
-A F0(?' search.)A F2(x)108.77 96 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G
+A F0(?' search.)A F2(x)108.77 120 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G
 (ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E
-(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 108 Q F0 .316
-(All of the w)31 F .316(ords b)-.1 F .316(ut the zeroth.)-.2 F .315
+(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 132 Q F0 .315
+(All of the w)31 F .315(ords b)-.1 F .315(ut the zeroth.)-.2 F .315
 (This is a synon)5.315 F .315(ym for `)-.15 F F2(1\255$)A F0 2.815
-('. It)B .315(is not an error to use)2.815 F F1(*)2.815 E F0 .315
-(if there is)2.815 F(just one w)144 120 Q(ord in the e)-.1 E -.15(ve)
+('. It)B .315(is not an error to use)2.815 F F1(*)2.816 E F0 .316
+(if there is)2.816 F(just one w)144 144 Q(ord in the e)-.1 E -.15(ve)
 -.25 G(nt; the empty string is returned in that case.).15 E F1(x*)108
-132 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 144
+156 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 168
 Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1
 (x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108
-160.8 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
+184.8 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
 (nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E
--.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 177.6 Q F0 .183
-(After the optional w)108 189.6 R .183(ord designator)-.1 F 2.683(,t)-.4
-G .184(here may appear a sequence of one or more of the follo)-2.683 F
-.184(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 201.6 Q F1(h)
-108 218.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
+-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 201.6 Q F0 .184
+(After the optional w)108 213.6 R .184(ord designator)-.1 F 2.684(,t)-.4
+G .183(here may appear a sequence of one or more of the follo)-2.684 F
+.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 225.6 Q F1(h)
+108 242.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
 (railing \214le name component, lea).15 E(ving only the head.)-.2 E F1
-(t)108 230.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
+(t)108 254.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
 (ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r)
-108 242.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
+108 266.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
 (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E
-(ving the basename.)-.2 E F1(e)108 254.4 Q F0(Remo)31.56 E .3 -.15(ve a)
--.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 266.4
+(ving the basename.)-.2 E F1(e)108 278.4 Q F0(Remo)31.56 E .3 -.15(ve a)
+-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 290.4
 Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
-E -.15(xe)-.15 G(cute it.).15 E F1(q)108 278.4 Q F0
+E -.15(xe)-.15 G(cute it.).15 E F1(q)108 302.4 Q F0
 (Quote the substituted w)30.44 E(ords, escaping further substitutions.)
--.1 E F1(x)108 290.4 Q F0(Quote the substituted w)31 E(ords as with)-.1
+-.1 E F1(x)108 314.4 Q F0(Quote the substituted w)31 E(ords as with)-.1
 E F1(q)2.5 E F0 2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks)
-2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 302.4 Q F2(old)A F1(/)A
-F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 314.4 Q F2(ne)3.082 E(w)-.15 E
-F0 .221(for the \214rst occurrence of)3.032 F F2(old)2.951 E F0 .221
+2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 326.4 Q F2(old)A F1(/)A
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 338.4 Q F2(ne)3.081 E(w)-.15 E
+F0 .221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221
 (in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721
-(yd)-.15 G .221(elimiter can be used in place)-2.721 F .616(of /.)144
-326.4 R .617
+(yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144
+350.4 R .617
 (The \214nal delimiter is optional if it is the last character of the e)
-5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617
-F .666(be quoted in)144 338.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
+5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
+F .666(be quoted in)144 362.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
 3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666
 (If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166
 (ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E
-F0 5.666(.A).77 G .274(single backslash will quote the &.)144 350.4 R
-(If)5.274 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
-F F2(old)3.005 E F0 .275(substituted, or)3.545 F 2.775(,i)-.4 G 2.775
-(fn)-2.775 G 2.775(op)-2.775 G(re)-2.775 E(vi-)-.25 E
-(ous history substitutions took place, the last)144 362.4 Q F2(string)
+F0 5.666(.A).77 G .275(single backslash will quote the &.)144 374.4 R
+(If)5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
+F F2(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774
+(fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E
+(ous history substitutions took place, the last)144 386.4 Q F2(string)
 2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1
-(&)108 374.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
-(g)108 386.4 Q F0 .398(Cause changes to be applied o)31 F -.15(ve)-.15 G
-2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398(nt line.)
-.15 F .397(This is used in conjunction with `)5.398 F F1(:s)A F0 2.897
-('\()C(e.g.,)-2.897 E(`)144 398.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
--.15 E F1(/)A F0 1.218('\) or `)B F1(:&)A F0 3.718('. If)B 1.218
-(used with `)3.718 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.219
-(elimiter can be used in place of /, and the \214nal)-3.718 F .09
-(delimiter is optional if it is the last character of the e)144 410.4 R
--.15(ve)-.25 G .089(nt line.).15 F(An)5.089 E F1(a)2.589 E F0 .089
-(may be used as a synon)2.589 F .089(ym for)-.15 F F1(g)144 422.4 Q F0
-(.)A F1(G)108 434.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0
-2.5('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25
-G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 451.2 Q(UIL)-.11 E
-(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 463.2
+(&)108 398.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
+(g)108 410.4 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G
+2.897(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.)
+.15 F .398(This is used in conjunction with `)5.398 F F1(:s)A F0 2.898
+('\()C(e.g.,)-2.898 E(`)144 422.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
+-.15 E F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219
+(used with `)3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218
+(elimiter can be used in place of /, and the \214nal)-3.718 F .089
+(delimiter is optional if it is the last character of the e)144 434.4 R
+-.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09
+(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 446.4 Q F0(.)A
+F1(G)108 458.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5
+('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G
+(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 475.2 Q(UIL)-.11 E
+(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 487.2
 R .062(uiltin command documented in this section as accepting options p\
-receded by)-.2 F F1<ad>108 475.2 Q F0(accepts)2.534 E F1<adad>2.534 E F0
-.034(to signify the end of the options.)2.534 F(The)5.034 E F1(:)2.534 E
+receded by)-.2 F F1<ad>108 499.2 Q F0(accepts)2.533 E F1<adad>2.533 E F0
+.034(to signify the end of the options.)2.533 F(The)5.034 E F1(:)2.534 E
 F0(,)A F1(true)2.534 E F0(,)A F1(false)2.534 E F0 2.534(,a)C(nd)-2.534 E
-F1(test)2.534 E F0 -.2(bu)2.534 G .033(iltins do not accept options and)
-.2 F .077(do not treat)108 487.2 R F1<adad>2.577 E F0(specially)2.577 E
+F1(test)2.534 E F0 -.2(bu)2.534 G .034(iltins do not accept options and)
+.2 F .078(do not treat)108 511.2 R F1<adad>2.577 E F0(specially)2.577 E
 5.077(.T)-.65 G(he)-5.077 E F1(exit)2.577 E F0(,)A F1(logout)2.577 E F0
 (,)A F1(br)2.577 E(eak)-.18 E F0(,)A F1(continue)2.577 E F0(,)A F1(let)
 2.577 E F0 2.577(,a)C(nd)-2.577 E F1(shift)2.577 E F0 -.2(bu)2.577 G
-.077(iltins accept and process ar).2 F(gu-)-.18 E .32(ments be)108 499.2
-R .32(ginning with)-.15 F F1<ad>2.82 E F0 .32(without requiring)2.82 F
-F1<adad>2.82 E F0 5.319(.O)C .319(ther b)-5.319 F .319
-(uiltins that accept ar)-.2 F .319(guments b)-.18 F .319
-(ut are not speci\214ed as)-.2 F 1.143(accepting options interpret ar)
-108 511.2 R 1.143(guments be)-.18 F 1.143(ginning with)-.15 F F1<ad>
+.077(iltins accept and process ar).2 F(gu-)-.18 E .319(ments be)108
+523.2 R .319(ginning with)-.15 F F1<ad>2.819 E F0 .319
+(without requiring)2.819 F F1<adad>2.819 E F0 5.319(.O)C .319(ther b)
+-5.319 F .319(uiltins that accept ar)-.2 F .32(guments b)-.18 F .32
+(ut are not speci\214ed as)-.2 F 1.144(accepting options interpret ar)
+108 535.2 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1<ad>
 3.643 E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143
-(lid options and require).25 F F1<adad>3.644 E F0 1.144(to pre)3.644 F
--.15(ve)-.25 G 1.144(nt this).15 F(interpretation.)108 523.2 Q F1(:)108
-541.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .452(No ef)144 553.2 R
-.452(fect; the command does nothing be)-.25 F .452(yond e)-.15 F
-(xpanding)-.15 E F2(ar)3.282 E(guments)-.37 E F0 .451(and performing an)
-3.221 F 2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. A)144
-565.2 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 582 Q F2
+(lid options and require).25 F F1<adad>3.643 E F0 1.143(to pre)3.643 F
+-.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 547.2 Q F1(:)108
+565.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .451(No ef)144 577.2 R
+.451(fect; the command does nothing be)-.25 F .452(yond e)-.15 F
+(xpanding)-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an)
+3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144
+589.2 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 606 Q F2
 (\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108
-594 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
-(])A 1.02(Read and e)144 606 R -.15(xe)-.15 G 1.02(cute commands from)
+618 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
+(])A 1.02(Read and e)144 630 R -.15(xe)-.15 G 1.02(cute commands from)
 .15 F F2(\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02
 (vironment and return the e)-.4 F(xit)-.15 E 1.68
-(status of the last command e)144 618 R -.15(xe)-.15 G 1.68(cuted from)
+(status of the last command e)144 642 R -.15(xe)-.15 G 1.68(cuted from)
 .15 F F2(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F2(\214lename)6.09
-E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 630
+E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 654
 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608
 (are used to \214nd the directory containing)2.858 F F2(\214lename)3.108
 E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA)
-3.108 G(TH)-.189 E F0 .833(need not be e)144 642 R -.15(xe)-.15 G 3.333
-(cutable. When).15 F F1(bash)3.333 E F0 .832(is not in)3.333 F F2 .832
-(posix mode)3.332 F F0 3.332(,t)C .832
-(he current directory is searched if no)-3.332 F .981
-(\214le is found in)144 654 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
+3.108 G(TH)-.189 E F0 .832(need not be e)144 666 R -.15(xe)-.15 G 3.332
+(cutable. When).15 F F1(bash)3.332 E F0 .832(is not in)3.332 F F2 .832
+(posix mode)3.332 F F0 3.332(,t)C .833
+(he current directory is searched if no)-3.332 F .982
+(\214le is found in)144 678 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18
 E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981
-(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144 666
-S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F(y)-.15
+(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 690
+S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F(y)-.15
 E F2(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F 2.612
 (yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2
-(\214lename)144 678 Q F0 .341(is e)2.841 F -.15(xe)-.15 G 2.841
-(cuted. Otherwise).15 F .341(the positional parameters are unchanged.)
-2.841 F .342(The return status is the)5.342 F .716
-(status of the last command e)144 690 R .716
+(\214lename)144 702 Q F0 .342(is e)2.842 F -.15(xe)-.15 G 2.842
+(cuted. Otherwise).15 F .342(the positional parameters are unchanged.)
+2.842 F .341(The return status is the)5.341 F .716
+(status of the last command e)144 714 R .716
 (xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G
-.716(cuted\), and f).15 F .715(alse if)-.1 F F2(\214lename)145.91 702 Q
+.716(cuted\), and f).15 F .716(alse if)-.1 F F2(\214lename)145.91 726 Q
 F0(is not found or cannot be read.)2.68 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(49)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(49)187.615 E 0 Cg EP
 %%Page: 50 50
 %%BeginPageSetup
 BP
@@ -5850,9 +5863,9 @@ BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(alias)108 84 Q F0([)2.5 E F1<ad70>A F0 2.5
 (][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C
-(..])-2.5 E F1(Alias)144 96 Q F0 2.724(with no ar)5.224 F 2.724
+(..])-2.5 E F1(Alias)144 96 Q F0 2.725(with no ar)5.225 F 2.724
 (guments or with the)-.18 F F1<ad70>5.224 E F0 2.724
-(option prints the list of aliases in the form)5.224 F F1(alias)5.225 E
+(option prints the list of aliases in the form)5.224 F F1(alias)5.224 E
 F2(name)144 108 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F
 .58(When ar)5.58 F .58
 (guments are supplied, an alias is de\214ned for each)-.18 F F2(name)
@@ -5862,23 +5875,23 @@ F2(name)144 108 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F
 (ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
 (stitution when the alias is e)144 132 R 2.554(xpanded. F)-.15 F .054
 (or each)-.15 F F2(name)2.554 E F0 .054(in the ar)2.554 F .054
-(gument list for which no)-.18 F F2(value)2.554 E F0 .053(is sup-)2.553
-F 1.313(plied, the name and v)144 144 R 1.314
+(gument list for which no)-.18 F F2(value)2.554 E F0 .054(is sup-)2.554
+F 1.314(plied, the name and v)144 144 R 1.314
 (alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314
-(returns true unless a)3.814 F F2(name)3.814 E F0 1.314(is gi)3.814 F
--.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E
+(returns true unless a)3.814 F F2(name)3.814 E F0 1.313(is gi)3.814 F
+-.15(ve)-.25 G 3.813(nf).15 G(or)-3.813 E
 (which no alias has been de\214ned.)144 156 Q F1(bg)108 172.8 Q F0([)2.5
-E F2(jobspec)A F0(...])2.5 E .745(Resume each suspended job)144 184.8 R
-F2(jobspec)3.245 E F0 .745
-(in the background, as if it had been started with)3.245 F F1(&)3.244 E
-F0 5.744(.I)C(f)-5.744 E F2(job-)4.984 E(spec)144 196.8 Q F0 .671
-(is not present, the shell')3.481 F 3.171(sn)-.55 G .672(otion of the)
--3.171 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1
-(bg)5.672 E F2(jobspec)4.912 E F0 .672(returns 0 unless run)3.482 F .419
+E F2(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144 184.8 R
+F2(jobspec)3.244 E F0 .745
+(in the background, as if it had been started with)3.244 F F1(&)3.245 E
+F0 5.745(.I)C(f)-5.745 E F2(job-)4.985 E(spec)144 196.8 Q F0 .672
+(is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the)
+-3.172 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1
+(bg)5.671 E F2(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418
 (when job control is disabled or)144 208.8 R 2.919(,w)-.4 G .419
-(hen run with job control enabled, an)-2.919 F 2.918(ys)-.15 G
-(peci\214ed)-2.918 E F2(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G
-(ot)-2.918 E(found or w)144 220.8 Q(as started without job control.)-.1
+(hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G
+(peci\214ed)-2.919 E F2(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G
+(ot)-2.919 E(found or w)144 220.8 Q(as started without job control.)-.1
 E F1(bind)108 237.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0
 2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 249.6 Q F0([)2.5 E F1
 <ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1<ad71>-2.5 E F2
@@ -5890,29 +5903,29 @@ G(ymap)-.2 E F0(])A F1<ad78>2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
 (shell\255command)A F1(bind)108 285.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)
 2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
 (function\255name)A F1(bind)108 297.6 Q F2 -.37(re)2.5 G
-(adline\255command).37 E F0 .238(Display current)144 309.6 R F1 -.18(re)
-2.738 G(adline).18 E F0 -.1(ke)2.738 G 2.738(ya)-.05 G .239
-(nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239
-(equence to a).15 F F1 -.18(re)2.739 G(adline).18 E F0 .239(function or)
-2.739 F .476(macro, or set a)144 321.6 R F1 -.18(re)2.976 G(adline).18 E
-F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F
-.475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F2
-(.inputr)144 333.6 Q(c)-.37 E F0 2.983(,b).31 G .484
-(ut each binding or command must be passed as a separate ar)-3.183 F
-.484(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
+(adline\255command).37 E F0 .239(Display current)144 309.6 R F1 -.18(re)
+2.739 G(adline).18 E F0 -.1(ke)2.739 G 2.739(ya)-.05 G .239
+(nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238
+(equence to a).15 F F1 -.18(re)2.738 G(adline).18 E F0 .238(function or)
+2.738 F .475(macro, or set a)144 321.6 R F1 -.18(re)2.975 G(adline).18 E
+F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F
+.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F2
+(.inputr)144 333.6 Q(c)-.37 E F0 2.984(,b).31 G .484
+(ut each binding or command must be passed as a separate ar)-3.184 F
+.483(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
 (re\255read\255init\255\214le'. Options,)144 345.6 R(if supplied, ha)2.5
 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6d>144
-357.6 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 369.6 Q F2 -.1(ke)5.159 G
-(ymap)-.2 E F0 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658(map to be af)
-.15 F 2.658(fected by the subsequent bindings.)-.25 F(Acceptable)7.658 E
-F2 -.1(ke)180 381.6 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192
-(emacs, emacs\255standar)5.692 F 3.193
+357.6 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 369.6 Q F2 -.1(ke)5.158 G
+(ymap)-.2 E F0 2.658(as the k)5.348 F -.15(ey)-.1 G 2.658(map to be af)
+.15 F 2.659(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E
+F2 -.1(ke)180 381.6 S(ymap)-.2 E F0 3.193(names are)5.883 F F2 3.193
+(emacs, emacs\255standar)5.693 F 3.192
 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E
-(vi\255command)180 393.6 Q F0 4.43(,a)C(nd)-4.43 E F2(vi\255insert)4.429
-E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929
-(lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0 1.929
-(is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F2(emacs\255standar)
-180 405.6 Q(d)-.37 E F0(.)A F1<ad6c>144 417.6 Q F0
+(vi\255command)180 393.6 Q F0 4.429(,a)C(nd)-4.429 E F2(vi\255insert)
+4.429 E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G
+1.929(lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0
+1.929(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F2
+(emacs\255standar)180 405.6 Q(d)-.37 E F0(.)A F1<ad6c>144 417.6 Q F0
 (List the names of all)27.52 E F1 -.18(re)2.5 G(adline).18 E F0
 (functions.)2.5 E F1<ad70>144 429.6 Q F0(Display)24.74 E F1 -.18(re)2.5
 G(adline).18 E F0(function names and bindings in such a w)2.5 E
@@ -5943,30 +5956,30 @@ F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 597.6 Q .3 -.15(ve a)-.15 H .3
 (shell\255command)A F0(Cause)180 621.6 Q F2(shell\255command)4.325 E F0
 1.825(to be e)4.325 F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)
 -.25 G(r).15 E F2 -.1(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F
-(When)6.825 E F2(shell\255com-)4.325 E(mand)180 633.6 Q F0 1.764(is e)
-4.264 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F/F3 9
+(When)6.825 E F2(shell\255com-)4.325 E(mand)180 633.6 Q F0 1.765(is e)
+4.265 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F/F3 9
 /Times-Bold@0 SF(READLINE_LINE)4.265 E F0 -.25(va)4.015 G 1.765
 (riable to the contents of the).25 F F1 -.18(re)180 645.6 S(adline).18 E
-F0 1.353(line b)3.853 F(uf)-.2 E 1.353(fer and the)-.25 F F3
+F0 1.353(line b)3.852 F(uf)-.2 E 1.353(fer and the)-.25 F F3
 (READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353
-(riable to the current location of the).25 F 2.011(insertion point.)180
-657.6 R 2.011(If the e)7.011 F -.15(xe)-.15 G 2.011
+(riable to the current location of the).25 F 2.012(insertion point.)180
+657.6 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011
 (cuted command changes the v).15 F 2.011(alue of)-.25 F F3
-(READLINE_LINE)4.512 E F0(or)4.262 E F3(READLINE_POINT)180 669.6 Q/F4 9
+(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 669.6 Q/F4 9
 /Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G
 (alues will be re\215ected in the editing state.)-2.75 E(The return v)
 144 686.4 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15
 (ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5
-E F1(br)108 703.2 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055
-(Exit from within a)144 715.2 R F1 -.25(fo)2.555 G(r).25 E F0(,)A F1
-(while)2.555 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1
+E F1(br)108 703.2 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .054
+(Exit from within a)144 715.2 R F1 -.25(fo)2.554 G(r).25 E F0(,)A F1
+(while)2.554 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1
 (select)2.555 E F0 2.555(loop. If)2.555 F F2(n)2.555 E F0 .055
 (is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G
-(ls.).15 E F2(n)5.414 E F0 .054(must be)2.794 F/F5 10/Symbol SF<b3>2.554
-E F0(1.)2.554 E(If)144 727.2 Q F2(n)3.074 E F0 .215(is greater than the\
- number of enclosing loops, all enclosing loops are e)2.954 F 2.715
-(xited. The)-.15 F .215(return v)2.715 F(alue)-.25 E(GNU Bash-4.2)72 768
-Q(2010 July 21)148.175 E(50)198.165 E 0 Cg EP
+(ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F5 10/Symbol SF<b3>2.555
+E F0(1.)2.555 E(If)144 727.2 Q F2(n)3.075 E F0 .215(is greater than the\
+ number of enclosing loops, all enclosing loops are e)2.955 F 2.714
+(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(GNU Bash-4.2)72 768
+Q(2010 September 6)137.625 E(50)187.615 E 0 Cg EP
 %%Page: 51 51
 %%BeginPageSetup
 BP
 -.35 E(is 0 unless)144 84 Q/F1 10/Times-Italic@0 SF(n)2.5 E F0
 (is not greater than or equal to 1.)2.5 E/F2 10/Times-Bold@0 SF -.2(bu)
 108 100.8 S(iltin).2 E F1(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E F1
-(ar)A(guments)-.37 E F0(])A(Ex)144 112.8 Q .793
-(ecute the speci\214ed shell b)-.15 F .793(uiltin, passing it)-.2 F F1
+(ar)A(guments)-.37 E F0(])A(Ex)144 112.8 Q .792
+(ecute the speci\214ed shell b)-.15 F .792(uiltin, passing it)-.2 F F1
 (ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G .793(nd return its e)-3.293
-F .792(xit status.)-.15 F .792(This is useful)5.792 F .615
+F .793(xit status.)-.15 F .793(This is useful)5.793 F .616
 (when de\214ning a function whose name is the same as a shell b)144
-124.8 R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144
+124.8 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144
 136.8 R .57(uiltin within the function.)-.2 F(The)5.57 E F2(cd)3.07 E F0
 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E
 5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 148.8 Q(alse if)-.1
 E F1(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E
 (uiltin command.)-.2 E F2(caller)108 165.6 Q F0([)2.5 E F1 -.2(ex)C(pr)
-.2 E F0(])A .253(Returns the conte)144 177.6 R .254(xt of an)-.15 F
+.2 E F0(])A .254(Returns the conte)144 177.6 R .254(xt of an)-.15 F
 2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254
 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
-.254(cuted with the).15 F F2(.)2.754 E F0(or)2.754 E F2(sour)144 189.6 Q
-(ce)-.18 E F0 -.2(bu)2.825 G 2.825(iltins\). W).2 F(ithout)-.4 E F1 -.2
-(ex)2.825 G(pr).2 E F0(,)A F2(caller)2.825 E F0 .324
+.254(cuted with the).15 F F2(.)2.753 E F0(or)2.753 E F2(sour)144 189.6 Q
+(ce)-.18 E F0 -.2(bu)2.824 G 2.824(iltins\). W).2 F(ithout)-.4 E F1 -.2
+(ex)2.824 G(pr).2 E F0(,)A F2(caller)2.824 E F0 .324
 (displays the line number and source \214lename of the current)2.824 F
-.253(subroutine call.)144 201.6 R .253(If a non-ne)5.253 F -.05(ga)-.15
-G(ti).05 E .553 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15
-F F1 -.2(ex)2.753 G(pr).2 E F0(,)A F2(caller)2.753 E F0 .254
-(displays the line number)2.754 F 2.754(,s)-.4 G(ub-)-2.754 E 1.327(rou\
+.254(subroutine call.)144 201.6 R .254(If a non-ne)5.254 F -.05(ga)-.15
+G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15
+F F1 -.2(ex)2.753 G(pr).2 E F0(,)A F2(caller)2.753 E F0 .253
+(displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\
 tine name, and source \214le corresponding to that position in the curr\
-ent e)144 213.6 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e)
-144 225.6 Q(xtra information may be used, for e)-.15 E .001
-(xample, to print a stack trace.)-.15 F .001(The current frame is frame)
-5.001 F 3.02(0. The)144 237.6 R .52(return v)3.02 F .52
-(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .519
-(cuting a subroutine call or).15 F F1 -.2(ex)3.019 G(pr).2 E F0 .519
-(does not corre-)3.019 F(spond to a v)144 249.6 Q
+ent e)144 213.6 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
+(This e)144 225.6 R .001(xtra information may be used, for e)-.15 F .001
+(xample, to print a stack trace.)-.15 F(The current frame is frame)5 E
+3.019(0. The)144 237.6 R .519(return v)3.019 F .519
+(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .52
+(cuting a subroutine call or).15 F F1 -.2(ex)3.02 G(pr).2 E F0 .52
+(does not corre-)3.02 F(spond to a v)144 249.6 Q
 (alid position in the call stack.)-.25 E F2(cd)108 266.4 Q F0([)2.5 E F2
 <ad4c>A F0(|[)A F2<ad50>A F0([)2.5 E F2<ad65>A F0(]]] [)A F1(dir)A F0(])
 A .21(Change the current directory to)144 278.4 R F1(dir)2.71 E F0 5.21
 (.T)C .21(he v)-5.21 F(ariable)-.25 E/F3 9/Times-Bold@0 SF(HOME)2.71 E
 F0 .21(is the def)2.46 F(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21
 (he v)-5.21 F(ariable)-.25 E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0
-.777(de\214nes the search path for the directory containing)144 290.4 R
-F1(dir)3.276 E F0 5.776(.A).73 G(lternati)-5.776 E 1.076 -.15(ve d)-.25
-H .776(irectory names in).15 F F3(CDP)3.276 E -.855(AT)-.666 G(H).855 E
+.776(de\214nes the search path for the directory containing)144 290.4 R
+F1(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25
+H .777(irectory names in).15 F F3(CDP)3.277 E -.855(AT)-.666 G(H).855 E
 F0 .764(are separated by a colon \(:\).)144 302.4 R 3.264(An)5.764 G
 .764(ull directory name in)-3.264 F F3(CDP)3.264 E -.855(AT)-.666 G(H)
 .855 E F0 .764(is the same as the current direc-)3.014 F(tory)144 314.4
-Q 2.974(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E F2(.)A F0 -.74('')C
-5.474(.I).74 G(f)-5.474 E F1(dir)3.324 E F0(be)3.704 E .474
+Q 2.973(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F2(.)A F0 -.74('')C
+5.473(.I).74 G(f)-5.473 E F1(dir)3.323 E F0(be)3.703 E .474
 (gins with a slash \(/\), then)-.15 F F3(CDP)2.974 E -.855(AT)-.666 G(H)
-.855 E F0 .473(is not used. The)2.724 F F2<ad50>2.973 E F0 .473
-(option says to use)2.973 F .579(the ph)144 326.4 R .579
+.855 E F0 .474(is not used. The)2.724 F F2<ad50>2.974 E F0 .474
+(option says to use)2.974 F .58(the ph)144 326.4 R .58
 (ysical directory structure instead of follo)-.05 F .579
-(wing symbolic links \(see also the)-.25 F F2<ad50>3.08 E F0 .58
-(option to the)3.08 F F2(set)144 338.4 Q F0 -.2(bu)2.717 G .217
-(iltin command\); the).2 F F2<ad4c>2.717 E F0 .217
-(option forces symbolic links to be follo)2.717 F 2.716(wed. If)-.25 F
-(the)2.716 E F2<ad65>2.716 E F0 .216(option is sup-)2.716 F 1.086
-(plied with)144 350.4 R F2<ad50>3.586 E F0 3.586(,a)C 1.086
-(nd the current w)-3.586 F 1.087
+(wing symbolic links \(see also the)-.25 F F2<ad50>3.079 E F0 .579
+(option to the)3.079 F F2(set)144 338.4 Q F0 -.2(bu)2.716 G .216
+(iltin command\); the).2 F F2<ad4c>2.716 E F0 .216
+(option forces symbolic links to be follo)2.716 F 2.717(wed. If)-.25 F
+(the)2.717 E F2<ad65>2.717 E F0 .217(option is sup-)2.717 F 1.087
+(plied with)144 350.4 R F2<ad50>3.587 E F0 3.587(,a)C 1.087
+(nd the current w)-3.587 F 1.086
 (orking directory cannot be successfully determined after a suc-)-.1 F
 .44(cessful directory change,)144 362.4 R F2(cd)2.94 E F0 .44
 (will return an unsuccessful status.)2.94 F .44(An ar)5.44 F .44
 (gument of)-.18 F F2<ad>2.94 E F0 .44(is equi)2.94 F -.25(va)-.25 G .44
-(lent to).25 F F3($OLDPWD)144 374.4 Q/F4 9/Times-Roman@0 SF(.)A F0 1.044
-(If a non-empty directory name from)5.544 F F3(CDP)3.544 E -.855(AT)
--.666 G(H).855 E F0 1.045(is used, or if)3.295 F F2<ad>3.545 E F0 1.045
-(is the \214rst ar)3.545 F(gument,)-.18 E .021(and the directory change\
- is successful, the absolute pathname of the ne)144 386.4 R 2.521(ww)
--.25 G .021(orking directory is writ-)-2.621 F .165
+(lent to).25 F F3($OLDPWD)144 374.4 Q/F4 9/Times-Roman@0 SF(.)A F0 1.045
+(If a non-empty directory name from)5.545 F F3(CDP)3.545 E -.855(AT)
+-.666 G(H).855 E F0 1.044(is used, or if)3.295 F F2<ad>3.544 E F0 1.044
+(is the \214rst ar)3.544 F(gument,)-.18 E .021(and the directory change\
+ is successful, the absolute pathname of the ne)144 386.4 R 2.522(ww)
+-.25 G .022(orking directory is writ-)-2.622 F .165
 (ten to the standard output.)144 398.4 R .165(The return v)5.165 F .165
 (alue is true if the directory w)-.25 F .165(as successfully changed; f)
 -.1 F(alse)-.1 E(otherwise.)144 410.4 Q F2(command)108 427.2 Q F0([)2.5
 E F2(\255pVv)A F0(])A F1(command)2.5 E F0([)2.5 E F1(ar)A(g)-.37 E F0
-(...])2.5 E(Run)144 439.2 Q F1(command)2.957 E F0(with)3.527 E F1(ar)
+(...])2.5 E(Run)144 439.2 Q F1(command)2.956 E F0(with)3.527 E F1(ar)
 3.087 E(gs)-.37 E F0 .257
 (suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .501(commands found in the)144 451.2 R F3
--.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002
+(uiltin commands or)-.2 F .502(commands found in the)144 451.2 R F3
+-.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002
 (cuted. If).15 F(the)3.002 E F2<ad70>3.002 E F0 .502(option is gi)3.002
-F -.15(ve)-.25 G .502(n, the search for).15 F F1(command)3.202 E F0(is)
-3.772 E .4(performed using a def)144 463.2 R .4(ault v)-.1 F .4
-(alue for)-.25 F F3 -.666(PA)2.9 G(TH)-.189 E F0 .399
+F -.15(ve)-.25 G .501(n, the search for).15 F F1(command)3.201 E F0(is)
+3.771 E .399(performed using a def)144 463.2 R .399(ault v)-.1 F .399
+(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0 .4
 (that is guaranteed to \214nd all of the standard utilities.)2.649 F(If)
-5.399 E .174(either the)144 475.2 R F2<ad56>2.674 E F0(or)2.674 E F2
-<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F1
-(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F2<ad76>2.675 E
-F0 .175(option causes)2.675 F 3.11(as)144 487.2 S .61(ingle w)-3.11 F
-.61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
--.4 G -.1(ke).2 G F1(command)3.41 E F0 .61(to be displayed; the)3.88 F
-F2<ad56>144 499.2 Q F0 .249(option produces a more v)2.749 F .249
-(erbose description.)-.15 F .249(If the)5.249 F F2<ad56>2.749 E F0(or)
-2.749 E F2<ad76>2.75 E F0 .25(option is supplied, the e)2.75 F .25
-(xit status)-.15 F 1.005(is 0 if)144 511.2 R F1(command)3.705 E F0 -.1
-(wa)4.275 G 3.505(sf).1 G 1.005(ound, and 1 if not.)-3.505 F 1.004
+5.4 E .175(either the)144 475.2 R F2<ad56>2.675 E F0(or)2.675 E F2<ad76>
+2.675 E F0 .175(option is supplied, a description of)2.675 F F1(command)
+2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F2<ad76>2.674 E F0 .174
+(option causes)2.674 F 3.11(as)144 487.2 S .61(ingle w)-3.11 F .61
+(ord indicating the command or \214le name used to in)-.1 F -.2(vo)-.4 G
+-.1(ke).2 G F1(command)3.41 E F0 .61(to be displayed; the)3.88 F F2
+<ad56>144 499.2 Q F0 .25(option produces a more v)2.75 F .25
+(erbose description.)-.15 F .249(If the)5.25 F F2<ad56>2.749 E F0(or)
+2.749 E F2<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
+(xit status)-.15 F 1.004(is 0 if)144 511.2 R F1(command)3.704 E F0 -.1
+(wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005
 (If neither option is supplied and an error occurred or)6.005 F F1
-(command)144.2 523.2 Q F0 1.598(cannot be found, the e)4.868 F 1.599
-(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599
-(xit status of the)-.15 F F2(command)4.099 E F0 -.2(bu)144 535.2 S
+(command)144.2 523.2 Q F0 1.599(cannot be found, the e)4.869 F 1.599
+(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598
+(xit status of the)-.15 F F2(command)4.098 E F0 -.2(bu)144 535.2 S
 (iltin is the e).2 E(xit status of)-.15 E F1(command)2.5 E F0(.).77 E F2
 (compgen)108 552 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(wor)-2.5 E(d)
--.37 E F0(])A .013(Generate possible completion matches for)144 564 R F1
+-.37 E F0(])A .012(Generate possible completion matches for)144 564 R F1
 (wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F1(option)2.513 E
-F0 .013(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E .981
-(accepted by the)144 576 R F2(complete)3.481 E F0 -.2(bu)3.481 G .981
+F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
+(accepted by the)144 576 R F2(complete)3.482 E F0 -.2(bu)3.481 G .981
 (iltin with the e).2 F .981(xception of)-.15 F F2<ad70>3.481 E F0(and)
-3.481 E F2<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the)
+3.481 E F2<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
 -3.481 F 1.415(standard output.)144 588 R 1.415(When using the)6.415 F
 F2<ad46>3.915 E F0(or)3.915 E F2<ad43>3.915 E F0 1.415(options, the v)
 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
@@ -6090,16 +6103,16 @@ F(those completions matching)144 648 Q F1(wor)2.5 E(d)-.37 E F0
 (will be displayed.)2.5 E(The return v)144 672 Q
 (alue is true unless an in)-.25 E -.25(va)-.4 G
 (lid option is supplied, or no matches were generated.).25 E F2
-(complete)108 688.8 Q F0([)3.728 E F2(\255abcdefgjksuv)A F0 3.728(][)C
-F2<ad6f>-3.728 E F1(comp-option)3.728 E F0 3.728(][)C F2(\255DE)-3.728 E
+(complete)108 688.8 Q F0([)3.729 E F2(\255abcdefgjksuv)A F0 3.729(][)C
+F2<ad6f>-3.729 E F1(comp-option)3.729 E F0 3.729(][)C F2(\255DE)-3.729 E
 F0 3.728(][)C F2<ad41>-3.728 E F1(action)3.728 E F0 3.728(][)C F2<ad47>
--3.728 E F1(globpat)3.728 E F0 3.729(][)C F2<ad57>-3.729 E F1(wor)3.729
-E(dlist)-.37 E F0 3.729(][)C F2<ad46>-3.729 E F1(func-)3.729 E(tion)108
+-3.728 E F1(globpat)3.728 E F0 3.728(][)C F2<ad57>-3.728 E F1(wor)3.728
+E(dlist)-.37 E F0 3.728(][)C F2<ad46>-3.728 E F1(func-)3.728 E(tion)108
 700.8 Q F0 2.5(][)C F2<ad43>-2.5 E F1(command)2.5 E F0(])A([)144 712.8 Q
 F2<ad58>A F1(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F1(pr)2.5 E
 (e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F1(suf)2.5 E<8c78>-.18 E F0(])
 A F1(name)2.5 E F0([)2.5 E F1(name ...)A F0(])A(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(51)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(51)187.615 E 0 Cg EP
 %%Page: 52 52
 %%BeginPageSetup
 BP
@@ -6107,52 +6120,52 @@ BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(complete \255pr)108 84 Q F0([)2.5 E F1
 (\255DE)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E
-.633(Specify ho)144 96 R 3.133(wa)-.25 G -.18(rg)-3.133 G .633
-(uments to each).18 F F2(name)3.133 E F0 .633(should be completed.)3.133
-F .634(If the)5.634 F F1<ad70>3.134 E F0 .634
-(option is supplied, or if no)3.134 F .14(options are supplied, e)144
+.634(Specify ho)144 96 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
+(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134
+F .633(If the)5.634 F F1<ad70>3.133 E F0 .633
+(option is supplied, or if no)3.133 F .139(options are supplied, e)144
 108 R .139(xisting completion speci\214cations are printed in a w)-.15 F
-.139(ay that allo)-.1 F .139(ws them to be)-.25 F .31(reused as input.)
-144 120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
--.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2
-(name)2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E
-F2(name)2.81 E F0(s)A 1.347
+.14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)144
+120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 G
+2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2(name)
+2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F2
+(name)2.81 E F0(s)A 1.346
 (are supplied, all completion speci\214cations.)144 132 R(The)6.347 E F1
-<ad44>3.847 E F0 1.346(option indicates that the remaining options)3.847
+<ad44>3.847 E F0 1.347(option indicates that the remaining options)3.847
 F .5(and actions should apply to the `)144 144 R(`def)-.74 E(ault')-.1 E
 3('c)-.74 G .5(ommand completion; that is, completion attempted on)-3 F
 3.455(ac)144 156 S .955(ommand for which no completion has pre)-3.455 F
 .955(viously been de\214ned.)-.25 F(The)5.955 E F1<ad45>3.455 E F0 .955
-(option indicates that)3.455 F .064
+(option indicates that)3.455 F .065
 (the remaining options and actions should apply to `)144 168 R(`empty')
--.74 E 2.565('c)-.74 G .065(ommand completion; that is, comple-)-2.565 F
-(tion attempted on a blank line.)144 180 Q 1.438
+-.74 E 2.564('c)-.74 G .064(ommand completion; that is, comple-)-2.564 F
+(tion attempted on a blank line.)144 180 Q 1.437
 (The process of applying these completion speci\214cations when w)144
-204 R 1.437(ord completion is attempted is)-.1 F(described abo)144 216 Q
+204 R 1.438(ord completion is attempted is)-.1 F(described abo)144 216 Q
 .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
-F0(.)A .555(Other options, if speci\214ed, ha)144 240 R .855 -.15(ve t)
+F0(.)A .556(Other options, if speci\214ed, ha)144 240 R .856 -.15(ve t)
 -.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F
-.555(guments to the)-.18 F F1<ad47>3.056 E F0(,)A F1<ad57>3.056 E F0
-3.056(,a)C(nd)-3.056 E F1<ad58>3.056 E F0 .723
-(options \(and, if necessary)144 252 R 3.223(,t)-.65 G(he)-3.223 E F1
-<ad50>3.223 E F0(and)3.223 E F1<ad53>3.223 E F0 .722
-(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
+.555(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0
+3.055(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722
+(options \(and, if necessary)144 252 R 3.222(,t)-.65 G(he)-3.222 E F1
+<ad50>3.222 E F0(and)3.222 E F1<ad53>3.222 E F0 .723
+(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
 (sion before the)144 264 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
 (iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 276 Q F2
-(comp-option)2.5 E F0(The)184 288 Q F2(comp-option)2.79 E F0 .291
+(comp-option)2.5 E F0(The)184 288 Q F2(comp-option)2.791 E F0 .291
 (controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec')
 .15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
 (yond the simple)-.15 F(generation of completions.)184 300 Q F2
 (comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 312 Q F0
 .281(Perform the rest of the def)224 324 R(ault)-.1 E F1(bash)2.781 E F0
 .281(completions if the compspec generates no)2.781 F(matches.)224 336 Q
-F1(default)184 348 Q F0 2.875(Use readline')10 F 5.375(sd)-.55 G(ef)
--5.375 E 2.876(ault \214lename completion if the compspec generates no)
+F1(default)184 348 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 G(ef)
+-5.376 E 2.875(ault \214lename completion if the compspec generates no)
 -.1 F(matches.)224 360 Q F1(dir)184 372 Q(names)-.15 E F0(Perform direc\
 tory name completion if the compspec generates no matches.)224 384 Q F1
 (\214lenames)184 396 Q F0 -.7(Te)224 408 S .137(ll readline that the co\
-mpspec generates \214lenames, so it can perform an).7 F 2.636<798c>-.15
-G(le-)-2.636 E .134(name\255speci\214c processing \(lik)224 420 R 2.634
+mpspec generates \214lenames, so it can perform an).7 F 2.637<798c>-.15
+G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 420 R 2.634
 (ea)-.1 G .134(dding a slash to directory names, quoting spe-)-2.634 F
 .45(cial characters, or suppressing trailing spaces\).)224 432 R .45
 (Intended to be used with shell)5.45 F(functions.)224 444 Q F1(nospace)
@@ -6161,7 +6174,7 @@ G(le-)-2.636 E .134(name\255speci\214c processing \(lik)224 420 R 2.634
 .22(ords completed at the end)-.1 F(of the line.)224 468 Q F1(plusdirs)
 184 480 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
 (atches de\214ned by the compspec are generated, directory name)-4.485 F
-.583(completion is attempted and an)224 492 R 3.084(ym)-.15 G .584
+.584(completion is attempted and an)224 492 R 3.084(ym)-.15 G .584
 (atches are added to the results of the other)-3.084 F(actions.)224 504
 Q F1<ad41>144 516 Q F2(action)2.5 E F0(The)184 528 Q F2(action)2.5 E F0
 (may be one of the follo)2.5 E
@@ -6180,8 +6193,8 @@ Q F0(Names of disabled shell b)224 660 Q(uiltins.)-.2 E F1(enabled)184
 684 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
 -.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
 696 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
-E F0(.)A(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(52)198.165 E 0 Cg
-EP
+E F0(.)A(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(52)187.615 E 0
+Cg EP
 %%Page: 53 53
 %%BeginPageSetup
 BP
@@ -6211,77 +6224,77 @@ F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 252 Q F0
 (May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 288 S
 (riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
 (also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 300 Q/F3
-10/Times-Italic@0 SF(command)2.5 E(command)184 312 Q F0 1.056(is e)3.556
-F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
+10/Times-Italic@0 SF(command)2.5 E(command)184 312 Q F0 1.055(is e)3.555
+F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056
 (vironment, and its output is used as the possible)-.4 F(completions.)
-184 324 Q F1<ad46>144 336 Q F3(function)2.5 E F0 1.18
-(The shell function)184 348 R F3(function)3.68 E F0 1.181(is e)3.681 F
--.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.681
-(vironment. When)-.4 F 1.181(it \214n-)3.681 F .932
+184 324 Q F1<ad46>144 336 Q F3(function)2.5 E F0 1.181
+(The shell function)184 348 R F3(function)3.681 E F0 1.181(is e)3.681 F
+-.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68
+(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932
 (ishes, the possible completions are retrie)184 360 R -.15(ve)-.25 G
 3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F2
-(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 372 S(riable.)
-.25 E F1<ad47>144 384 Q F3(globpat)2.5 E F0 1.007(The pathname e)184 396
-R 1.007(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F
-1.008(xpanded to generate the possible comple-)-.15 F(tions.)184 408 Q
+(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 372 S(riable.)
+.25 E F1<ad47>144 384 Q F3(globpat)2.5 E F0 1.008(The pathname e)184 396
+R 1.008(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F
+1.007(xpanded to generate the possible comple-)-.15 F(tions.)184 408 Q
 F1<ad50>144 420 Q F3(pr)2.5 E(e\214x)-.37 E(pr)184 432 Q(e\214x)-.37 E
-F0 .535(is added at the be)3.035 F .534
+F0 .534(is added at the be)3.034 F .534
 (ginning of each possible completion after all other options ha)-.15 F
 -.15(ve)-.2 G(been applied.)184 444 Q F1<ad53>144 456 Q F3(suf)2.5 E
 2.81(\214x suf)-.18 F<8c78>-.18 E F0
 (is appended to each possible completion after all other options ha)2.5
 E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 468 Q F3(wor)2.5 E
-(dlist)-.37 E F0(The)184 480 Q F3(wor)3.639 E(dlist)-.37 E F0 1.14
-(is split using the characters in the)3.639 F F2(IFS)3.64 E F0 1.14
-(special v)3.39 F 1.14(ariable as delimiters, and)-.25 F 2.008
-(each resultant w)184 492 R 2.008(ord is e)-.1 F 4.508(xpanded. The)-.15
-F 2.007(possible completions are the members of the)4.508 F
+(dlist)-.37 E F0(The)184 480 Q F3(wor)3.64 E(dlist)-.37 E F0 1.14
+(is split using the characters in the)3.64 F F2(IFS)3.64 E F0 1.139
+(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F 2.007
+(each resultant w)184 492 R 2.007(ord is e)-.1 F 4.507(xpanded. The)-.15
+F 2.008(possible completions are the members of the)4.507 F
 (resultant list which match the w)184 504 Q(ord being completed.)-.1 E
-F1<ad58>144 516 Q F3(\214lterpat)2.5 E(\214lterpat)184 528 Q F0 .455
-(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 F
-.456(is applied to the list of possible)2.956 F 1.596
+F1<ad58>144 516 Q F3(\214lterpat)2.5 E(\214lterpat)184 528 Q F0 .456
+(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F
+.455(is applied to the list of possible)2.956 F 1.596
 (completions generated by the preceding options and ar)184 540 R 1.596
 (guments, and each completion)-.18 F(matching)184 552 Q F3(\214lterpat)
-3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
-(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
-(in)3.204 E F3(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705
+3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704
+(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
+(in)3.204 E F3(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704
 (tes the pattern;).05 F(in this case, an)184 564 Q 2.5(yc)-.15 G
 (ompletion not matching)-2.5 E F3(\214lterpat)2.5 E F0(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E .467(The return v)144 580.8 R .467
+-.15(ve)-.15 G(d.).15 E .466(The return v)144 580.8 R .466
 (alue is true unless an in)-.25 F -.25(va)-.4 G .466
-(lid option is supplied, an option other than).25 F F1<ad70>2.966 E F0
-(or)2.966 E F1<ad72>2.966 E F0 .466(is sup-)2.966 F 1.361
-(plied without a)144 592.8 R F3(name)3.861 E F0(ar)3.861 E 1.361
-(gument, an attempt is made to remo)-.18 F 1.662 -.15(ve a c)-.15 H
-1.362(ompletion speci\214cation for a).15 F F3(name)144 604.8 Q F0
+(lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
+(or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
+(plied without a)144 592.8 R F3(name)3.862 E F0(ar)3.862 E 1.361
+(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
+1.361(ompletion speci\214cation for a).15 F F3(name)144 604.8 Q F0
 (for which no speci\214cation e)2.5 E
 (xists, or an error occurs adding a completion speci\214cation.)-.15 E
 F1(compopt)108 621.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C
 F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C F3
 (name)-2.5 E F0(])A .447(Modify completion options for each)144 633.6 R
 F3(name)2.947 E F0 .447(according to the)2.947 F F3(option)2.947 E F0
-.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .725
-(completion if no)144 645.6 R F3(name)3.225 E F0 3.225(sa)C .725
-(re supplied.)-3.225 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
-C .725(re gi)-3.225 F -.15(ve)-.25 G .726
+.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726
+(completion if no)144 645.6 R F3(name)3.226 E F0 3.226(sa)C .726
+(re supplied.)-3.226 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
+C .725(re gi)-3.225 F -.15(ve)-.25 G .725
 (n, display the completion options for).15 F(each)144 657.6 Q F3(name)
-3.224 E F0 .724(or the current completion.)3.224 F .724(The possible v)
+3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
 5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224
-F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 669.6 Q F0 -.2(bu)
-2.797 G .297(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
+F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 669.6 Q F0 -.2(bu)
+2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
 -5.297 E F1<ad44>2.797 E F0 .297
 (option indicates that the remaining options should apply to)2.797 F
-1.228(the `)144 681.6 R(`def)-.74 E(ault')-.1 E 3.728('c)-.74 G 1.228(o\
+1.227(the `)144 681.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
 mmand completion; that is, completion attempted on a command for which \
-no)-3.728 F 2.177(completion has pre)144 693.6 R 2.177
-(viously been de\214ned.)-.25 F(The)7.177 E F1<ad45>4.677 E F0 2.178
-(option indicates that the remaining options)4.678 F(should apply to `)
+no)-3.727 F 2.178(completion has pre)144 693.6 R 2.178
+(viously been de\214ned.)-.25 F(The)7.178 E F1<ad45>4.678 E F0 2.177
+(option indicates that the remaining options)4.677 F(should apply to `)
 144 705.6 Q(`empty')-.74 E 2.5('c)-.74 G
 (ommand completion; that is, completion attempted on a blank line.)-2.5
-E 1.388(The return v)144 729.6 R 1.388(alue is true unless an in)-.25 F
--.25(va)-.4 G 1.387
+E 1.387(The return v)144 729.6 R 1.387(alue is true unless an in)-.25 F
+-.25(va)-.4 G 1.388
 (lid option is supplied, an attempt is made to modify the).25 F
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(53)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(53)187.615 E 0 Cg EP
 %%Page: 54 54
 %%BeginPageSetup
 BP
 -.35 E(options for a)144 84 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0
 (for which no completion speci\214cation e)2.5 E
 (xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF
-(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.753(Resume the ne)144
-112.8 R 1.753(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r)
+(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144
+112.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r)
 .25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r)
--4.254 E F2(select)4.254 E F0 4.254(loop. If)4.254 F F1(n)4.614 E F0
-1.754(is speci\214ed,)4.494 F 1.209(resume at the)144 124.8 R F1(n)3.709
+-4.254 E F2(select)4.254 E F0 4.253(loop. If)4.254 F F1(n)4.613 E F0
+1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 124.8 R F1(n)3.709
 E F0 1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3
 10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209
-(is greater than the number of enclosing)3.949 F .513
+(is greater than the number of enclosing)3.949 F .514
 (loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15
-(ve)-.25 G(l').15 E 3.013('l)-.74 G .513(oop\) is resumed.)-3.013 F .514
-(The return v)5.514 F .514(alue is 0 unless)-.25 F F1(n)3.014 E F0(is)
-3.014 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6
+(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
+(The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is)
+3.013 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6
 Q(e)-.18 E F0([)2.5 E F2(\255aAfFgilrtux)A F0 2.5(][)C F2<ad70>-2.5 E F0
 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2
 (typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFgilrtux)A F0 2.5(][)C F2
 <ad70>-2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C
-(..])-2.5 E 1.265(Declare v)144 189.6 R 1.265(ariables and/or gi)-.25 F
-1.565 -.15(ve t)-.25 H 1.265(hem attrib).15 F 3.765(utes. If)-.2 F(no)
+(..])-2.5 E 1.264(Declare v)144 189.6 R 1.264(ariables and/or gi)-.25 F
+1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)
 3.765 E F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25
-G 3.764(nt).15 G 1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F
--.25(va)144 201.6 S 3.482(riables. The).25 F F2<ad70>3.482 E F0 .982
-(option will display the attrib)3.482 F .982(utes and v)-.2 F .983
-(alues of each)-.25 F F1(name)3.483 E F0 5.983(.W).18 G(hen)-5.983 E F2
-<ad70>3.483 E F0 .983(is used)3.483 F(with)144 213.6 Q F1(name)3.58 E F0
-(ar)3.58 E 1.079(guments, additional options are ignored.)-.18 F(When)
-6.079 E F2<ad70>3.579 E F0 1.079(is supplied without)3.579 F F1(name)
-3.579 E F0(ar)3.579 E(gu-)-.18 E .15(ments, it will display the attrib)
-144 225.6 R .15(utes and v)-.2 F .151(alues of all v)-.25 F .151
-(ariables ha)-.25 F .151(ving the attrib)-.2 F .151
-(utes speci\214ed by the)-.2 F .047(additional options.)144 237.6 R .047
-(If no other options are supplied with)5.047 F F2<ad70>2.547 E F0(,)A F2
-(declar)2.547 E(e)-.18 E F0 .046(will display the attrib)2.546 F .046
-(utes and)-.2 F -.25(va)144 249.6 S 1.362(lues of all shell v).25 F
-3.862(ariables. The)-.25 F F2<ad66>3.862 E F0 1.363
-(option will restrict the display to shell functions.)3.862 F(The)6.363
-E F2<ad46>3.863 E F0 2.422(option inhibits the display of function de\
-\214nitions; only the function name and attrib)144 261.6 R 2.422
-(utes are)-.2 F 2.663(printed. If)144 273.6 R(the)2.663 E F2(extdeb)
-2.663 E(ug)-.2 E F0 .164(shell option is enabled using)2.663 F F2(shopt)
-2.664 E F0 2.664(,t)C .164(he source \214le name and line number)-2.664
+G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F
+-.25(va)144 201.6 S 3.483(riables. The).25 F F2<ad70>3.483 E F0 .983
+(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
+(alues of each)-.25 F F1(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F2
+<ad70>3.482 E F0 .982(is used)3.482 F(with)144 213.6 Q F1(name)3.579 E
+F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F
+(When)6.079 E F2<ad70>3.579 E F0 1.079(is supplied without)3.579 F F1
+(name)3.58 E F0(ar)3.58 E(gu-)-.18 E .151
+(ments, it will display the attrib)144 225.6 R .151(utes and v)-.2 F
+.151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib)
+-.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144
+237.6 R .046(If no other options are supplied with)5.046 F F2<ad70>2.547
+E F0(,)A F2(declar)2.547 E(e)-.18 E F0 .047(will display the attrib)
+2.547 F .047(utes and)-.2 F -.25(va)144 249.6 S 1.363
+(lues of all shell v).25 F 3.863(ariables. The)-.25 F F2<ad66>3.863 E F0
+1.362(option will restrict the display to shell functions.)3.863 F(The)
+6.362 E F2<ad46>3.862 E F0 2.422(option inhibits the display of functio\
+n de\214nitions; only the function name and attrib)144 261.6 R 2.423
+(utes are)-.2 F 2.664(printed. If)144 273.6 R(the)2.664 E F2(extdeb)
+2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F2(shopt)
+2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664
 F 1.288(where the function is de\214ned are displayed as well.)144 285.6
 R(The)6.288 E F2<ad46>3.788 E F0 1.288(option implies)3.788 F F2<ad66>
-3.788 E F0 6.288(.T)C(he)-6.288 E F2<ad67>3.788 E F0(option)3.788 E .49
-(forces v)144 297.6 R .49
+3.788 E F0 6.288(.T)C(he)-6.288 E F2<ad67>3.789 E F0(option)3.789 E .491
+(forces v)144 297.6 R .491
 (ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
-(ve)-.25 G 2.991(nw).15 G(hen)-2.991 E F2(declar)2.991 E(e)-.18 E F0
-.491(is e)2.991 F -.15(xe)-.15 G .491(cuted in a).15 F .125
-(shell function.)144 309.6 R .125(It is ignored in all other cases.)
-5.125 F .125(The follo)5.125 F .124
-(wing options can be used to restrict output)-.25 F(to v)144 321.6 Q
-(ariables with the speci\214ed attrib)-.25 E(ute or to gi)-.2 E .3 -.15
-(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F2<ad61>144 333.6 Q F0
-(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E -.15(xe)-.15 G 2.5(da).15
-G(rray v)-2.5 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15
-(ve)-.15 G(\).).15 E F2<ad41>144 345.6 Q F0(Each)23.08 E F1(name)2.5 E
-F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v).15 E(ariable \(see)
--.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad66>144
-357.6 Q F0(Use function names only)26.97 E(.)-.65 E F2<ad69>144 369.6 Q
-F0 .557(The v)27.52 F .558(ariable is treated as an inte)-.25 F .558
-(ger; arithmetic e)-.15 F -.25(va)-.25 G .558(luation \(see).25 F/F4 9
-/Times-Bold@0 SF .558(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)
-180 381.6 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G
-(erformed when the v)-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E
-F2<ad6c>144 393.6 Q F0 .91(When the v)27.52 F .909
-(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909
-(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to lo).15 F(wer)
--.25 E(-)-.2 E 2.5(case. The)180 405.6 R(upper)2.5 E(-case attrib)-.2 E
-(ute is disabled.)-.2 E F2<ad72>144 417.6 Q F0(Mak)25.86 E(e)-.1 E F1
-(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E 7.546(.T)-.65 G 2.546
-(hese names cannot then be assigned v)-7.546 F 2.547
-(alues by subsequent)-.25 F(assignment statements or unset.)180 429.6 Q
-F2<ad74>144 441.6 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F1
-(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E
-2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2(DEB)2.929
-E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0
+(ve)-.25 G 2.99(nw).15 G(hen)-2.99 E F2(declar)2.99 E(e)-.18 E F0 .49
+(is e)2.99 F -.15(xe)-.15 G .49(cuted in a).15 F .124(shell function.)
+144 309.6 R .124(It is ignored in all other cases.)5.124 F .125
+(The follo)5.125 F .125(wing options can be used to restrict output)-.25
+F(to v)144 321.6 Q(ariables with the speci\214ed attrib)-.25 E
+(ute or to gi)-.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2
+E F2<ad61>144 333.6 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E
+-.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2
+(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 345.6 Q
+F0(Each)23.08 E F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25
+H(rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15
+(ve)-.15 G(\).).15 E F2<ad66>144 357.6 Q F0(Use function names only)
+26.97 E(.)-.65 E F2<ad69>144 369.6 Q F0 .558(The v)27.52 F .558
+(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
+(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .557
+(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 381.6 Q F0(abo)
+2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)
+-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 393.6 Q
+F0 .909(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909
+(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
+G .91(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 405.6 R
+(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad72>144 417.6
+Q F0(Mak)25.86 E(e)-.1 E F1(name)5.047 E F0 5.047(sr)C(eadonly)-5.047 E
+7.547(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.547 F
+2.546(alues by subsequent)-.25 F(assignment statements or unset.)180
+429.6 Q F2<ad74>144 441.6 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15
+E F1(name)2.929 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)
+2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2
+(DEB)2.929 E(UG)-.1 E F0(and)2.93 E F2(RETURN)2.93 E F0
 (traps from the calling shell.)180 453.6 Q(The trace attrib)5 E
 (ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144
-465.6 Q F0 .909(When the v)24.74 F .909(ariable is assigned a v)-.25 F
+465.6 Q F0 .91(When the v)24.74 F .909(ariable is assigned a v)-.25 F
 .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F
--.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 477.6 R
+-.15(ve)-.4 G .909(rted to upper).15 F(-)-.2 E 2.5(case. The)180 477.6 R
 (lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
 144 489.6 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
-(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121
-(Using `+' instead of `\255' turns of)144 506.4 R 2.621(ft)-.25 G .121
-(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12
-(xceptions that)-.15 F F2(+a)2.62 E F0 .12(may not be used)2.62 F .644
-(to destro)144 518.4 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
--3.144 F .644(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo)
-3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
-(ute. When)-.2 F .645(used in a func-)3.145 F .531(tion, mak)144 530.4 R
-.531(es each)-.1 F F1(name)3.031 E F0 .531(local, as with the)3.031 F F2
-(local)3.031 E F0 .531(command, unless the)3.031 F F2 .53
-(\255gP option is supplied, If a)3.03 F -.1(va)144 542.4 S 1.557
-(riable name is f).1 F(ollo)-.25 E 1.557(wed by =)-.1 F F1(value)A F2
-4.057(,t)C 1.557(he v)-4.057 F 1.558(alue of the v)-.1 F 1.558
-(ariable is set to)-.1 F F1(value)4.058 E F2 6.558(.T)C 1.558(he r)
--6.558 F(etur)-.18 E(n)-.15 E -.1(va)144 554.4 S 1.168
+(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .12
+(Using `+' instead of `\255' turns of)144 506.4 R 2.62(ft)-.25 G .12
+(he attrib)-2.62 F .121(ute instead, with the e)-.2 F .121
+(xceptions that)-.15 F F2(+a)2.621 E F0 .121(may not be used)2.621 F
+.645(to destro)144 518.4 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v)
+-3.145 F .645(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo)
+3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.144
+(ute. When)-.2 F .644(used in a func-)3.144 F .53(tion, mak)144 530.4 R
+.53(es each)-.1 F F1(name)3.03 E F0 .53(local, as with the)3.03 F F2
+(local)3.031 E F0 .531(command, unless the)3.031 F F2 .531
+(\255gP option is supplied, If a)3.031 F -.1(va)144 542.4 S 1.558
+(riable name is f).1 F(ollo)-.25 E 1.558(wed by =)-.1 F F1(value)A F2
+4.058(,t)C 1.558(he v)-4.058 F 1.557(alue of the v)-.1 F 1.557
+(ariable is set to)-.1 F F1(value)4.057 E F2 6.557(.T)C 1.557(he r)
+-6.557 F(etur)-.18 E(n)-.15 E -.1(va)144 554.4 S 1.168
 (lue is 0 unless an in).1 F -.1(va)-.4 G 1.168(lid option is encounter)
 .1 F 1.168(ed, an attempt is made to de\214ne a function)-.18 F(using)
-144 566.4 Q/F5 10/Courier@0 SF .311(\255f foo=bar)2.811 F F2 2.812(,a)C
+144 566.4 Q/F5 10/Courier@0 SF .312(\255f foo=bar)2.812 F F2 2.812(,a)C
 2.812(na)-2.812 G .312(ttempt is made to assign a v)-2.812 F .312
-(alue to a r)-.1 F .312(eadonly v)-.18 F .312(ariable, an attempt)-.1 F
-.616(is made to assign a v)144 578.4 R .615(alue to an array v)-.1 F
-.615(ariable without using the compound assignment syn-)-.1 F .259
-(tax \(see Arrays)144 590.4 R F0(abo)2.759 E -.15(ve)-.15 G .259
-(\), one of the).15 F F1(names)2.759 E F0 .259(is not a v)2.759 F .26
-(alid shell v)-.25 F .26(ariable name, an attempt is made to)-.25 F .704
-(turn of)144 602.4 R 3.204(fr)-.25 G .704
-(eadonly status for a readonly v)-3.204 F .704
-(ariable, an attempt is made to turn of)-.25 F 3.204(fa)-.25 G .703
+(alue to a r)-.1 F .312(eadonly v)-.18 F .311(ariable, an attempt)-.1 F
+.615(is made to assign a v)144 578.4 R .615(alue to an array v)-.1 F
+.616(ariable without using the compound assignment syn-)-.1 F .26
+(tax \(see Arrays)144 590.4 R F0(abo)2.76 E -.15(ve)-.15 G .26
+(\), one of the).15 F F1(names)2.76 E F0 .259(is not a v)2.76 F .259
+(alid shell v)-.25 F .259(ariable name, an attempt is made to)-.25 F
+.703(turn of)144 602.4 R 3.203(fr)-.25 G .704
+(eadonly status for a readonly v)-3.203 F .704
+(ariable, an attempt is made to turn of)-.25 F 3.204(fa)-.25 G .704
 (rray status for an)-3.204 F(array v)144 614.4 Q
 (ariable, or an attempt is made to display a non-e)-.25 E
 (xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2(dirs [+)108 631.2
 Q F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2 2.5(][)C(\255clpv])-2.5 E F0
--.4(Wi)144 643.2 S .328
+-.4(Wi)144 643.2 S .329
 (thout options, displays the list of currently remembered directories.)
-.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238
+.4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238
 (single line with directory names separated by spaces.)144 655.2 R 1.238
 (Directories are added to the list with the)6.238 F F2(pushd)144 667.2 Q
 F0(command; the)2.5 E F2(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
 2.5(se).15 G(ntries from the list.)-2.5 E F2(+)144 679.2 Q F1(n)A F0
-1.564(Displays the)25.3 F F1(n)4.064 E F0 1.565
-(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F2
-(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+1.565(Displays the)25.3 F F1(n)4.065 E F0 1.565
+(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F2
+(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
 (without options, starting with zero.)180 691.2 Q F2<ad>144 703.2 Q F1
 (n)A F0 1.194(Displays the)25.3 F F1(n)3.694 E F0 1.194
 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
 F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
 (without options, starting with zero.)180 715.2 Q(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(54)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(54)187.615 E 0 Cg EP
 %%Page: 55 55
 %%BeginPageSetup
 BP
@@ -6431,9 +6443,9 @@ BP
 (ault listing format uses a tilde to denote the home direc-)-.1 F(tory)
 180 108 Q(.)-.65 E F1<ad70>144 120 Q F0
 (Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-132 Q F0 .273(Print the directory stack with one entry per line, pre\
-\214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772
-G(he)-2.772 E(stack.)180 144 Q .257(The return v)144 160.8 R .258
+132 Q F0 .272(Print the directory stack with one entry per line, pre\
+\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773
+G(he)-2.773 E(stack.)180 144 Q .258(The return v)144 160.8 R .258
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
 (lid option is supplied or).25 F/F2 10/Times-Italic@0 SF(n)2.758 E F0
 (inde)2.758 E -.15(xe)-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258
@@ -6443,47 +6455,47 @@ G(he)-2.772 E(stack.)180 144 Q .257(The return v)144 160.8 R .258
 (thout options, each).4 F F2(jobspec)4.535 E F0 .295(is remo)3.105 F
 -.15(ve)-.15 G 2.795(df).15 G .295(rom the table of acti)-2.795 F .595
 -.15(ve j)-.25 H 2.795(obs. If).15 F F2(jobspec)4.535 E F0 .295
-(is not present,)3.105 F .422(and neither)144 213.6 R F1<ad61>2.922 E F0
-(nor)2.922 E F1<ad72>2.922 E F0 .422(is supplied, the shell')2.922 F
-2.922(sn)-.55 G .422(otion of the)-2.922 F F2(curr)2.923 E .423(ent job)
--.37 F F0 .423(is used.)2.923 F .423(If the)5.423 F F1<ad68>2.923 E F0
-.423(option is)2.923 F(gi)144 225.6 Q -.15(ve)-.25 G .141(n, each).15 F
-F2(jobspec)4.381 E F0 .141(is not remo)2.951 F -.15(ve)-.15 G 2.641(df)
-.15 G .141(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141
-(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14
-(is not sent to the)2.39 F .004(job if the shell recei)144 237.6 R -.15
-(ve)-.25 G 2.504(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .004
-(If no)4.504 F F2(jobspec)4.244 E F0 .004(is present, and neither the)
-2.814 F F1<ad61>2.504 E F0 .005(nor the)2.504 F F1<ad72>2.505 E F0 .005
-(option is)2.505 F 1.229(supplied, the)144 249.6 R F2(curr)3.729 E 1.229
-(ent job)-.37 F F0 1.229(is used.)3.729 F 1.229(If no)6.229 F F2
-(jobspec)5.469 E F0 1.229(is supplied, the)4.039 F F1<ad61>3.729 E F0
-1.228(option means to remo)3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656
-(mark all jobs; the)144 261.6 R F1<ad72>3.156 E F0 .657
-(option without a)3.156 F F2(jobspec)4.897 E F0(ar)3.467 E .657
-(gument restricts operation to running jobs.)-.18 F(The)5.657 E
+(is not present,)3.105 F .423(and neither)144 213.6 R F1<ad61>2.923 E F0
+(nor)2.923 E F1<ad72>2.923 E F0 .423(is supplied, the shell')2.923 F
+2.923(sn)-.55 G .423(otion of the)-2.923 F F2(curr)2.922 E .422(ent job)
+-.37 F F0 .422(is used.)2.922 F .422(If the)5.422 F F1<ad68>2.922 E F0
+.422(option is)2.922 F(gi)144 225.6 Q -.15(ve)-.25 G .14(n, each).15 F
+F2(jobspec)4.38 E F0 .14(is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15
+G .141(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141(ed so that)
+-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .141(is not sent to the)
+2.391 F .005(job if the shell recei)144 237.6 R -.15(ve)-.25 G 2.504(sa)
+.15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2
+(jobspec)4.244 E F0 .004(is present, and neither the)2.814 F F1<ad61>
+2.504 E F0 .004(nor the)2.504 F F1<ad72>2.504 E F0 .004(option is)2.504
+F 1.228(supplied, the)144 249.6 R F2(curr)3.728 E 1.228(ent job)-.37 F
+F0 1.229(is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0
+1.229(is supplied, the)4.039 F F1<ad61>3.729 E F0 1.229
+(option means to remo)3.729 F 1.529 -.15(ve o)-.15 H(r).15 E .657
+(mark all jobs; the)144 261.6 R F1<ad72>3.157 E F0 .657
+(option without a)3.157 F F2(jobspec)4.897 E F0(ar)3.467 E .656
+(gument restricts operation to running jobs.)-.18 F(The)5.656 E
 (return v)144 273.6 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0
 (does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 290.4 Q
 F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-.395(Output the)144 302.4 R F2(ar)2.895 E(g)-.37 E F0 .395
+.394(Output the)144 302.4 R F2(ar)2.894 E(g)-.37 E F0 .394
 (s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895
-(wline. The)-.25 F .394(return status is al)2.895 F -.1(wa)-.1 G .394
-(ys 0.).1 F(If)5.394 E F1<ad6e>2.894 E F0 .548
+(wline. The)-.25 F .395(return status is al)2.895 F -.1(wa)-.1 G .395
+(ys 0.).1 F(If)5.395 E F1<ad6e>2.895 E F0 .549
 (is speci\214ed, the trailing ne)144 314.4 R .548(wline is suppressed.)
 -.25 F .548(If the)5.548 F F1<ad65>3.048 E F0 .548(option is gi)3.048 F
 -.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 326.4 Q
-.053(wing backslash-escaped characters is enabled.)-.25 F(The)5.053 E F1
-<ad45>2.553 E F0 .052(option disables the interpretation of these)2.552
-F 1.502(escape characters, e)144 338.4 R -.15(ve)-.25 G 4.002(no).15 G
-4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502
-(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003
-E F0(shell)4.003 E .009
+.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F1
+<ad45>2.552 E F0 .053(option disables the interpretation of these)2.553
+F 1.503(escape characters, e)144 338.4 R -.15(ve)-.25 G 4.003(no).15 G
+4.003(ns)-4.003 G 1.502(ystems where the)-4.003 F 4.002(ya)-.15 G 1.502
+(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F1(xpg_echo)4.002
+E F0(shell)4.002 E .009
 (option may be used to dynamically determine whether or not)144 350.4 R
-F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters)
-.15 F .659(by def)144 362.4 R(ault.)-.1 E F1(echo)5.659 E F0 .659
-(does not interpret)3.159 F F1<adad>3.159 E F0 .659
-(to mean the end of options.)3.159 F F1(echo)5.66 E F0 .66
-(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 374.4 Q
+F1(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15
+F .66(by def)144 362.4 R(ault.)-.1 E F1(echo)5.66 E F0 .66
+(does not interpret)3.16 F F1<adad>3.16 E F0 .659
+(to mean the end of options.)3.159 F F1(echo)5.659 E F0 .659
+(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 374.4 Q
 F1(\\a)144 386.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 398.4 Q F0
 (backspace)27.66 E F1(\\c)144 410.4 Q F0(suppress further output)28.78 E
 F1(\\e)144 422.4 Q(\\E)144 434.4 Q F0(an escape character)26.55 E F1
@@ -6497,63 +6509,63 @@ F1(\\t)144 482.4 Q F0(horizontal tab)29.89 E F1(\\v)144 494.4 Q F0 -.15
 (the eight-bit character whose v)13.78 E(alue is the he)-.25 E
 (xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh)
 -.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\u)144 542.4 Q F2(HHHH)A F0
-1.507(the Unicode \(ISO/IEC 10646\) character whose v)180 554.4 R 1.506
-(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F2(HHHH)
-4.006 E F0(\(one to four he)180 566.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
-(\\U)144 578.4 Q F2(HHHHHHHH)A F0 .547
+1.506(the Unicode \(ISO/IEC 10646\) character whose v)180 554.4 R 1.507
+(alue is the he)-.25 F 1.507(xadecimal v)-.15 F(alue)-.25 E F2(HHHH)
+4.007 E F0(\(one to four he)180 566.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 578.4 Q F2(HHHHHHHH)A F0 .548
 (the Unicode \(ISO/IEC 10646\) character whose v)180 590.4 R .547
-(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
-3.048 E(HHH)180 602.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(alue is the he)-.25 F .547(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
+3.047 E(HHH)180 602.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
 (igits\))-2.5 E F1(enable)108 619.2 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C
 F1(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2(\214lename)2.5 E F0 2.5
-(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 631.2 R
+(][)C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 631.2 R
 .278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
-(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833
+(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834
 (the same name as a shell b)144 643.2 R .834(uiltin to be e)-.2 F -.15
 (xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15
-(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99
+(ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989
 (the shell normally searches for b)144 655.2 R .989
-(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0 .989
-(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581
+(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0 .99
+(is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F 1.582
 (abled; otherwise,)144 667.2 R F2(names)4.082 E F0 1.582(are enabled.)
 4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
-F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.082
-G(TH)-.189 E F0 .081(instead of the shell b)144 679.2 R .081(uiltin v)
--.2 F .081(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test)
-2.581 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.58 E F0 .08
-(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 691.2 S 1.524
-(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F
+F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.081
+G(TH)-.189 E F0 .08(instead of the shell b)144 679.2 R .08(uiltin v)-.2
+F .08(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test)2.58 F
+F0 5.081(.T)C(he)-5.081 E F1<ad66>2.581 E F0 .081
+(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 691.2 S 1.525
+(iltin command).2 F F2(name)4.385 E F0 1.524(from shared object)4.204 F
 F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
 (ystems that support dynamic loading.)-4.024 F(The)144 703.2 Q F1<ad64>
-2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F
-.367(viously loaded with)-.25 F F1<ad66>2.866 E F0 5.366(.I)C 2.866(fn)
--5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi)
--.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 715.2 R F1<ad70>
-2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399
+2.866 E F0 .366(option will delete a b)2.866 F .366(uiltin pre)-.2 F
+.366(viously loaded with)-.25 F F1<ad66>2.867 E F0 5.367(.I)C 2.867(fn)
+-5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E .367(guments are gi)
+-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 715.2 R F1<ad70>
+2.899 E F0 .399(option is supplied, a list of shell b)2.899 F .399
 (uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4
-F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144
+F .398(guments, the)-.18 F .098(list consists of all enabled shell b)144
 727.2 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
-(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F
-(If)5.098 E F1<ad61>2.598 E F0(GNU Bash-4.2)72 768 Q(2010 July 21)
-148.175 E(55)198.165 E 0 Cg EP
+(is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F
+(If)5.099 E F1<ad61>2.599 E F0(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(55)187.615 E 0 Cg EP
 %%Page: 56 56
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.916(is supplied, the list printed includes all b)144 84 R 1.916
-(uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 96 R/F1 10/Times-Bold@0 SF<ad73>2.879 E F0 .379
-(is supplied, the output is restricted to the POSIX)2.879 F/F2 10
-/Times-Italic@0 SF(special)2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The)
-.2 F .378(return v)2.878 F(alue)-.25 E .994(is 0 unless a)144 108 R F2
-(name)3.854 E F0 .994(is not a shell b)3.674 F .994
-(uiltin or there is an error loading a ne)-.2 F 3.495(wb)-.25 G .995
-(uiltin from a shared)-3.695 F(object.)144 120 Q F1 -2.3 -.15(ev a)108
+-.35 E 1.917(is supplied, the list printed includes all b)144 84 R 1.916
+(uiltins, with an indication of whether or not each is)-.2 F 2.878
+(enabled. If)144 96 R/F1 10/Times-Bold@0 SF<ad73>2.878 E F0 .379
+(is supplied, the output is restricted to the POSIX)2.878 F/F2 10
+/Times-Italic@0 SF(special)2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The)
+.2 F .379(return v)2.879 F(alue)-.25 E .995(is 0 unless a)144 108 R F2
+(name)3.855 E F0 .994(is not a shell b)3.675 F .994
+(uiltin or there is an error loading a ne)-.2 F 3.494(wb)-.25 G .994
+(uiltin from a shared)-3.694 F(object.)144 120 Q F1 -2.3 -.15(ev a)108
 136.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 148.8
-Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671
-(re read and concatenated together into a single command.)-3.171 F .67
-(This command is then read)5.67 F .495(and e)144 160.8 R -.15(xe)-.15 G
+Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
+(re read and concatenated together into a single command.)-3.17 F .671
+(This command is then read)5.671 F .495(and e)144 160.8 R -.15(xe)-.15 G
 .495(cuted by the shell, and its e).15 F .495
 (xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15
 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no)
@@ -6561,82 +6573,82 @@ Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671
 (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1
 (exec)108 189.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments)
--.37 E F0(]])A(If)144 201.6 Q F2(command)3.006 E F0 .306
-(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805
-(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E
-(guments)-.37 E F0(become)3.075 E .176(the ar)144 213.6 R .176
+-.37 E F0(]])A(If)144 201.6 Q F2(command)3.005 E F0 .305
+(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805
+(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E
+(guments)-.37 E F0(become)3.076 E .177(the ar)144 213.6 R .177
 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
 (he)-2.676 E F1<ad6c>2.676 E F0 .176
-(option is supplied, the shell places a dash at the be)2.676 F .177
-(ginning of)-.15 F .5(the zeroth ar)144 225.6 R .5(gument passed to)-.18
-F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999
-E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F1<ad63>2.999 E F0
-.499(option causes)2.999 F F2(com-)3.199 E(mand)144 237.6 Q F0 .638
-(to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
+(option is supplied, the shell places a dash at the be)2.676 F .176
+(ginning of)-.15 F .499(the zeroth ar)144 225.6 R .499(gument passed to)
+-.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2
+(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F1<ad63>3 E F0
+.5(option causes)3 F F2(com-)3.2 E(mand)144 237.6 Q F0 .639(to be e)
+3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
 (vironment. If)-.4 F F1<ad61>3.138 E F0 .638
-(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the)
-3.319 F 1.078(zeroth ar)144 249.6 R 1.077(gument to the e)-.18 F -.15
+(is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the)
+3.318 F 1.077(zeroth ar)144 249.6 R 1.077(gument to the e)-.18 F -.15
 (xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0
 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a)
-.15 F(non-interacti)144 261.6 Q .617 -.15(ve s)-.25 H .317(hell e).15 F
-.317(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .318
+.15 F(non-interacti)144 261.6 Q .618 -.15(ve s)-.25 H .318(hell e).15 F
+.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317
 (is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505
 (ure. An)144 273.6 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
 (hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15
 (xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
-(is not speci\214ed,)3.275 F(an)144 285.6 Q 3.036(yr)-.15 G .536
-(edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
+(is not speci\214ed,)3.275 F(an)144 285.6 Q 3.037(yr)-.15 G .537
+(edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
 (ect in the current shell, and the return status is 0.).25 F .536
 (If there is a redirection)5.536 F(error)144 297.6 Q 2.5(,t)-.4 G
 (he return status is 1.)-2.5 E F1(exit)108 314.4 Q F0([)2.5 E F2(n)A F0
-6.29(]C)C .096(ause the shell to e)-6.29 F .096(xit with a status of)
--.15 F F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095
-(is omitted, the e)2.835 F .095(xit status is that of the last command)
+6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of)
+-.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096
+(is omitted, the e)2.835 F .096(xit status is that of the last command)
 -.15 F -.15(exe)144 326.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
 /Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G
 (cuted before the shell terminates.).15 E F1(export)108 343.2 Q F0([)2.5
 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E
-F0(]] ...)A F1(export \255p)108 355.2 Q F0 .256(The supplied)144 367.2 R
+F0(]] ...)A F1(export \255p)108 355.2 Q F0 .257(The supplied)144 367.2 R
 F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
 .257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15
-(xe)-.15 G(cuted).15 E 2.627(commands. If)144 379.2 R(the)2.627 E F1
-<ad66>2.627 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the)
+(xe)-.15 G(cuted).15 E 2.626(commands. If)144 379.2 R(the)2.626 E F1
+<ad66>2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the)
 .15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)
-5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .126
-(n, or if the).15 F F1<ad70>144 391.2 Q F0 .659
-(option is supplied, a list of all names that are e)3.159 F .66
-(xported in this shell is printed.)-.15 F(The)5.66 E F1<ad6e>3.16 E F0
-(option)3.16 E 1.587(causes the e)144 403.2 R 1.587
+5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127
+(n, or if the).15 F F1<ad70>144 391.2 Q F0 .66
+(option is supplied, a list of all names that are e)3.16 F .659
+(xported in this shell is printed.)-.15 F(The)5.659 E F1<ad6e>3.159 E F0
+(option)3.159 E 1.586(causes the e)144 403.2 R 1.586
 (xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
 (rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
-1.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 415.2 Q
-F2(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v)
+1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 415.2 Q
+F2(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)
 -.25 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
-(export)5.304 E F0 .304(returns an e)2.804 F .304
-(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .294
+(export)5.304 E F0 .304(returns an e)2.804 F .303
+(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293
 (option is encountered, one of the)144 427.2 R F2(names)2.793 E F0 .293
 (is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
-F F1<ad66>2.793 E F0 .293(is supplied with a)2.793 F F2(name)144.36
+F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36
 439.2 Q F0(that is not a function.)2.68 E F1(fc)108 456 Q F0([)2.5 E F1
 <ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
 <8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108
 468 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
-(cmd)-2.5 E F0(])A .477(Fix Command.)144 480 R .478
-(In the \214rst form, a range of commands from)5.477 F F2<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .478
-(is selected from the his-)3.658 F .882(tory list.)144 492 R F2 -.45(Fi)
-5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F2(last)3.472 E F0 .882
+(cmd)-2.5 E F0(])A .478(Fix Command.)144 480 R .478
+(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E
+(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477
+(is selected from the his-)3.658 F .881(tory list.)144 492 R F2 -.45(Fi)
+5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
 (may be speci\214ed as a string \(to locate the last command be)4.062 F
-.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
+.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
 504 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
--.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .797(umber is used as an)
-.15 F(of)144 516 Q .277(fset from the current command number\).)-.25 F
-(If)5.277 E F2(last)2.867 E F0 .276
-(is not speci\214ed it is set to the current command)3.457 F .092
+-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
+.15 F(of)144 516 Q .276(fset from the current command number\).)-.25 F
+(If)5.276 E F2(last)2.866 E F0 .277
+(is not speci\214ed it is set to the current command)3.456 F .093
 (for listing \(so that)144 528 R/F4 10/Courier@0 SF .092
 (fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to)
 2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72>
-4.502 E(st)-.1 E F0 .093(is not)3.273 F
+4.502 E(st)-.1 E F0 .092(is not)3.272 F
 (speci\214ed it is set to the pre)144 540 Q
 (vious command for editing and \25516 for listing.)-.25 E(The)144 564 Q
 F1<ad6e>2.522 E F0 .022
@@ -6645,127 +6657,127 @@ F1<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
 (rses the order of).15 F .438(the commands.)144 576 R .438(If the)5.438
 F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
-.335(the editor gi)144 588 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E F2
-(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do)
+.334(the editor gi)144 588 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F2
+(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do)
 .1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F
-(If)5.334 E F2(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G
-(n,).15 E .63(the v)144 600 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E F0
--.25(va)2.88 G .631(riable is used, and the v).25 F .631(alue of)-.25 F
-F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631
-(is not set.)2.881 F .631(If nei-)5.631 F .951(ther v)144 612 R .951
-(ariable is set,)-.25 F F2(vi)5.117 E F0 .951(is used.)5.117 F .95
-(When editing is complete, the edited commands are echoed and)5.951 F
--.15(exe)144 624 S(cuted.).15 E .039(In the second form,)144 648 R F2
-(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F2(pat)2.54 E F0 .04(is replaced by)
-2.54 F F2 -.37(re)2.54 G(p).37 E F0 5.04(.A)C(useful)-2.5 E .406
-(alias to use with this is)144 660 R F4 .406(r='fc \255s')2.906 F F0
-2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4 6.406(rc)2.906
-G(c)-6.406 E F0 .406(runs the last command be)2.906 F .406(ginning with)
--.15 F F4(cc)144 672 Q F0(and typing)2.5 E F4(r)2.5 E F0(re-e)2.5 E -.15
-(xe)-.15 G(cutes the last command.).15 E .142
+(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
+(n,).15 E .631(the v)144 600 R .631(alue of the)-.25 F F3(FCEDIT)3.131 E
+F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of)
+-.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63
+(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 612 R .95
+(ariable is set,)-.25 F F2(vi)5.116 E F0 .95(is used.)5.116 F .951
+(When editing is complete, the edited commands are echoed and)5.95 F
+-.15(exe)144 624 S(cuted.).15 E .04(In the second form,)144 648 R F2
+(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
+(cuted after each instance of).15 F F2(pat)2.539 E F0 .039
+(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
+-2.5 E .406(alias to use with this is)144 660 R F4 .406(r='fc \255s')
+2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4
+6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F
+.407(ginning with)-.15 F F4(cc)144 672 Q F0(and typing)2.5 E F4(r)2.5 E
+F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142
 (If the \214rst form is used, the return v)144 696 R .142
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
 (lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322
-E F2(last)2.732 E F0 .455(specify history lines out of range.)144 708 R
+E F2(last)2.732 E F0 .454(specify history lines out of range.)144 708 R
 .454(If the)5.454 F F1<ad65>2.954 E F0 .454
-(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454
-(alue of the)-.25 F .787(last command e)144 720 R -.15(xe)-.15 G .787
-(cuted or f).15 F .788
+(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
+(alue of the)-.25 F .788(last command e)144 720 R -.15(xe)-.15 G .788
+(cuted or f).15 F .787
 (ailure if an error occurs with the temporary \214le of commands.)-.1 F
-.788(If the)5.788 F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(56)
-198.165 E 0 Cg EP
+.787(If the)5.787 F(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(56)
+187.615 E 0 Cg EP
 %%Page: 57 57
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.136
+-.35 E 1.135
 (second form is used, the return status is that of the command re-e)144
-84 R -.15(xe)-.15 G 1.135(cuted, unless).15 F/F1 10/Times-Italic@0 SF
-(cmd)3.835 E F0 1.135(does not)4.405 F(specify a v)144 96 Q
+84 R -.15(xe)-.15 G 1.136(cuted, unless).15 F/F1 10/Times-Italic@0 SF
+(cmd)3.836 E F0 1.136(does not)4.406 F(specify a v)144 96 Q
 (alid history line, in which case)-.25 E/F2 10/Times-Bold@0 SF(fc)2.5 E
 F0(returns f)2.5 E(ailure.)-.1 E F2(fg)108 112.8 Q F0([)2.5 E F1
-(jobspec)A F0(])A(Resume)144 124.8 Q F1(jobspec)5.653 E F0 1.413
-(in the fore)4.223 F 1.413(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913
+(jobspec)A F0(])A(Resume)144 124.8 Q F1(jobspec)5.654 E F0 1.413
+(in the fore)4.224 F 1.413(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913
 (tt)-3.913 G 1.413(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1
-(jobspec)5.653 E F0 1.414(is not present, the)4.223 F(shell')144 136.8 Q
-3.117(sn)-.55 G .617(otion of the)-3.117 F F1(curr)3.117 E .617(ent job)
--.37 F F0 .617(is used.)3.117 F .617(The return v)5.617 F .616
+(jobspec)5.653 E F0 1.413(is not present, the)4.223 F(shell')144 136.8 Q
+3.116(sn)-.55 G .616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)
+-.37 F F0 .617(is used.)3.116 F .617(The return v)5.617 F .617
 (alue is that of the command placed into the)-.25 F(fore)144 148.8 Q
-.362(ground, or f)-.15 F .362
-(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363
+.363(ground, or f)-.15 F .363
+(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
 (hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 160.8 Q
-F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F1(jobspec)
+F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F1(jobspec)
 4.244 E F0 .004(speci\214es a job that w)2.814 F .004
 (as started without job control.)-.1 F F2(getopts)108 177.6 Q F1
 (optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144
 189.6 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.293 F F1
-(optstring)6.023 E F0 .793(contains the option)3.513 F .15
-(characters to be recognized; if a character is follo)144 201.6 R .149
-(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449
--.15(ve a)-.2 H(n).15 E(ar)144 213.6 Q .578
-(gument, which should be separated from it by white space.)-.18 F .579
+(is used by shell procedures to parse positional parameters.)3.294 F F1
+(optstring)6.023 E F0 .793(contains the option)3.513 F .149
+(characters to be recognized; if a character is follo)144 201.6 R .15
+(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45
+-.15(ve a)-.2 H(n).15 E(ar)144 213.6 Q .579
+(gument, which should be separated from it by white space.)-.18 F .578
 (The colon and question mark char)5.579 F(-)-.2 E 1.665
 (acters may not be used as option characters.)144 225.6 R 1.665
 (Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts)
-4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
-(option in the shell v)144 237.6 R(ariable)-.25 E F1(name)3.296 E F0
-3.296(,i).18 G(nitializing)-3.296 E F1(name)3.657 E F0 .797
-(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G
-3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 249.6 Q .085
+4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
+(option in the shell v)144 237.6 R(ariable)-.25 E F1(name)3.297 E F0
+3.297(,i).18 G(nitializing)-3.297 E F1(name)3.657 E F0 .797
+(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G
+3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 249.6 Q .085
 (gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9
 /Times-Bold@0 SF(OPTIND)2.585 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)
-4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .845
+4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .846
 (or a shell script is in)144 261.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
 (d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F2
-(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804
-(into the v)144 273.6 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F4(.)A
-F0 .803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803
-(automatically; it must be manually)3.053 F .293
+(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803
+(into the v)144 273.6 R(ariable)-.25 E F3(OPT)3.303 E(ARG)-.81 E F4(.)A
+F0 .803(The shell does not reset)5.303 F F3(OPTIND)3.303 E F0 .804
+(automatically; it must be manually)3.054 F .294
 (reset between multiple calls to)144 285.6 R F2(getopts)2.793 E F0 .293
 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 297.6
-Q 2.044(When the end of options is encountered,)144 321.6 R F2(getopts)
-4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
+2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 297.6
+Q 2.043(When the end of options is encountered,)144 321.6 R F2(getopts)
+4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044
 (alue greater than zero.)-.25 F F3(OPTIND)144 333.6 Q F0
 (is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
-(is set to ?.)2.5 E F2(getopts)144 357.6 Q F0 2.392
-(normally parses the positional parameters, b)4.892 F 2.392
-(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893
-(ni).15 G(n)-4.893 E F1(ar)4.893 E(gs)-.37 E F0(,).27 E F2(getopts)144
-369.6 Q F0(parses those instead.)2.5 E F2(getopts)144 393.6 Q F0 1.166
-(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
-1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.165
-(is a colon,)3.885 F F1(silent)4.005 E F0(error)4.345 E 1.263
+(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
+(is set to ?.)2.5 E F2(getopts)144 357.6 Q F0 2.393
+(normally parses the positional parameters, b)4.893 F 2.392
+(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892
+(ni).15 G(n)-4.892 E F1(ar)4.892 E(gs)-.37 E F0(,).27 E F2(getopts)144
+369.6 Q F0(parses those instead.)2.5 E F2(getopts)144 393.6 Q F0 1.165
+(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
+1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.166
+(is a colon,)3.886 F F1(silent)4.006 E F0(error)4.346 E 1.264
 (reporting is used.)144 405.6 R 1.263
 (In normal operation diagnostic messages are printed when in)6.263 F
--.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144
-417.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F
+-.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144
+417.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F
 (ariable)-.25 E F3(OPTERR)2.894 E F0 .394
 (is set to 0, no error messages)2.644 F(will be displayed, e)144 429.6 Q
 -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F1(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 453.6 R
--.25(va)-.4 G .666(lid option is seen,).25 F F2(getopts)3.166 E F0 .667
-(places ? into)3.167 F F1(name)3.527 E F0 .667
-(and, if not silent, prints an error message)3.347 F .4(and unsets)144
-465.6 R F3(OPT)2.9 E(ARG)-.81 E F4(.)A F0(If)4.899 E F2(getopts)2.899 E
-F0 .399(is silent, the option character found is placed in)2.899 F F3
-(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F
-(diagnostic message is printed.)144 477.6 Q 1.241(If a required ar)144
-501.6 R 1.241(gument is not found, and)-.18 F F2(getopts)3.741 E F0
-1.241(is not silent, a question mark \()3.741 F F2(?).833 E F0 3.742
-(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F1(name)144 513.6
-Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81 E F0 .234
-(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F2
-(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F2(:).833 E
+F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 453.6 R
+-.25(va)-.4 G .667(lid option is seen,).25 F F2(getopts)3.167 E F0 .667
+(places ? into)3.167 F F1(name)3.527 E F0 .666
+(and, if not silent, prints an error message)3.347 F .399(and unsets)144
+465.6 R F3(OPT)2.899 E(ARG)-.81 E F4(.)A F0(If)4.899 E F2(getopts)2.899
+F0 .399(is silent, the option character found is placed in)2.899 F F3
+(OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F
+(diagnostic message is printed.)144 477.6 Q 1.242(If a required ar)144
+501.6 R 1.242(gument is not found, and)-.18 F F2(getopts)3.741 E F0
+1.241(is not silent, a question mark \()3.741 F F2(?).833 E F0 3.741
+(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F1(name)144 513.6
+Q F0(,).18 E F3(OPT)2.734 E(ARG)-.81 E F0 .234
+(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F2
+(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F2(:).833 E
 F0(\)).833 E(is placed in)144 525.6 Q F1(name)2.86 E F0(and)2.68 E F3
 (OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F2
 (getopts)144 549.6 Q F0 .902
 (returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F
+3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
 (options is encountered or an error occurs.)144 561.6 Q F2(hash)108
 578.4 Q F0([)2.5 E F2(\255lr)A F0 2.5(][)C F2<ad70>-2.5 E F1(\214lename)
 2.5 E F0 2.5(][)C F2(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A
@@ -6774,41 +6786,42 @@ F0(\)).833 E(is placed in)144 525.6 Q F1(name)2.86 E F0(and)2.68 E F3
 3.718 E F0 .858(is determined by searching)3.538 F .956
 (the directories in)144 602.4 R F2($P)3.456 E -.95(AT)-.74 G(H).95 E F0
 .956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956
-(viously-remembered pathname is discarded.)-.25 F .099(If the)144 614.4
-R F2<ad70>2.599 E F0 .099
-(option is supplied, no path search is performed, and)2.599 F F1
-(\214lename)4.508 E F0 .098(is used as the full \214le name)2.778 F
-1.711(of the command.)144 626.4 R(The)6.711 E F2<ad72>4.211 E F0 1.711
-(option causes the shell to for)4.211 F 1.712
-(get all remembered locations.)-.18 F(The)6.712 E F2<ad64>4.212 E F0
+(viously-remembered pathname is discarded.)-.25 F .098(If the)144 614.4
+R F2<ad70>2.598 E F0 .098
+(option is supplied, no path search is performed, and)2.598 F F1
+(\214lename)4.509 E F0 .099(is used as the full \214le name)2.779 F
+1.712(of the command.)144 626.4 R(The)6.712 E F2<ad72>4.212 E F0 1.711
+(option causes the shell to for)4.212 F 1.711
+(get all remembered locations.)-.18 F(The)6.711 E F2<ad64>4.211 E F0
 .833(option causes the shell to for)144 638.4 R .833
 (get the remembered location of each)-.18 F F1(name)3.333 E F0 5.833(.I)
 C 3.333(ft)-5.833 G(he)-3.333 E F2<ad74>3.333 E F0 .833(option is sup-)
-3.333 F .703(plied, the full pathname to which each)144 650.4 R F1(name)
-3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F
-F1(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
+3.333 F .704(plied, the full pathname to which each)144 650.4 R F1(name)
+3.204 E F0 .703(corresponds is printed.)3.204 F .703(If multiple)5.703 F
+F1(name)3.203 E F0(ar)3.203 E(guments)-.18 E .795(are supplied with)144
 662.4 R F2<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F1(name)3.295 E F0
 .795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F2
 <ad6c>3.295 E F0 .795(option causes)3.295 F .934
 (output to be displayed in a format that may be reused as input.)144
-674.4 R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G
-.935(n, or if).15 F(only)144 686.4 Q F2<ad6c>2.822 E F0 .322
-(is supplied, information about remembered commands is printed.)2.822 F
-.321(The return status is true)5.321 F(unless a)144 698.4 Q F1(name)2.86
+674.4 R .934(If no ar)5.934 F .934(guments are gi)-.18 F -.15(ve)-.25 G
+.934(n, or if).15 F(only)144 686.4 Q F2<ad6c>2.821 E F0 .321
+(is supplied, information about remembered commands is printed.)2.821 F
+.322(The return status is true)5.322 F(unless a)144 698.4 Q F1(name)2.86
 E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
-.25 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(57)198.165 E 0 Cg EP
+.25 E(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(57)187.615 E 0 Cg
+EP
 %%Page: 58 58
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(help)108 84 Q F0([)2.5 E F1(\255dms)A F0
-2.5(][)C/F2 10/Times-Italic@0 SF(pattern)-2.5 E F0(])A .866
+2.5(][)C/F2 10/Times-Italic@0 SF(pattern)-2.5 E F0(])A .867
 (Display helpful information about b)144 96 R .867(uiltin commands.)-.2
-F(If)5.867 E F2(pattern)4.617 E F0 .867(is speci\214ed,)3.607 F F1(help)
-3.367 E F0(gi)3.367 E -.15(ve)-.25 G 3.367(sd).15 G(etailed)-3.367 E
-.307(help on all commands matching)144 108 R F2(pattern)2.807 E F0 2.807
-(;o).24 G .307(therwise help for all the b)-2.807 F .306
+F(If)5.867 E F2(pattern)4.617 E F0 .866(is speci\214ed,)3.607 F F1(help)
+3.366 E F0(gi)3.366 E -.15(ve)-.25 G 3.366(sd).15 G(etailed)-3.366 E
+.306(help on all commands matching)144 108 R F2(pattern)2.806 E F0 2.807
+(;o).24 G .307(therwise help for all the b)-2.807 F .307
 (uiltins and shell control struc-)-.2 F(tures is printed.)144 120 Q F1
 <ad64>144 132 Q F0(Display a short description of each)24.74 E F2
 (pattern)2.5 E F1<ad6d>144 144 Q F0(Display the description of each)
@@ -6824,13 +6837,13 @@ F1(history \255p)108 232.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5
 -.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144
 256.8 S .752
 (th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
-G .381(been modi\214ed.)144 268.8 R .38(An ar)5.38 F .38(gument of)-.18
-F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
+.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
+G .38(been modi\214ed.)144 268.8 R .38(An ar)5.38 F .38(gument of)-.18 F
+F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
 (lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 280.8 Q(T)-.855 E F0 .264
-(is set and not null, it is used as a format string for)2.514 F F2
-(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02
+/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 280.8 Q(T)-.855 E F0 .265
+(is set and not null, it is used as a format string for)2.515 F F2
+(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019
 (ciated with each displayed history entry)144 292.8 R 6.019(.N)-.65 G
 3.519(oi)-6.019 G(nterv)-3.519 E 1.019
 (ening blank is printed between the formatted)-.15 F .176
@@ -6842,75 +6855,74 @@ F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
 (wing meanings:)-.25 E F1<ad63>144 328.8 Q F0
 (Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
 340.8 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 352.8 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 364.8 Q F0 .599
-(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.099('h)-.74 G .598
-(istory lines \(history lines entered since the be)-3.099 F .598
+180 352.8 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 364.8 Q F0 .598
+(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598
+(istory lines \(history lines entered since the be)-3.098 F .599
 (ginning of the current)-.15 F F1(bash)180 376.8 Q F0
 (session\) to the history \214le.)2.5 E F1<ad6e>144 388.8 Q F0 .854(Rea\
 d the history lines not already read from the history \214le into the c\
-urrent history list.)24.74 F .773
+urrent history list.)24.74 F .772
 (These are lines appended to the history \214le since the be)180 400.8 R
-.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E
+.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
 (sion.)180 412.8 Q F1<ad72>144 424.8 Q F0(Read the contents of the hist\
 ory \214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>
 144 436.8 Q F0(Write the current history to the history \214le, o)23.08
 E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
-(ontents.)-2.5 E F1<ad70>144 448.8 Q F0 .625
+(ontents.)-2.5 E F1<ad70>144 448.8 Q F0 .626
 (Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
-3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F
+3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F
 2.975(output. Does)180 460.8 R .475
 (not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
 (normal history e)180 472.8 Q(xpansion.)-.15 E F1<ad73>144 484.8 Q F0
-.362(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363
-(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363
+.363(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
+(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
 (he last command in the history list is)-5.363 F(remo)180 496.8 Q -.15
 (ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E .146(If the)144 513.6 R F3(HISTTIMEFORMA)2.645 E(T)
+(are added.)2.77 E .145(If the)144 513.6 R F3(HISTTIMEFORMA)2.645 E(T)
 -.855 E F0 -.25(va)2.395 G .145
 (riable is set, the time stamp information associated with each history)
-.25 F .668(entry is written to the history \214le, mark)144 525.6 R .669
-(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669
-(hen the history)-5.669 F .956(\214le is read, lines be)144 537.6 R .956
-(ginning with the history comment character follo)-.15 F .955
-(wed immediately by a digit)-.25 F .415
+.25 F .669(entry is written to the history \214le, mark)144 525.6 R .669
+(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668
+(hen the history)-5.668 F .955(\214le is read, lines be)144 537.6 R .956
+(ginning with the history comment character follo)-.15 F .956
+(wed immediately by a digit)-.25 F .416
 (are interpreted as timestamps for the pre)144 549.6 R .416
-(vious history line.)-.25 F .416(The return v)5.416 F .416
+(vious history line.)-.25 F .416(The return v)5.416 F .415
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\
 ncountered, an error occurs while reading or writing the history \214le\
-, an in)144 561.6 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0
-(is)2.999 E(supplied as an ar)144 573.6 Q(gument to)-.18 E F1<ad64>2.5 E
-F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E
-(xpansion supplied as an ar)-.15 E(gument to)-.18 E F1<ad70>2.5 E F0 -.1
-(fa)2.5 G(ils.).1 E F1(jobs)108 590.4 Q F0([)2.5 E F1(\255lnprs)A F0 2.5
-(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 602.4 Q F2(command)
-2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
-(The \214rst form lists the acti)144 614.4 Q .3 -.15(ve j)-.25 H 2.5
-(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad6c>144 626.4 Q F0
+, an in)144 561.6 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is)
+3 E(supplied as an ar)144 573.6 Q(gument to)-.18 E F1<ad64>2.5 E F0 2.5
+(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15
+E(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
+590.4 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
+E F1(jobs \255x)108 602.4 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
+-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 614.4 Q .3
+-.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 626.4 Q F0
 (List process IDs in addition to the normal information.)27.52 E F1
-<ad6e>144 638.4 Q F0 .193(Display information only about jobs that ha)
-24.74 F .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F
-.194(as last noti-)-.1 F(\214ed of their status.)180 650.4 Q F1<ad70>144
+<ad6e>144 638.4 Q F0 .194(Display information only about jobs that ha)
+24.74 F .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F
+.193(as last noti-)-.1 F(\214ed of their status.)180 650.4 Q F1<ad70>144
 662.4 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G
 (rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 674.4 Q F0
 (Restrict output to running jobs.)25.86 E F1<ad73>144 686.4 Q F0
 (Restrict output to stopped jobs.)26.41 E(If)144 703.2 Q F2(jobspec)
-4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314
-(n, output is restricted to information about that job).15 F 5.313(.T)
--.4 G .313(he return status is 0 unless)-5.313 F(an in)144 715.2 Q -.25
+4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
+(n, output is restricted to information about that job).15 F 5.314(.T)
+-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 715.2 Q -.25
 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
 E F2(jobspec)4.24 E F0(is supplied.)2.81 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(58)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(58)187.615 E 0 Cg EP
 %%Page: 59 59
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .394(If the)144 84 R/F1 10/Times-Bold@0 SF<ad78>2.894 E F0 .394
+-.35 E .395(If the)144 84 R/F1 10/Times-Bold@0 SF<ad78>2.895 E F0 .394
 (option is supplied,)2.894 F F1(jobs)2.894 E F0 .394(replaces an)2.894 F
 (y)-.15 E/F2 10/Times-Italic@0 SF(jobspec)4.634 E F0 .394(found in)3.204
-F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395
+F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
 (with the corre-)3.164 F(sponding process group ID, and e)144 96 Q -.15
 (xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)2.5 E
 (gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E F1
@@ -6918,34 +6930,34 @@ F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395
 <ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5
 (][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1
 (kill \255l)108 124.8 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5
-G(it_status).2 E F0(])A .12(Send the signal named by)144 136.8 R F2
-(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119
-(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2
-(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318
-(either a case-insensiti)144 148.8 R .618 -.15(ve s)-.25 H .318
-(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 .319
-(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
-(pre\214x\) or a signal)2.569 F(number;)144 160.8 Q F2(signum)4.189 E F0
-1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
+G(it_status).2 E F0(])A .119(Send the signal named by)144 136.8 R F2
+(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
+(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
+(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
+(either a case-insensiti)144 148.8 R .619 -.15(ve s)-.25 H .319
+(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 .318
+(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
+(pre\214x\) or a signal)2.568 F(number;)144 160.8 Q F2(signum)4.188 E F0
+1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
 4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.348(is assumed.)3.599 F(An)6.348 E(ar)144 172.8 Q .522(gument of)-.18
+1.349(is assumed.)3.599 F(An)6.349 E(ar)144 172.8 Q .523(gument of)-.18
 F F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)
 5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when)
 .18 F F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523
 (n, the names).15 F .28(of the signals corresponding to the ar)144 184.8
 R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E
-F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 196.8 Q .377(gument to)-.18 F
-F1<ad6c>2.877 E F0 .378
-(is a number specifying either a signal number or the e)2.877 F .378
-(xit status of a process termi-)-.15 F .594(nated by a signal.)144 208.8
+F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 196.8 Q .378(gument to)-.18 F
+F1<ad6c>2.878 E F0 .378
+(is a number specifying either a signal number or the e)2.878 F .377
+(xit status of a process termi-)-.15 F .593(nated by a signal.)144 208.8
 R F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
-.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F
+.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
 (occurs or an in)144 220.8 Q -.25(va)-.4 G(lid option is encountered.)
 .25 E F1(let)108 237.6 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37
-E F0(...])2.5 E(Each)144 249.6 Q F2(ar)3.026 E(g)-.37 E F0 .196
-(is an arithmetic e)2.916 F .197(xpression to be e)-.15 F -.25(va)-.25 G
-.197(luated \(see).25 F F3 .197(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855
-(AT)-.54 G(ION).855 E F0(abo)2.447 E -.15(ve)-.15 G 2.697(\). If).15 F
+E F0(...])2.5 E(Each)144 249.6 Q F2(ar)3.027 E(g)-.37 E F0 .197
+(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G
+.196(luated \(see).25 F F3 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855
+(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F
 (the last)144 261.6 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
 (luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.)
 2.5 E F1(local)108 278.4 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
@@ -6953,19 +6965,19 @@ E F0(...])2.5 E(Each)144 249.6 Q F2(ar)3.026 E(g)-.37 E F0 .196
 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06
 (ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned)
 2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0
-.06(can be)2.56 F(an)144 302.4 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652
-(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W)
-C(hen)-5.652 E F1(local)3.152 E F0 .653
+.06(can be)2.56 F(an)144 302.4 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
+(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W)
+C(hen)-5.652 E F1(local)3.152 E F0 .652
 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-314.4 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H
-.861(isible scope restricted to that function and its children.).15 F
--.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 326.4 Q F0 1.164
-(writes a list of local v)3.664 F 1.165
+314.4 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
+(isible scope restricted to that function and its children.).15 F -.4
+(Wi)5.861 G .861(th no operands,).4 F F1(local)144 326.4 Q F0 1.165
+(writes a list of local v)3.665 F 1.165
 (ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233
-(within a function.)144 338.4 R .233(The return status is 0 unless)5.233
+6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232
+(within a function.)144 338.4 R .233(The return status is 0 unless)5.232
 F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
--.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(supplied, or)144
+-.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144
 350.4 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1
 (logout)108 367.2 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 384 Q
 F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2
@@ -6977,14 +6989,14 @@ F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2
 -2.5 E F2(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5
 (][)C F1<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C
 F1<ad43>-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2
-(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .35
+(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .351
 (Read lines from the standard input into the inde)144 408 R -.15(xe)-.15
-G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.851 E(ay)
--.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351(rom \214le descriptor)
--2.851 F F2(fd)2.851 E F0 1.249(if the)144 420 R F1<ad75>3.749 E F0
-1.249(option is supplied.)3.749 F 1.249(The v)6.249 F(ariable)-.25 E F3
-(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F2(arr)3.748 E
-(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,)-6.248 F(ha)144 432
+G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E(ay)
+-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor)-2.85
+F F2(fd)2.85 E F0 1.248(if the)144 420 R F1<ad75>3.748 E F0 1.248
+(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F3
+(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F2(arr)3.749 E
+(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 F(ha)144 432
 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6e>144
 444 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F2(count)2.7
 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0(is 0, all lines are copied.)
@@ -7000,33 +7012,33 @@ F0(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0
 2.5 E F0(lines are read.)2.5 E(The)5 E F1<ad63>2.5 E F0
 (option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 516 Q
 F0(Specify the number of lines read between each call to)25.86 E F2
-(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 532.8 Q F1<ad43>2.967 E F0 .467
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 532.8 Q F1<ad43>2.968 E F0 .467
 (is speci\214ed without)2.967 F F1<ad63>2.967 E F0 2.967(,t)C .467
 (he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2
 (callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F .262(plied the inde)144 544.8 R 2.762(xo)-.15
-G 2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be ass\
-igned and the line to be assigned to that element)-.15 F .274
-(as additional ar)144 556.8 R(guments.)-.18 E F2(callbac)5.274 E(k)-.2 E
-F0 .274(is e)2.774 F -.25(va)-.25 G .274
-(luated after the line is read b).25 F .275
+(luated, it is sup-).25 F .261(plied the inde)144 544.8 R 2.761(xo)-.15
+G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\
+igned and the line to be assigned to that element)-.15 F .275
+(as additional ar)144 556.8 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
+F0 .275(is e)2.775 F -.25(va)-.25 G .274
+(luated after the line is read b).25 F .274
 (ut before the array element is)-.2 F(assigned.)144 568.8 Q
 (If not supplied with an e)144 585.6 Q(xplicit origin,)-.15 E F1
 (map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E F1(map\214le)144 602.4 Q F0 1.906
-(returns successfully unless an in)4.406 F -.25(va)-.4 G 1.905
-(lid option or option ar).25 F 1.905(gument is supplied,)-.18 F F2(arr)
-4.405 E(ay)-.15 E F0(is)4.405 E(in)144 614.4 Q -.25(va)-.4 G
+(before assigning to it.)2.5 E F1(map\214le)144 602.4 Q F0 1.905
+(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905
+(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr)
+4.406 E(ay)-.15 E F0(is)4.406 E(in)144 614.4 Q -.25(va)-.4 G
 (lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0
 (is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
 F1(popd)108 631.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0
-2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 643.2 Q -.15(ve)-.15 G 2.799
-(se).15 G .299(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G
-.299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15
-G .3(he top directory from the)-2.799 F 1.479(stack, and performs a)144
-655.2 R F1(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
-(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478
-(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15
+2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 643.2 Q -.15(ve)-.15 G 2.8(se)
+.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299
+(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G
+.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144
+655.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
+(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
+(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
 F(wing)-.25 E(meanings:)144 667.2 Q F1<ad6e>144 679.2 Q F0 .551
 (Suppresses the normal change of directory when remo)24.74 F .551
 (ving directories from the stack, so)-.15 F
@@ -7037,43 +7049,43 @@ F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
 715.2 S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0
 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
 -.65 E F4(popd +1)2.5 E F0(the second.)2.5 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(59)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(59)187.615 E 0 Cg EP
 %%Page: 60 60
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF<ad>144 84 Q/F2 10/Times-Italic@0 SF(n)A F0
-(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0
-1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
-F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
-96 R(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF(popd -0)2.5 E F0
-(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65
-E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144
-112.8 R F1(popd)3.144 E F0 .644(command is successful, a)3.144 F F1
-(dirs)3.143 E F0 .643(is performed as well, and the return status is 0.)
-3.143 F F1(popd)5.643 E F0 .415(returns f)144 124.8 R .415
-(alse if an in)-.1 F -.25(va)-.4 G .415
-(lid option is encountered, the directory stack is empty).25 F 2.916
-(,an)-.65 G(on-e)-2.916 E .416(xistent direc-)-.15 F
+(Remo)25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0
+1.259(th entry counting from the right of the list sho)B 1.259(wn by)
+-.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5
+(zero. F)180 96 R(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF(popd -0)
+2.5 E F0(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E
+(,)-.65 E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643
+(If the)144 112.8 R F1(popd)3.143 E F0 .643(command is successful, a)
+3.143 F F1(dirs)3.143 E F0 .644
+(is performed as well, and the return status is 0.)3.143 F F1(popd)5.644
+E F0 .416(returns f)144 124.8 R .416(alse if an in)-.1 F -.25(va)-.4 G
+.415(lid option is encountered, the directory stack is empty).25 F 2.915
+(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
 (tory stack entry is speci\214ed, or the directory change f)144 136.8 Q
 (ails.)-.1 E F1(printf)108 153.6 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
-(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.437
-(Write the formatted)144 165.6 R F2(ar)3.937 E(guments)-.37 E F0 1.437
-(to the standard output under the control of the)3.937 F F2(format)3.936
-E F0 6.436(.T)C(he)-6.436 E F1<ad76>3.936 E F0 .126
+(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436
+(Write the formatted)144 165.6 R F2(ar)3.936 E(guments)-.37 E F0 1.437
+(to the standard output under the control of the)3.936 F F2(format)3.937
+E F0 6.437(.T)C(he)-6.437 E F1<ad76>3.937 E F0 .126
 (option causes the output to be assigned to the v)144 177.6 R(ariable)
 -.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard)
-2.626 F(output.)144 189.6 Q(The)144 213.6 Q F2(format)3.018 E F0 .517(i\
+2.626 F(output.)144 189.6 Q(The)144 213.6 Q F2(format)3.017 E F0 .517(i\
 s a character string which contains three types of objects: plain chara\
-cters, which are)3.018 F .704(simply copied to standard output, charact\
-er escape sequences, which are con)144 225.6 R -.15(ve)-.4 G .704
+cters, which are)3.017 F .704(simply copied to standard output, charact\
+er escape sequences, which are con)144 225.6 R -.15(ve)-.4 G .703
 (rted and copied to).15 F .036(the standard output, and format speci\
-\214cations, each of which causes printing of the ne)144 237.6 R .036
+\214cations, each of which causes printing of the ne)144 237.6 R .037
 (xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 249.6 Q(gument)-.37 E F0
-5.531(.I)C 3.031(na)-5.531 G .531(ddition to the standard)-3.031 F F2
-(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.032
-E F0 .532(interprets the follo)3.032 F(w-)-.25 E(ing e)144 261.6 Q
+5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2
+(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031
+E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 261.6 Q
 (xtensions:)-.15 E F1(%b)144 273.6 Q F0(causes)20.44 E F1(printf)5.115 E
 F0 2.615(to e)5.115 F 2.615
 (xpand backslash escape sequences in the corresponding)-.15 F F2(ar)
@@ -7086,46 +7098,46 @@ E F0(,)A F1(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F1(\\?)3.108 E F0 .608
 20.44 E F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2
 (ar)2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell)
 2.51 F(input.)180 321.6 Q F1(%\()144 333.6 Q F2(datefmt)A F1(\)T)A F0
-(causes)180 345.6 Q F1(printf)4.403 E F0 1.904
-(to output the date-time string resulting from using)4.403 F F2(datefmt)
-4.404 E F0 1.904(as a format)4.404 F .381(string for)180 357.6 R F2
+(causes)180 345.6 Q F1(printf)4.404 E F0 1.904
+(to output the date-time string resulting from using)4.404 F F2(datefmt)
+4.404 E F0 1.903(as a format)4.404 F .38(string for)180 357.6 R F2
 (strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar)
 2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
-(ger representing the number)-.15 F .457(of seconds since the epoch.)180
+(ger representing the number)-.15 F .458(of seconds since the epoch.)180
 369.6 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F
 .458(alues may be used: -1 represents the)-.25 F
 (current time, and -2 represents the time the shell w)180 381.6 Q(as in)
--.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 398.4 Q .464(guments to n\
-on-string format speci\214ers are treated as C constants, e)-.18 F .463
-(xcept that a leading plus or)-.15 F 1.258(minus sign is allo)144 410.4
+-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 398.4 Q .463(guments to n\
+on-string format speci\214ers are treated as C constants, e)-.18 F .464
+(xcept that a leading plus or)-.15 F 1.259(minus sign is allo)144 410.4
 R 1.259
 (wed, and if the leading character is a single or double quote, the v)
--.25 F 1.259(alue is the)-.25 F(ASCII v)144 422.4 Q(alue of the follo)
--.25 E(wing character)-.25 E(.)-.55 E(The)144 439.2 Q F2(format)3.424 E
-F0 .923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423
+-.25 F 1.258(alue is the)-.25 F(ASCII v)144 422.4 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 439.2 Q F2(format)3.423 E
+F0 .923(is reused as necessary to consume all of the)3.423 F F2(ar)3.423
 E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
-3.423 E F0 .923(requires more)3.423 F F2(ar)144 451.2 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.533 F .033
+3.423 E F0 .924(requires more)3.424 F F2(ar)144 451.2 Q(guments)-.37 E
+F0 .033(than are supplied, the e)2.534 F .033
 (xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
 -.25 F(as appropriate, had been supplied.)144 463.2 Q(The return v)5 E
 (alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
 108 480 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C
 <ad>-2.5 E F2(n)A F0(])A F1(pushd)108 492 Q F0([)2.5 E F1<ad6e>A F0 2.5
-(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the direc\
-tory stack, or rotates the stack, making the ne)144 504 R 3.139(wt)-.25
-G .639(op of the)-3.139 F 1.315(stack the current w)144 516 R 1.315
-(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F 1.315
-(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G 1.316
-(irectories and)-3.816 F .872
+(][)C F2(dir)-2.5 E F0(])A .639(Adds a directory to the top of the dire\
+ctory stack, or rotates the stack, making the ne)144 504 R 3.14(wt)-.25
+G .64(op of the)-3.14 F 1.316(stack the current w)144 516 R 1.316
+(orking directory)-.1 F 6.316(.W)-.65 G 1.315(ith no ar)-6.716 F 1.315
+(guments, e)-.18 F 1.315(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315
+(irectories and)-3.815 F .871
 (returns 0, unless the directory stack is empty)144 528 R 5.871(.A)-.65
-G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15(ve t)
--.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 540 Q F1
+G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 -.15(ve t)
+-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 540 Q F1
 <ad6e>144 552 Q F0 .902(Suppresses the normal change of directory when \
 adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 564 Q F1(+)144 576 Q F2(n)A F0 1.268
-(Rotates the stack so that the)25.3 F F2(n)3.768 E F0 1.267
-(th directory \(counting from the left of the list sho)B 1.267(wn by)
+(only the stack is manipulated.)180 564 Q F1(+)144 576 Q F2(n)A F0 1.267
+(Rotates the stack so that the)25.3 F F2(n)3.767 E F0 1.268
+(th directory \(counting from the left of the list sho)B 1.268(wn by)
 -.25 F F1(dirs)180 588 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
 -2.5 E F1<ad>144 600 Q F2(n)A F0 .92(Rotates the stack so that the)25.3
 F F2(n)3.42 E F0 .92
@@ -7133,27 +7145,27 @@ F F2(n)3.42 E F0 .92
 F F1(dirs)180 612 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5
 E F2(dir)144.35 624 Q F0(Adds)23.98 E F2(dir)2.85 E F0
 (to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 640.8
-R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs)
-2.988 E F0 .488(is performed as well.)2.988 F .488
-(If the \214rst form is used,)5.488 F F1(pushd)2.988 E F0 1.039
-(returns 0 unless the cd to)144 652.8 R F2(dir)3.889 E F0 -.1(fa)4.269 G
-3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.54 E F0
-1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 664.8
-R 3.347(,an)-.65 G(on-e)-3.347 E .847(xistent directory stack element i\
-s speci\214ed, or the directory change to the)-.15 F(speci\214ed ne)144
-676.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
-693.6 Q F0([)2.5 E F1(\255LP)A F0(])A .844
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 640.8
+R F1(pushd)2.988 E F0 .488(command is successful, a)2.988 F F1(dirs)
+2.988 E F0 .488(is performed as well.)2.988 F .489
+(If the \214rst form is used,)5.488 F F1(pushd)2.989 E F0 1.04
+(returns 0 unless the cd to)144 652.8 R F2(dir)3.89 E F0 -.1(fa)4.27 G
+3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.539 E F0
+1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144
+664.8 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\
+ment is speci\214ed, or the directory change to the)-.15 F
+(speci\214ed ne)144 676.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E
+(ails.)-.1 E F1(pwd)108 693.6 Q F0([)2.5 E F1(\255LP)A F0(])A .845
 (Print the absolute pathname of the current w)144 705.6 R .845
-(orking directory)-.1 F 5.845(.T)-.65 G .845
-(he pathname printed contains no)-5.845 F .182(symbolic links if the)144
+(orking directory)-.1 F 5.844(.T)-.65 G .844
+(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
 717.6 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
 .181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1
-(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263
-(enabled. If)144 729.6 R(the)3.263 E F1<ad4c>3.263 E F0 .763
-(option is used, the pathname printed may contain symbolic links.)3.263
-F .764(The return)5.764 F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E
-(60)198.165 E 0 Cg EP
+(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264
+(enabled. If)144 729.6 R(the)3.264 E F1<ad4c>3.264 E F0 .763
+(option is used, the pathname printed may contain symbolic links.)3.264
+F .763(The return)5.763 F(GNU Bash-4.2)72 768 Q(2010 September 6)137.625
+E(60)187.615 E 0 Cg EP
 %%Page: 61 61
 %%BeginPageSetup
 BP
 -.35 E 1.36(status is 0 unless an error occurs while reading the name o\
 f the current directory or an in)144 84 R -.25(va)-.4 G(lid).25 E
 (option is supplied.)144 96 Q/F1 10/Times-Bold@0 SF -.18(re)108 112.8 S
-(ad).18 E F0([)3.816 E F1(\255ers)A F0 3.816(][)C F1<ad61>-3.816 E/F2 10
-/Times-Italic@0 SF(aname)3.816 E F0 3.816(][)C F1<ad64>-3.816 E F2
-(delim)3.816 E F0 3.816(][)C F1<ad69>-3.816 E F2(te)3.816 E(xt)-.2 E F0
-3.816(][)C F1<ad6e>-3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817
-(][)C F1<ad4e>-3.817 E F2(nc)3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1
-<ad70>-3.817 E F2(pr)3.817 E(ompt)-.45 E F0 3.817(][)C F1<ad74>-3.817 E
-F2(timeout)3.817 E F0 3.817(][)C F1<ad75>-3.817 E F2(fd)3.817 E F0(])A
+(ad).18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1<ad61>-3.817 E/F2 10
+/Times-Italic@0 SF(aname)3.817 E F0 3.817(][)C F1<ad64>-3.817 E F2
+(delim)3.817 E F0 3.817(][)C F1<ad69>-3.817 E F2(te)3.817 E(xt)-.2 E F0
+3.817(][)C F1<ad6e>-3.817 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816
+(][)C F1<ad4e>-3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1
+<ad70>-3.816 E F2(pr)3.816 E(ompt)-.45 E F0 3.816(][)C F1<ad74>-3.816 E
+F2(timeout)3.816 E F0 3.816(][)C F1<ad75>-3.816 E F2(fd)3.816 E F0(])A
 ([)108 124.8 Q F2(name)A F0(...])2.5 E .516(One line is read from the s\
 tandard input, or from the \214le descriptor)144 136.8 R F2(fd)3.016 E
-F0 .516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 148.8 Q
-F1<ad75>2.539 E F0 .039(option, and the \214rst w)2.539 F .038
-(ord is assigned to the \214rst)-.1 F F2(name)2.538 E F0 2.538(,t).18 G
-.038(he second w)-2.538 F .038(ord to the second)-.1 F F2(name)2.538 E
+F0 .516(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 148.8 Q
+F1<ad75>2.538 E F0 .038(option, and the \214rst w)2.538 F .038
+(ord is assigned to the \214rst)-.1 F F2(name)2.539 E F0 2.539(,t).18 G
+.039(he second w)-2.539 F .039(ord to the second)-.1 F F2(name)2.539 E
 F0(,).18 E .42(and so on, with lefto)144 160.8 R -.15(ve)-.15 G 2.92(rw)
 .15 G .42(ords and their interv)-3.02 F .42
 (ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 172.8 R .541(wer w)
--.25 F .541(ords read from the input stream than names, the remaining n\
-ames are assigned empty)-.1 F -.25(va)144 184.8 S 2.51(lues. The).25 F
-.011(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 172.8 R .54(wer w)-.25
+F .541(ords read from the input stream than names, the remaining names \
+are assigned empty)-.1 F -.25(va)144 184.8 S 2.511(lues. The).25 F .011
+(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
-(backslash character \()2.511 F F1(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891
-(be used to remo)144 196.8 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15
-H 1.891(pecial meaning for the ne).15 F 1.89
+(backslash character \()2.511 F F1(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
+(be used to remo)144 196.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
+1.891(pecial meaning for the ne).15 F 1.891
 (xt character read and for line continuation.)-.15 F
 (Options, if supplied, ha)144 208.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 220.8 Q F2(aname)2.5 E F0 1.049
-(The w)180 232.8 R 1.049
+(wing meanings:)-.25 E F1<ad61>144 220.8 Q F2(aname)2.5 E F0 1.05(The w)
+180 232.8 R 1.049
 (ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2
-(aname)180.33 244.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25
-(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5
-E(guments are ignored.)-.18 E F1<ad64>144 256.8 Q F2(delim)2.5 E F0
-(The \214rst character of)180 268.8 Q F2(delim)2.5 E F0
+-.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
+F2(aname)180.33 244.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
+-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0
+(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 256.8 Q F2(delim)2.5 E
+F0(The \214rst character of)180 268.8 Q F2(delim)2.5 E F0
 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F1<ad65>144 280.8 Q F0 .373
+F1<ad65>144 280.8 Q F0 .372
 (If the standard input is coming from a terminal,)25.86 F F1 -.18(re)
-2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.872 E F0(abo)2.622 E
--.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E .218
+2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E
+-.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218
 (to obtain the line.)180 292.8 R .218
 (Readline uses the current \(or def)5.218 F .218
 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E
 (acti)180 304.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
-F1<ad69>144 316.8 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.716
-G(adline).18 E F0 .216(is being used to read the line,)2.716 F F2(te)
+F1<ad69>144 316.8 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715
+G(adline).18 E F0 .216(is being used to read the line,)2.715 F F2(te)
 2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E
-.215(fer before edit-)-.25 F(ing be)180 328.8 Q(gins.)-.15 E F1<ad6e>144
+.216(fer before edit-)-.25 F(ing be)180 328.8 Q(gins.)-.15 E F1<ad6e>144
 340.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 352.8 S(ad).18 E
-F0 1.394(returns after reading)3.894 F F2(nc)3.894 E(har)-.15 E(s)-.1 E
-F0 1.395(characters rather than w)3.894 F 1.395
+F0 1.395(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E
+F0 1.395(characters rather than w)3.895 F 1.394
 (aiting for a complete line of)-.1 F(input, b)180 364.8 Q
 (ut honor a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E
 (s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1
 <ad4e>144 376.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 388.8 S
-(ad).18 E F0 1.269(returns after reading e)3.77 F(xactly)-.15 E F2(nc)
+(ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F2(nc)
 3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F
-1.269(aiting for a complete)-.1 F .274
+1.27(aiting for a complete)-.1 F .275
 (line of input, unless EOF is encountered or)180 400.8 R F1 -.18(re)
-2.775 G(ad).18 E F0 .275(times out.)2.775 F .275
-(Delimiter characters encoun-)5.275 F 1.003
+2.775 G(ad).18 E F0 .274(times out.)2.774 F .274
+(Delimiter characters encoun-)5.274 F 1.002
 (tered in the input are not treated specially and do not cause)180 412.8
-R F1 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F2(nc)
-3.502 E(har)-.15 E(s)-.1 E F0(characters are read.)180 424.8 Q F1<ad70>
-144 436.8 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 448.8 Q F2(pr)3.66 E
-(ompt)-.45 E F0 1.161(on standard error)3.66 F 3.661(,w)-.4 G 1.161
+R F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)
+3.503 E(har)-.15 E(s)-.1 E F0(characters are read.)180 424.8 Q F1<ad70>
+144 436.8 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 448.8 Q F2(pr)3.661 E
+(ompt)-.45 E F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
 (ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read)
 -.25 F(an)180 460.8 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
 (prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 472.8 Q F0 .544(Backslash does not act as an escape character)
-25.86 F 5.543(.T)-.55 G .543(he backslash is considered to be part of)
+<ad72>144 472.8 Q F0 .543(Backslash does not act as an escape character)
+25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
 -5.543 F(the line.)180 484.8 Q(In particular)5 E 2.5(,ab)-.4 G
 (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
 -.25 E F1<ad73>144 496.8 Q F0(Silent mode.)26.41 E
 (If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 508.8 Q F2(timeout)2.5 E F0(Cause)180 520.8 Q F1 -.18(re)3.548
-G(ad).18 E F0 1.048(to time out and return f)3.548 F 1.048
+<ad74>144 508.8 Q F2(timeout)2.5 E F0(Cause)180 520.8 Q F1 -.18(re)3.549
+G(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
 (ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 532.8 Q F0(seconds.)3.497 E F2(timeout)5.997 E F0 .997
-(may be a decimal number with a fractional portion follo)3.497 F(wing)
+180 532.8 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
+(may be a decimal number with a fractional portion follo)3.496 F(wing)
 -.25 E .576(the decimal point.)180 544.8 R .576(This option is only ef)
 5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
-(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .142
+(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141
 (pipe, or other special \214le; it has no ef)180 556.8 R .142
-(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.141 E
-F2(timeout)2.641 E F0 .141(is 0,)2.641 F F1 -.18(re)180 568.8 S(ad).18 E
-F0 .113(returns success if input is a)2.613 F -.25(va)-.2 G .113
-(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .114
+(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E
+F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 568.8 S(ad).18 E
+F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113
+(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113
 (ailure otherwise.)-2.713 F(The e)180 580.8 Q
 (xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15
 E F1<ad75>144 592.8 Q F2(fd)2.5 E F0(Read input from \214le descriptor)
-14.46 E F2(fd)2.5 E F0(.)A .192(If no)144 609.6 R F2(names)3.052 E F0
-.192(are supplied, the line read is assigned to the v)2.962 F(ariable)
--.25 E F3(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .191
-(The return code is zero,)4.691 F 1.343
-(unless end-of-\214le is encountered,)144 621.6 R F1 -.18(re)3.843 G(ad)
+14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 609.6 R F2(names)3.051 E F0
+.191(are supplied, the line read is assigned to the v)2.961 F(ariable)
+-.25 E F3(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .192
+(The return code is zero,)4.692 F 1.344
+(unless end-of-\214le is encountered,)144 621.6 R F1 -.18(re)3.844 G(ad)
 .18 E F0 1.343
-(times out \(in which case the return code is greater than)3.843 F
+(times out \(in which case the return code is greater than)3.844 F
 (128\), or an in)144 633.6 Q -.25(va)-.4 G
 (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1
 <ad75>2.5 E F0(.)A F1 -.18(re)108 650.4 S(adonly).18 E F0([)2.5 E F1
@@ -7266,133 +7278,134 @@ E F1<ad75>144 592.8 Q F2(fd)2.5 E F0(Read input from \214le descriptor)
 F0 2.5(].)C(..])-2.5 E .77(The gi)144 662.4 R -.15(ve)-.25 G(n).15 E F2
 (names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77
 (alues of these)-.25 F F2(names)3.63 E F0 .77
-(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 674.4 R
-1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
-(option is supplied, the functions corresponding to the)3.596 F F2
-(names)3.597 E F0 1.097(are so)3.597 F(mark)144 686.4 Q 3.334(ed. The)
+(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 674.4 R
+1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
+(option is supplied, the functions corresponding to the)3.597 F F2
+(names)3.596 E F0 1.096(are so)3.596 F(mark)144 686.4 Q 3.334(ed. The)
 -.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the)
 -3.334 F F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
--.25 E .537(ables to associati)144 698.4 R .837 -.15(ve a)-.25 H 3.037
+-.25 E .538(ables to associati)144 698.4 R .838 -.15(ve a)-.25 H 3.038
 (rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538
 (guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1<ad70>
-3.038 E F0 .538(option is supplied, a list)3.038 F .081
-(of all readonly names is printed.)144 710.4 R(The)5.081 E F1<ad70>2.581
-E F0 .08(option causes output to be displayed in a format that may)2.581
-F 1.176(be reused as input.)144 722.4 R 1.176(If a v)6.176 F 1.176
+3.038 E F0 .537(option is supplied, a list)3.038 F .08
+(of all readonly names is printed.)144 710.4 R(The)5.08 E F1<ad70>2.58 E
+F0 .081(option causes output to be displayed in a format that may)2.58 F
+1.177(be reused as input.)144 722.4 R 1.177(If a v)6.177 F 1.176
 (ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0
-3.676(,t)C 1.176(he v)-3.676 F 1.177(alue of the v)-.25 F 1.177
-(ariable is set to)-.25 F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E
-(61)198.165 E 0 Cg EP
+3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176
+(ariable is set to)-.25 F(GNU Bash-4.2)72 768 Q(2010 September 6)137.625
+E(61)187.615 E 0 Cg EP
 %%Page: 62 62
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Italic@0 SF(wor)144 84 Q(d)-.37 E F0 6.206(.T)C 1.206
-(he return status is 0 unless an in)-6.206 F -.25(va)-.4 G 1.205
-(lid option is encountered, one of the).25 F F1(names)4.065 E F0 1.205
-(is not a)3.975 F -.25(va)144 96 S(lid shell v).25 E(ariable name, or)
+-.35 E/F1 10/Times-Italic@0 SF(wor)144 84 Q(d)-.37 E F0 6.205(.T)C 1.205
+(he return status is 0 unless an in)-6.205 F -.25(va)-.4 G 1.206
+(lid option is encountered, one of the).25 F F1(names)4.066 E F0 1.206
+(is not a)3.976 F -.25(va)144 96 S(lid shell v).25 E(ariable name, or)
 -.25 E/F2 10/Times-Bold@0 SF<ad66>2.5 E F0(is supplied with a)2.5 E F1
 (name)2.86 E F0(that is not a function.)2.68 E F2 -.18(re)108 112.8 S
-(tur).18 E(n)-.15 E F0([)2.5 E F1(n)A F0(])A .586
+(tur).18 E(n)-.15 E F0([)2.5 E F1(n)A F0(])A .587
 (Causes a function to e)144 124.8 R .587(xit with the return v)-.15 F
 .587(alue speci\214ed by)-.25 F F1(n)3.087 E F0 5.587(.I).24 G(f)-5.587
-E F1(n)3.447 E F0 .587(is omitted, the return status is)3.327 F 1.335
+E F1(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335
 (that of the last command e)144 136.8 R -.15(xe)-.15 G 1.335
 (cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G
 1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe)
 144 148.8 S .794(cution of a script by the).15 F F2(.)3.294 E F0(\()
 5.794 E F2(sour)A(ce)-.18 E F0 3.294(\)c)C .794
-(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .795
-(cuting that script).15 F .246(and return either)144 160.8 R F1(n)3.106
-E F0 .246(or the e)2.986 F .246(xit status of the last command e)-.15 F
--.15(xe)-.15 G .246(cuted within the script as the e).15 F .245
-(xit sta-)-.15 F .081(tus of the script.)144 172.8 R .082
+(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794
+(cuting that script).15 F .245(and return either)144 160.8 R F1(n)3.105
+E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F
+-.15(xe)-.15 G .246(cuted within the script as the e).15 F .246
+(xit sta-)-.15 F .082(tus of the script.)144 172.8 R .082
 (If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
-(cution of a script by).15 F F2(.)2.582 E F0 2.582(,t).833 G .082
-(he return sta-)-2.582 F 2.306(tus is f)144 184.8 R 4.806(alse. An)-.1 F
-4.806(yc)-.15 G 2.305(ommand associated with the)-4.806 F F2(RETURN)
-4.805 E F0 2.305(trap is e)4.805 F -.15(xe)-.15 G 2.305(cuted before e)
+(cution of a script by).15 F F2(.)2.582 E F0 2.581(,t).833 G .081
+(he return sta-)-2.581 F 2.305(tus is f)144 184.8 R 4.805(alse. An)-.1 F
+4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F2(RETURN)
+4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
 .15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
 144 196.8 Q F2(set)108 213.6 Q F0([)2.5 E F2
-(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2<ad6f>-2.5 E F1(option)2.5
-E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0(...])2.5 E F2(set)108 225.6 Q F0
-([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2(+o)-2.5 E F1(option)
-2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 237.6 S
-.835(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
-.836(ariable are displayed in a format that can be)-.25 F .784
+(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2<ad6f>-2.5 E F1
+(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0(...])2.5 E F2
+(set)108 225.6 Q F0([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2(+o)
+-2.5 E F1(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0
+(...])2.5 E -.4(Wi)144 237.6 S .836(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .835
+(ariable are displayed in a format that can be)-.25 F .784
 (reused as input for setting or resetting the currently-set v)144 249.6
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
-(riables cannot be).25 F 2.946(reset. In)144 261.6 R F1 .447(posix mode)
-2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
+(riables cannot be).25 F 2.947(reset. In)144 261.6 R F1 .447(posix mode)
+2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
 (ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.531
-(locale. When)144 273.6 R 1.031(options are speci\214ed, the)3.531 F
-3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)
--.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623
-(after option processing are treated as v)144 285.6 R 1.624
+(The output is sorted according to the current)5.447 F 3.53
+(locale. When)144 273.6 R 1.031(options are speci\214ed, the)3.53 F
+3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)
+-.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F
+1.624(after option processing are treated as v)144 285.6 R 1.623
 (alues for the positional parameters and are assigned, in)-.25 F(order)
 144 297.6 Q 2.5(,t)-.4 G(o)-2.5 E F2($1)2.5 E F0(,)A F2($2)2.5 E F0(,)A
 F2 2.5(... $)2.5 F F1(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad61>144 309.6 Q
-F0 .54(Automatically mark v)29.3 F .539
-(ariables and functions which are modi\214ed or created for e)-.25 F
-.539(xport to)-.15 F(the en)184 321.6 Q
-(vironment of subsequent commands.)-.4 E F2<ad62>144 333.6 Q F0 .131
+F0 .539(Automatically mark v)29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F .54
+(xport to)-.15 F(the en)184 321.6 Q(vironment of subsequent commands.)
+-.4 E F2<ad62>144 333.6 Q F0 .132
 (Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
+2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
 (primary prompt.)184 345.6 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E F2<ad65>144 357.6 Q F0
-.511(Exit immediately if a)29.86 F F1(pipeline)3.011 E F0 .511
-(\(which may consist of a single)3.011 F F1 .51(simple command)3.01 F F0
-3.01(\), a)B F1(sub-)3.01 E(shell)184 369.6 Q F0 .872
-(command enclosed in parentheses, or one of the commands e)3.372 F -.15
+-.25 H(nly when job control is enabled.).15 E F2<ad65>144 357.6 Q F0 .51
+(Exit immediately if a)29.86 F F1(pipeline)3.01 E F0 .511
+(\(which may consist of a single)3.011 F F1 .511(simple command)3.011 F
+F0 3.011(\), a)B F1(sub-)3.011 E(shell)184 369.6 Q F0 .872
+(command enclosed in parentheses, or one of the commands e)3.373 F -.15
 (xe)-.15 G .872(cuted as part of a).15 F .399
 (command list enclosed by braces \(see)184 381.6 R/F3 9/Times-Bold@0 SF
 .399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G
-.399(xits with a non-zero)-3.049 F 3.968(status. The)184 393.6 R 1.468
-(shell does not e)3.968 F 1.468(xit if the command that f)-.15 F 1.468
-(ails is part of the command list)-.1 F .57(immediately follo)184 405.6
-R .57(wing a)-.25 F F2(while)3.07 E F0(or)3.07 E F2(until)3.07 E F0 -.1
-(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .569
-(wing the)-.25 F F2(if)3.069 E F0(or)3.069 E F2(elif)3.069 E F0(reserv)
-184 417.6 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G
+.399(xits with a non-zero)-3.049 F 3.969(status. The)184 393.6 R 1.468
+(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468
+(ails is part of the command list)-.1 F .569(immediately follo)184 405.6
+R .569(wing a)-.25 F F2(while)3.069 E F0(or)3.069 E F2(until)3.069 E F0
+-.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57
+(wing the)-.25 F F2(if)3.07 E F0(or)3.07 E F2(elif)3.07 E F0(reserv)184
+417.6 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G
 .544(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F2(&&)3.044
 E F0(or)3.044 E/F4 10/Symbol SF<efef>3.044 E F0 .544(list e)3.044 F .544
-(xcept the command)-.15 F(follo)184 429.6 Q 1.231(wing the \214nal)-.25
-F F2(&&)3.731 E F0(or)3.731 E F4<efef>3.731 E F0 3.731(,a)C 1.531 -.15
-(ny c)-3.731 H 1.231(ommand in a pipeline b).15 F 1.23
-(ut the last, or if the com-)-.2 F(mand')184 441.6 Q 3.19(sr)-.55 G .69
-(eturn v)-3.19 F .69(alue is being in)-.25 F -.15(ve)-.4 G .69
+(xcept the command)-.15 F(follo)184 429.6 Q 1.23(wing the \214nal)-.25 F
+F2(&&)3.73 E F0(or)3.73 E F4<efef>3.73 E F0 3.73(,a)C 1.53 -.15(ny c)
+-3.73 H 1.231(ommand in a pipeline b).15 F 1.231
+(ut the last, or if the com-)-.2 F(mand')184 441.6 Q 3.191(sr)-.55 G
+.691(eturn v)-3.191 F .691(alue is being in)-.25 F -.15(ve)-.4 G .691
 (rted with).15 F F2(!)3.191 E F0 5.691(.A)C .691(trap on)-2.5 F F2(ERR)
-3.191 E F0 3.191(,i)C 3.191(fs)-3.191 G .691(et, is e)-3.191 F -.15(xe)
--.15 G .691(cuted before).15 F .687(the shell e)184 453.6 R 3.186
-(xits. This)-.15 F .686(option applies to the shell en)3.186 F .686
+3.19 E F0 3.19(,i)C 3.19(fs)-3.19 G .69(et, is e)-3.19 F -.15(xe)-.15 G
+.69(cuted before).15 F .686(the shell e)184 453.6 R 3.186(xits. This)
+-.15 F .686(option applies to the shell en)3.186 F .686
 (vironment and each subshell en)-.4 F(viron-)-.4 E .068
 (ment separately \(see)184 465.6 R F3 .068(COMMAND EXECUTION ENVIR)2.568
 F(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15
 F(subshells to e)184 477.6 Q(xit before e)-.15 E -.15(xe)-.15 G
 (cuting all the commands in the subshell.).15 E F2<ad66>144 489.6 Q F0
 (Disable pathname e)30.97 E(xpansion.)-.15 E F2<ad68>144 501.6 Q F0
-2.239(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G
-2.238(re look)-4.738 F 2.238(ed up for e)-.1 F -.15(xe)-.15 G 4.738
-(cution. This).15 F(is)4.738 E(enabled by def)184 513.6 Q(ault.)-.1 E F2
-<ad6b>144 525.6 Q F0 .513(All ar)28.74 F .514
+2.238(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G
+2.239(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739
+(cution. This).15 F(is)4.739 E(enabled by def)184 513.6 Q(ault.)-.1 E F2
+<ad6b>144 525.6 Q F0 .514(All ar)28.74 F .514
 (guments in the form of assignment statements are placed in the en)-.18
-F .514(vironment for a)-.4 F
+F .513(vironment for a)-.4 F
 (command, not just those that precede the command name.)184 537.6 Q F2
-<ad6d>144 549.6 Q F0 .149(Monitor mode.)25.97 F .149
-(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F
-.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .636
+<ad6d>144 549.6 Q F0 .148(Monitor mode.)25.97 F .148
+(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
+.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .637
 (on systems that support it \(see)184 561.6 R F3 .636(JOB CONTR)3.136 F
-(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .637
-(processes run in a)3.136 F .642
-(separate process group and a line containing their e)184 573.6 R .641
+(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .636
+(processes run in a)3.136 F .641
+(separate process group and a line containing their e)184 573.6 R .642
 (xit status is printed upon their com-)-.15 F(pletion.)184 585.6 Q F2
-<ad6e>144 597.6 Q F0 .652(Read commands b)28.74 F .652(ut do not e)-.2 F
--.15(xe)-.15 G .652(cute them.).15 F .653
-(This may be used to check a shell script for)5.652 F(syntax errors.)184
+<ad6e>144 597.6 Q F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F
+-.15(xe)-.15 G .653(cute them.).15 F .652
+(This may be used to check a shell script for)5.653 F(syntax errors.)184
 609.6 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15
 E F2<ad6f>144 621.6 Q F1(option\255name)2.5 E F0(The)184 633.6 Q F1
 (option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F2
@@ -7405,8 +7418,8 @@ E F2<ad6f>144 621.6 Q F1(option\255name)2.5 E F0(The)184 633.6 Q F1
 .95(nless the shell is started with the)-3.45 F F2(\255\255noediting)
 3.45 E F0 2.5(option. This)224 717.6 R(also af)2.5 E
 (fects the editing interf)-.25 E(ace used for)-.1 E F2 -.18(re)2.5 G
-(ad \255e).18 E F0(.)A(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(62)
-198.165 E 0 Cg EP
+(ad \255e).18 E F0(.)A(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E
+(62)187.615 E 0 Cg EP
 %%Page: 63 63
 %%BeginPageSetup
 BP
@@ -7417,14 +7430,14 @@ F1<ad65>2.5 E F0(.)A F1(errtrace)184 96 Q F0(Same as)5.03 E F1<ad45>2.5
 E F0(.)A F1(functrace)184 108 Q F0(Same as)224 120 Q F1<ad54>2.5 E F0(.)
 A F1(hashall)184 132 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
 (histexpand)184 144 Q F0(Same as)224 156 Q F1<ad48>2.5 E F0(.)A F1
-(history)184 168 Q F0 .587(Enable command history)10 F 3.087(,a)-.65 G
+(history)184 168 Q F0 .586(Enable command history)10 F 3.087(,a)-.65 G
 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder)
 .15 E/F2 9/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F3 9
 /Times-Roman@0 SF(.)A F0 .587(This option is)5.087 F(on by def)224 180 Q
 (ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
-192 Q(eeof)-.18 E F0 1.656(The ef)224 204 R 1.656
+192 Q(eeof)-.18 E F0 1.657(The ef)224 204 R 1.657
 (fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10)
-4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224
+4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted).15 E(\(see)224
 216 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
 .15 E F1 -.1(ke)184 228 S(yw).1 E(ord)-.1 E F0(Same as)224 240 Q F1
 <ad6b>2.5 E F0(.)A F1(monitor)184 252 Q F0(Same as)5.56 E F1<ad6d>2.5 E
@@ -7435,56 +7448,56 @@ F0(.)A F1(noexec)184 288 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
 F1<ad62>2.5 E F0(.)A F1(nounset)184 336 Q F0(Same as)6.66 E F1<ad75>2.5
 E F0(.)A F1(onecmd)184 348 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
 (ph)184 360 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
-(pipefail)184 372 Q F0 1.03(If set, the return v)7.77 F 1.029
-(alue of a pipeline is the v)-.25 F 1.029
-(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 384 R
+(pipefail)184 372 Q F0 1.029(If set, the return v)7.77 F 1.029
+(alue of a pipeline is the v)-.25 F 1.03
+(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 384 R
 1.136
 (xit with a non-zero status, or zero if all commands in the pipeline)
 -.15 F -.15(ex)224 396 S(it successfully).15 E 5(.T)-.65 G
 (his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 408 Q F0
-2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
 (fers from the)-.25 F(POSIX standard to match the standard \()224 420 Q
 /F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 432 Q(vileged)
 -.1 E F0(Same as)224 444 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 456 S
 (rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 468 Q F0
-1.465(Use a vi-style command line editing interf)32.22 F 3.966
-(ace. This)-.1 F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F
+1.466(Use a vi-style command line editing interf)32.22 F 3.965
+(ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F
 (interf)224 480 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
 (.)A F1(xtrace)184 492 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
-510 Q F1<ad6f>3.053 E F0 .553(is supplied with no)3.053 F F5
-(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552
-(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184
-522 Q F0 1.071(is supplied with no)3.571 F F5(option\255name)3.571 E F0
-3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072
-(commands to recreate the current)3.572 F
+510 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F5
+(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
+(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
+522 Q F0 1.072(is supplied with no)3.572 F F5(option\255name)3.572 E F0
+3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
+(commands to recreate the current)3.571 F
 (option settings is displayed on the standard output.)184 534 Q F1<ad70>
-144 546 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F5(privile)4.822 E -.1
-(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F
-F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.071
-(\214les are not pro-)3.322 F 1.5
-(cessed, shell functions are not inherited from the en)184 558 R 1.501
-(vironment, and the)-.4 F F2(SHELLOPTS)4.001 E F3(,)A F2 -.27(BA)184 570
-S(SHOPTS).27 E F3(,)A F2(CDP)2.775 E -.855(AT)-.666 G(H).855 E F3(,)A F0
-(and)2.775 E F2(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524
-(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F
-(vironment,)-.4 E .379(are ignored.)184 582 R .379
-(If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15
-(ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462
+144 546 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F5(privile)4.821 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
+F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.072
+(\214les are not pro-)3.322 F 1.501
+(cessed, shell functions are not inherited from the en)184 558 R 1.5
+(vironment, and the)-.4 F F2(SHELLOPTS)4 E F3(,)A F2 -.27(BA)184 570 S
+(SHOPTS).27 E F3(,)A F2(CDP)2.774 E -.855(AT)-.666 G(H).855 E F3(,)A F0
+(and)2.774 E F2(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G .524
+(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
+(vironment,)-.4 E .38(are ignored.)184 582 R .38
+(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
+-.25 H .379(ser \(group\) id not equal to the real).15 F .461
 (user \(group\) id, and the)184 594 R F1<ad70>2.961 E F0 .461
-(option is not supplied, these actions are tak)2.961 F .461
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 606 Q .694 -.15(ve u)-.25 H .394
+(option is not supplied, these actions are tak)2.961 F .462
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 606 Q .695 -.15(ve u)-.25 H .395
 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
-2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .387(user id is not reset.)184 618 R -.45(Tu)5.387 G
-.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886
-F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F
+2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
+E -.15(ve)-.25 G .386(user id is not reset.)184 618 R -.45(Tu)5.386 G
+.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
+F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
 (set to the real user and group ids.)184 630 Q F1<ad74>144 642 Q F0
 (Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
-E F1<ad75>144 654 Q F0 -.35(Tr)28.74 G .043(eat unset v).35 F .044(aria\
+E F1<ad75>144 654 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
 bles and parameters other than the special parameters "@" and "*" as an)
--.25 F .183(error when performing parameter e)184 666 R 2.683
-(xpansion. If)-.15 F -.15(ex)2.683 G .182
+-.25 F .182(error when performing parameter e)184 666 R 2.682
+(xpansion. If)-.15 F -.15(ex)2.682 G .183
 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746
 (able or parameter)184 678 R 3.246(,t)-.4 G .746
 (he shell prints an error message, and, if not interacti)-3.246 F -.15
@@ -7493,11 +7506,11 @@ bles and parameters other than the special parameters "@" and "*" as an)
 -.15 G(re read.)-2.5 E F1<ad78>144 714 Q F0 .315(After e)29.3 F .315
 (xpanding each)-.15 F F5 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
 2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
-F1(select)2.815 E F0(command,)2.815 E 3.259(or arithmetic)184 726 R F1
--.25(fo)5.759 G(r).25 E F0 3.26(command, display the e)5.759 F 3.26
-(xpanded v)-.15 F 3.26(alue of)-.25 F F2(PS4)5.76 E F3(,)A F0(follo)5.51
-E 3.26(wed by the)-.25 F(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E
-(63)198.165 E 0 Cg EP
+F1(select)2.815 E F0(command,)2.815 E 3.26(or arithmetic)184 726 R F1
+-.25(fo)5.76 G(r).25 E F0 3.26(command, display the e)5.76 F 3.26
+(xpanded v)-.15 F 3.26(alue of)-.25 F F2(PS4)5.76 E F3(,)A F0(follo)
+5.509 E 3.259(wed by the)-.25 F(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(63)187.615 E 0 Cg EP
 %%Page: 64 64
 %%BeginPageSetup
 BP
@@ -7505,32 +7518,32 @@ BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E(command and its e)184 84 Q(xpanded ar)-.15 E
 (guments or associated w)-.18 E(ord list.)-.1 E/F1 10/Times-Bold@0 SF
-<ad42>144 96 Q F0 2.579(The shell performs brace e)27.63 F 2.578
+<ad42>144 96 Q F0 2.578(The shell performs brace e)27.63 F 2.578
 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 108 Q
-(ault.)-.1 E F1<ad43>144 120 Q F0 .213(If set,)27.08 F F1(bash)2.713 E
-F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 108 Q
+(ault.)-.1 E F1<ad43>144 120 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
+F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
 (xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
-2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
-3.054(tors. This)184 132 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
+3.053(tors. This)184 132 R .553(may be o)3.053 F -.15(ve)-.15 G .553
 (rridden when creating output \214les by using the redirection opera-)
 .15 F(tor)184 144 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 156 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on)
--2.603 F F1(ERR)2.603 E F0 .104
-(is inherited by shell functions, command substitutions, and com-)2.603
-F .839(mands e)184 168 R -.15(xe)-.15 G .839(cuted in a subshell en).15
-F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838
-(trap is normally not inherited in)3.338 F(such cases.)184 180 Q F1
-<ad48>144 192 Q F0(Enable)26.52 E F1(!)3.031 E F0 .531
-(style history substitution.)5.531 F .531(This option is on by def)5.531
-F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 204 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 216 Q F0 1.165
+<ad45>144 156 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
+-2.604 F F1(ERR)2.604 E F0 .103
+(is inherited by shell functions, command substitutions, and com-)2.604
+F .838(mands e)184 168 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
+(trap is normally not inherited in)3.339 F(such cases.)184 180 Q F1
+<ad48>144 192 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
+(style history substitution.)5.532 F .531(This option is on by def)5.532
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 204 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 216 Q F0 1.164
 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
-(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164
-(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
+(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
 (that change the current w)184 228 R 2.822(orking directory)-.1 F 7.822
-(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822
-(ysical directory structure)-.05 F 2.686(instead. By)184 240 R(def)2.686
+(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
+(ysical directory structure)-.05 F 2.685(instead. By)184 240 R(def)2.685
 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
 (ws the logical chain of directories when performing com-)-.25 F
 (mands which change the current directory)184 252 Q(.)-.65 E F1<ad54>144
@@ -7541,42 +7554,42 @@ E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
 (UG)-.1 E F0(and)4.432 E F1(RETURN)184 288 Q F0
 (traps are normally not inherited in such cases.)2.5 E F1<adad>144 300 Q
-F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
 (his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.401 E(the positional parameters are set to the)184 312 Q
-/F2 10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5
-(ni).15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>
-2.5 E F0(.)A F1<ad>144 324 Q F0 1.945
+(Otherwise,)5.4 E(the positional parameters are set to the)184 312 Q/F2
+10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni)
+.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E
+F0(.)A F1<ad>144 324 Q F0 1.944
 (Signal the end of options, cause all remaining)34.3 F F2(ar)4.444 E(g)
--.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G 1.944
-(ssigned to the positional)-4.444 F 3.445(parameters. The)184 336 R F1
-<ad78>3.445 E F0(and)3.445 E F1<ad76>3.445 E F0 .945
-(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no)
-3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B
+-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G 1.945
+(ssigned to the positional)-4.445 F 3.446(parameters. The)184 336 R F1
+<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
+(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
+3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
 (parameters remain unchanged.)184 348 Q .425(The options are of)144
 364.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
 (ault unless otherwise noted.)-.1 F .425
-(Using + rather than \255 causes these options)5.425 F .177
-(to be turned of)144 376.8 R 2.677(f. The)-.25 F .178
+(Using + rather than \255 causes these options)5.425 F .178
+(to be turned of)144 376.8 R 2.678(f. The)-.25 F .178
 (options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066
+-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
 (current set of options may be found in)144 388.8 R F1<24ad>2.566 E F0
 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
-(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F
+(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
 (is encountered.)144 400.8 Q F1(shift)108 417.6 Q F0([)2.5 E F2(n)A F0
-(])A .428(The positional parameters from)144 429.6 R F2(n)2.928 E F0
-.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G
-.429(rameters represented by the num-).15 F(bers)144 441.6 Q F1($#)2.583
-E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A F2(n)A F0 .083
-(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga)
--.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to)
-.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06
+(])A .429(The positional parameters from)144 429.6 R F2(n)2.929 E F0
+.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
+.428(rameters represented by the num-).15 F(bers)144 441.6 Q F1($#)2.582
+E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
+(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
+-.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
+.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
 (is 0, no parameters are changed.)144 453.6 R(If)5.06 E F2(n)2.92 E F0
 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
 (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
-(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 465.6 R
-.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0
-.143(is greater than)2.883 F F1($#)2.643 E F0
+(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 465.6 R
+.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
+.144(is greater than)2.884 F F1($#)2.644 E F0
 (or less than zero; otherwise 0.)144 477.6 Q F1(shopt)108 494.4 Q F0([)
 2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
 -2.5 E F0(...])2.5 E -.8(To)144 506.4 S .222(ggle the v).8 F .222
@@ -7584,143 +7597,143 @@ E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A F2(n)A F0 .083
 (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
 <ad70>2.722 E F0 .721(option, a list of all settable options is display\
 ed, with an indication of whether or not each is set.)144 518.4 R(The)
-144 530.4 Q F1<ad70>2.827 E F0 .327(option causes output to be displaye\
-d in a form that may be reused as input.)2.827 F .328(Other options)
-5.328 F(ha)144 542.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+144 530.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
+d in a form that may be reused as input.)2.828 F .327(Other options)
+5.327 F(ha)144 542.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
 -.25 E F1<ad73>144 554.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
 E F0(.)A F1<ad75>144 566.4 Q F0(Disable \(unset\) each)24.74 E F2
 (optname)2.5 E F0(.)A F1<ad71>144 578.4 Q F0 .003(Suppresses normal out\
 put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 590.4 R .255
-(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256
+(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 590.4 R .256
+(If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
 (guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
-<ad71>2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F
+<ad71>2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F
 (all)180 602.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
 2.5 E F1<ad6f>144 614.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
-(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128
-(If either)144 631.2 R F1<ad73>2.628 E F0(or)2.628 E F1<ad75>2.628 E F0
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127
+(If either)144 631.2 R F1<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0
 .127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
-(guments, the display is limited to those options which)-.18 F 1.023
-(are set or unset, respecti)144 643.2 R -.15(ve)-.25 G(ly).15 E 6.023
-(.U)-.65 G 1.024(nless otherwise noted, the)-6.023 F F1(shopt)3.524 E F0
-1.024(options are disabled \(unset\) by)3.524 F(def)144 655.2 Q(ault.)
+(guments, the display is limited to those options which)-.18 F 1.024
+(are set or unset, respecti)144 643.2 R -.15(ve)-.25 G(ly).15 E 6.024
+(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0
+1.023(options are disabled \(unset\) by)3.523 F(def)144 655.2 Q(ault.)
 -.1 E 1.544(The return status when listing options is zero if all)144
-672 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)
-4.044 F .696
+672 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
+4.045 F .696
 (When setting or unsetting options, the return status is zero unless an)
-144 684 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell)
+144 684 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
 -.25 F(option.)144 696 Q(The list of)144 712.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(64)
-198.165 E 0 Cg EP
+(options is:)2.5 E(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(64)
+187.615 E 0 Cg EP
 %%Page: 65 65
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(autocd)144 84 Q F0 .2
+-.35 E/F1 10/Times-Bold@0 SF(autocd)144 84 Q F0 .199
 (If set, a command name that is the name of a directory is e)11.11 F
--.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
+-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
 (ment to the)184 96 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 108 Q(ars)-.1 E F0 .155(If set, an ar)184 120 R .155
-(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
+F1(cdable_v)144 108 Q(ars)-.1 E F0 .156(If set, an ar)184 120 R .156
+(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
 (iltin command that is not a directory is assumed to be the).2 F
 (name of a v)184 132 Q(ariable whose v)-.25 E
 (alue is the directory to change to.)-.25 E F1(cdspell)144 144 Q F0
 1.055
 (If set, minor errors in the spelling of a directory component in a)
-10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
-(corrected. The)184 156 R 1.487(errors check)3.987 F 1.487
-(ed for are transposed characters, a missing character)-.1 F 3.988(,a)
--.4 G(nd)-3.988 E .552(one character too man)184 168 R 4.352 -.65(y. I)
+10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
+(corrected. The)184 156 R 1.488(errors check)3.988 F 1.487
+(ed for are transposed characters, a missing character)-.1 F 3.987(,a)
+-.4 G(nd)-3.987 E .552(one character too man)184 168 R 4.352 -.65(y. I)
 -.15 H 3.052(fac).65 G .552
 (orrection is found, the corrected \214le name is printed, and)-3.052 F
 (the command proceeds.)184 180 Q(This option is only used by interacti)5
-E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 192 Q F0 2.079
-(If set,)184 204 R F1(bash)4.579 E F0 2.079
-(checks that a command found in the hash table e)4.579 F 2.08
+E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 192 Q F0 2.08
+(If set,)184 204 R F1(bash)4.58 E F0 2.079
+(checks that a command found in the hash table e)4.58 F 2.079
 (xists before trying to)-.15 F -.15(exe)184 216 S(cute it.).15 E
 (If a hashed command no longer e)5 E
 (xists, a normal path search is performed.)-.15 E F1(checkjobs)144 228 Q
-F0 .449(If set,)184 240 R F1(bash)2.949 E F0 .449
-(lists the status of an)2.949 F 2.949(ys)-.15 G .448
-(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.438(shell. If)184 252 R(an)3.438 E 3.438(yj)-.15 G
-.938(obs are running, this causes the e)-3.438 F .938
-(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 2.203
+F0 .448(If set,)184 240 R F1(bash)2.948 E F0 .448
+(lists the status of an)2.948 F 2.949(ys)-.15 G .449
+(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
+F -.15(ve)-.25 G 3.439(shell. If)184 252 R(an)3.439 E 3.439(yj)-.15 G
+.938(obs are running, this causes the e)-3.439 F .938
+(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
 (attempted without an interv)184 264 R 2.203(ening command \(see)-.15 F
 /F2 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 276 Q -.1(wa)-.1
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 276 Q -.1(wa)-.1
 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
-(obs are stopped.)-2.5 E F1(checkwinsize)144 288 Q F0 .796(If set,)184
-300 R F1(bash)3.296 E F0 .796(checks the windo)3.296 F 3.296(ws)-.25 G
-.797(ize after each command and, if necessary)-3.296 F 3.297(,u)-.65 G
-.797(pdates the)-3.297 F -.25(va)184 312 S(lues of).25 E F2(LINES)2.5 E
+(obs are stopped.)-2.5 E F1(checkwinsize)144 288 Q F0 .797(If set,)184
+300 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
+.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G
+.796(pdates the)-3.296 F -.25(va)184 312 S(lues of).25 E F2(LINES)2.5 E
 F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF(.)A F1(cmdhist)144
 324 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202(attempts to sa)
 3.702 F 1.502 -.15(ve a)-.2 H 1.202
 (ll lines of a multiple-line command in the same history).15 F(entry)184
 336 Q 5(.T)-.65 G(his allo)-5 E
 (ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 348 Q
-F0 .419(If set,)184 360 R F1(bash)2.919 E F0 .419(changes its beha)2.919
-F .419(vior to that of v)-.2 F .42(ersion 3.1 with respect to quoted ar)
--.15 F(guments)-.18 E(to the conditional command')184 372 Q 2.5(s=)-.55
-G 2.5(~o)-2.5 G(perator)-2.5 E(.)-.55 E F1(compat32)144 384 Q F0 1.41
-(If set,)184 396 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409
-(vior to that of v)-.2 F 1.409
-(ersion 3.2 with respect to locale-speci\214c)-.15 F
-(string comparison when using the conditional command')184 408 Q 2.5
-(s<a)-.55 G(nd > operators.)-2.5 E F1(compat40)144 420 Q F0 1.409
-(If set,)184 432 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F
+F0 .42(If set,)184 360 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
+.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
+-.15 F(guments)-.18 E(to the conditional command')184 372 Q(s)-.55 E F1
+(=~)2.5 E F0(operator)2.5 E(.)-.55 E F1(compat32)144 384 Q F0 1.409
+(If set,)184 396 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F
 1.409(vior to that of v)-.2 F 1.41
-(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.693
-(string comparison when using the conditional command')184 444 R 4.192
-(s<a)-.55 G 1.692(nd > operators and the)-4.192 F(ef)184 456 Q
-(fect of interrupting a command list.)-.25 E F1(compat41)144 468 Q F0
-1.232(@item compat41 If set,)184 480 R F1(bash)3.732 E F0 3.732(,w)C
-1.232(hen in posix mode, treats a single quote in a double-)-3.732 F
-1.214(quoted parameter e)184 492 R 1.214
-(xpansion as a special character)-.15 F 6.213(.T)-.55 G 1.213
-(he single quotes must match \(an)-6.213 F -2.15 -.25(ev e)184 504 T
-2.948(nn).25 G .448(umber\) and the characters between the single quote\
-s are considered quoted.)-2.948 F(This)5.449 E .063(is the beha)184 516
-R .062(vior of posix mode through v)-.2 F .062(ersion 4.1.)-.15 F .062
-(The def)5.062 F .062(ault bash beha)-.1 F .062(vior remains as)-.2 F
-(in pre)184 528 Q(vious v)-.25 E(ersions.)-.15 E F1(dirspell)144 540 Q
-F0 .858(If set,)7.77 F F1(bash)3.358 E F0 .858
-(attempts spelling correction on directory names during w)3.358 F .859
+(ersion 3.2 with respect to locale-speci\214c)-.15 F
+(string comparison when using the conditional command')184 408 Q(s)-.55
+E F1(<)2.5 E F0(and)2.5 E F1(>)2.5 E F0(operators.)2.5 E F1(compat40)144
+420 Q F0 1.41(If set,)184 432 R F1(bash)3.91 E F0 1.41(changes its beha)
+3.91 F 1.409(vior to that of v)-.2 F 1.409
+(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.682
+(string comparison when using the conditional command')184 444 R(s)-.55
+E F1(<)4.183 E F0(and)4.183 E F1(>)4.183 E F0 1.683(operators and the)
+4.183 F(ef)184 456 Q(fect of interrupting a command list.)-.25 E F1
+(compat41)144 468 Q F0 1.232(@item compat41 If set,)184 480 R F1(bash)
+3.732 E F0 3.732(,w)C 1.232
+(hen in posix mode, treats a single quote in a double-)-3.732 F 1.213
+(quoted parameter e)184 492 R 1.213(xpansion as a special character)-.15
+F 6.213(.T)-.55 G 1.214(he single quotes must match \(an)-6.213 F -2.15
+-.25(ev e)184 504 T 2.949(nn).25 G .448(umber\) and the characters betw\
+een the single quotes are considered quoted.)-2.949 F(This)5.448 E .062
+(is the beha)184 516 R .062(vior of posix mode through v)-.2 F .062
+(ersion 4.1.)-.15 F .062(The def)5.062 F .062(ault bash beha)-.1 F .063
+(vior remains as)-.2 F(in pre)184 528 Q(vious v)-.25 E(ersions.)-.15 E
+F1(dirspell)144 540 Q F0 .859(If set,)7.77 F F1(bash)3.359 E F0 .858
+(attempts spelling correction on directory names during w)3.359 F .858
 (ord completion if)-.1 F
 (the directory name initially supplied does not e)184 552 Q(xist.)-.15 E
 F1(dotglob)144 564 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
 -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E F1(execfail)144 576 Q F0 1.386
-(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386
+(xpansion.)-.15 E F1(execfail)144 576 Q F0 1.387
+(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
-1.387(cute the \214le speci\214ed as an).15 F(ar)184 588 Q
+1.386(cute the \214le speci\214ed as an).15 F(ar)184 588 Q
 (gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
 (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
 E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 600 Q F0
-.717(If set, aliases are e)184 612 R .717(xpanded as described abo)-.15
-F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .716
+.716(If set, aliases are e)184 612 R .717(xpanded as described abo)-.15
+F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .717
 (This option is enabled)5.217 F(by def)184 624 Q(ault for interacti)-.1
 E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 636 Q(ug)-.2 E F0
 (If set, beha)184 648 Q(vior intended for use by deb)-.2 E
-(uggers is enabled:)-.2 E F1(1.)184 660 Q F0(The)28.5 E F1<ad46>4.25 E
-F0 1.75(option to the)4.25 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251
-G 1.751(iltin displays the source \214le name and line).2 F
+(uggers is enabled:)-.2 E F1(1.)184 660 Q F0(The)28.5 E F1<ad46>4.251 E
+F0 1.751(option to the)4.251 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)
+4.251 G 1.751(iltin displays the source \214le name and line).2 F
 (number corresponding to each function name supplied as an ar)220 672 Q
 (gument.)-.18 E F1(2.)184 684 Q F0 1.667(If the command run by the)28.5
 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
 1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 696
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 708 Q F0 .84
-(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 708 Q F0 .841
+(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
 (exe)220 720 S .488
 (cuting in a subroutine \(a shell function or a shell script e).15 F
 -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(65)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(65)187.615 E 0 Cg EP
 %%Page: 66 66
 %%BeginPageSetup
 BP
@@ -7729,7 +7742,7 @@ BP
 -.35 E/F1 10/Times-Bold@0 SF(sour)220 84 Q(ce)-.18 E F0 -.2(bu)2.5 G
 (iltins\), a call to).2 E F1 -.18(re)2.5 G(tur).18 E(n)-.15 E F0
 (is simulated.)2.5 E F1(4.)184 96 Q/F2 9/Times-Bold@0 SF -.27(BA)28.5 G
-(SH_ARGC).27 E F0(and)3.153 E F2 -.27(BA)3.403 G(SH_ARGV).27 E F0 .904
+(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G(SH_ARGV).27 E F0 .904
 (are updated as described in their descriptions)3.154 F(abo)220 108 Q
 -.15(ve)-.15 G(.).15 E F1(5.)184 120 Q F0 1.359
 (Function tracing is enabled:)28.5 F 1.359
@@ -7737,8 +7750,8 @@ BP
 132 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10
 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 144 Q F0 .804(Error tracing is enabled:)28.5 F .805
-(command substitution, shell functions, and subshells)5.804 F(in)220 156
+184 144 Q F0 .805(Error tracing is enabled:)28.5 F .804
+(command substitution, shell functions, and subshells)5.805 F(in)220 156
 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3
 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
 2.5 E F1(extglob)144 168 Q F0 .4(If set, the e)8.89 F .4
@@ -7750,48 +7763,48 @@ E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within)
 -4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
 (pansions).15 E(enclosed in double quotes.)184 216 Q
 (This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 228 Q F0
-1.425(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.424
+1.424(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.425
 (xpansion result in an)-.15 F -.15(ex)184 240 S(pansion error).15 E(.)
 -.55 E F1 -.25(fo)144 252 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.936(If set, the suf)184 264 R<8c78>-.25 E .936(es speci\214ed by the)
+.937(If set, the suf)184 264 R<8c78>-.25 E .936(es speci\214ed by the)
 -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 276 R .32
+-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 276 R .32
 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947
-(pletions. See)184 288 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
-(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.948 E/F4 9/Times-Roman@0 SF(.)A F0 .448(This option is)4.948
-F(enabled by def)184 300 Q(ault.)-.1 E F1(globstar)144 312 Q F0 .179
-(If set, the pattern)5 F F1(**)2.679 E F0 .178(used in a pathname e)
-2.678 F .178(xpansion conte)-.15 F .178
-(xt will match a \214les and zero or)-.15 F 1.297
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
+(pletions. See)184 288 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
+(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
+(FIGNORE)2.947 E/F4 9/Times-Roman@0 SF(.)A F0 .447(This option is)4.947
+F(enabled by def)184 300 Q(ault.)-.1 E F1(globstar)144 312 Q F0 .178
+(If set, the pattern)5 F F1(**)2.678 E F0 .178(used in a pathname e)
+2.678 F .178(xpansion conte)-.15 F .179
+(xt will match a \214les and zero or)-.15 F 1.298
 (more directories and subdirectories.)184 324 R 1.298
-(If the pattern is follo)6.297 F 1.298(wed by a)-.25 F F1(/)3.798 E F0
-3.798(,o)C 1.298(nly directories)-3.798 F(and subdirectories match.)184
+(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0
+3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184
 336 Q F1(gnu_errfmt)144 348 Q F0(If set, shell error messages are writt\
 en in the standard GNU error message format.)184 360 Q F1(histappend)144
 372 Q F0 .676
 (If set, the history list is appended to the \214le named by the v)184
-384 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
+384 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G
 (ri-).25 E(able when the shell e)184 396 Q(xits, rather than o)-.15 E
 -.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 408 Q(eedit)-.18
-E F0 .575(If set, and)184 420 R F1 -.18(re)3.075 G(adline).18 E F0 .575
-(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576
-(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
-(tory substitution.)184 432 Q F1(histv)144 444 Q(erify)-.1 E F0 .403
+E F0 .576(If set, and)184 420 R F1 -.18(re)3.076 G(adline).18 E F0 .575
+(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
+(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
+(tory substitution.)184 432 Q F1(histv)144 444 Q(erify)-.1 E F0 .402
 (If set, and)184 456 R F1 -.18(re)2.903 G(adline).18 E F0 .403
 (is being used, the results of history substitution are not immediately)
-2.903 F .661(passed to the shell parser)184 468 R 5.661(.I)-.55 G .662
-(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162
-G(adline).18 E F0(editing)3.162 E -.2(bu)184 480 S -.25(ff).2 G(er).25 E
+2.903 F .662(passed to the shell parser)184 468 R 5.662(.I)-.55 G .661
+(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
+G(adline).18 E F0(editing)3.161 E -.2(bu)184 480 S -.25(ff).2 G(er).25 E
 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
-(hostcomplete)144 492 Q F0 1.182(If set, and)184 504 R F1 -.18(re)3.682
-G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181
-(will attempt to perform hostname completion)3.681 F 1.38(when a w)184
-516 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
-F2(READLINE)3.881 E F0(abo)184 528 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(hostcomplete)144 492 Q F0 1.181(If set, and)184 504 R F1 -.18(re)3.681
+G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
+(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
+516 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
+F2(READLINE)3.88 E F0(abo)184 528 Q -.15(ve)-.15 G 2.5(\). This).15 F
 (is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 540 Q F0(If set,)
 184 552 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
@@ -7801,63 +7814,63 @@ F2(READLINE)3.881 E F0(abo)184 528 Q -.15(ve)-.15 G 2.5(\). This).15 F
 (ord and all remaining characters on)-.1 F .967
 (that line to be ignored in an interacti)184 588 R 1.267 -.15(ve s)-.25
 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
-G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 600 Q
-(ault.)-.1 E F1(lastpipe)144 612 Q F0 1.212
+G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 600 Q
+(ault.)-.1 E F1(lastpipe)144 612 Q F0 1.211
 (If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
 G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
 (exe)184 624 S(cuted in the background in the current shell en).15 E
-(vironment.)-.4 E F1(lithist)144 636 Q F0 .654(If set, and the)15.55 F
-F1(cmdhist)3.154 E F0 .654
+(vironment.)-.4 E F1(lithist)144 636 Q F0 .655(If set, and the)15.55 F
+F1(cmdhist)3.155 E F0 .654
 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G
-3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F
+3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
 (with embedded ne)184 648 Q
 (wlines rather than using semicolon separators where possible.)-.25 E F1
 (login_shell)144 660 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-672 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 684 S(lue may not be changed.).25
-E F1(mailwar)144 696 Q(n)-.15 E F0 .814(If set, and a \214le that)184
-708 R F1(bash)3.314 E F0 .815
-(is checking for mail has been accessed since the last time it)3.314 F
+672 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve)
+-.15 G 2.987(\). The).15 F -.25(va)184 684 S(lue may not be changed.).25
+E F1(mailwar)144 696 Q(n)-.15 E F0 .815(If set, and a \214le that)184
+708 R F1(bash)3.315 E F0 .814
+(is checking for mail has been accessed since the last time it)3.315 F
 -.1(wa)184 720 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
 (`The mail in)-.74 E F3(mail\214le)2.5 E F0(has been read')2.5 E 2.5('i)
 -.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(66)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(66)187.615 E 0 Cg EP
 %%Page: 67 67
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(no_empty_cmd_completion)144 84 Q F0 .325
-(If set, and)184 96 R F1 -.18(re)2.825 G(adline).18 E F0 .325
-(is being used,)2.825 F F1(bash)2.824 E F0 .324
+-.35 E/F1 10/Times-Bold@0 SF(no_empty_cmd_completion)144 84 Q F0 .324
+(If set, and)184 96 R F1 -.18(re)2.824 G(adline).18 E F0 .324
+(is being used,)2.824 F F1(bash)2.824 E F0 .324
 (will not attempt to search the)2.824 F/F2 9/Times-Bold@0 SF -.666(PA)
-2.824 G(TH)-.189 E F0 .324(for possible)2.574 F
+2.825 G(TH)-.189 E F0 .325(for possible)2.575 F
 (completions when completion is attempted on an empty line.)184 108 Q F1
-(nocaseglob)144 120 Q F0 .436(If set,)184 132 R F1(bash)2.936 E F0 .436
-(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
-H .437(ashion when performing pathname).05 F -.15(ex)184 144 S
+(nocaseglob)144 120 Q F0 .437(If set,)184 132 R F1(bash)2.937 E F0 .436
+(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
+H .436(ashion when performing pathname).05 F -.15(ex)184 144 S
 (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 156 Q F0 1.194(If set,)184
-168 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
-3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 156 Q F0 1.193(If set,)184
+168 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
+3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
 F(while e)184 180 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
 E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 192 Q F0
-.854(If set,)184 204 R F1(bash)3.354 E F0(allo)3.354 E .855
-(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855
-(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o)
--3.355 E -.15(ex)184 216 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 228 Q(ogcomp)-.18 E F0 .677
+.855(If set,)184 204 R F1(bash)3.355 E F0(allo)3.355 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854
+(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o)
+-3.354 E -.15(ex)184 216 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 228 Q(ogcomp)-.18 E F0 .676
 (If set, the programmable completion f)184 240 R .677(acilities \(see)
--.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
+-.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
 -.15(ve)-.15 G(\)).15 E(are enabled.)184 252 Q
 (This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 264 Q(omptv)
--.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 276 R 1.448
-(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 288 S .171(pansion, and quote remo).15 F -.25(va)-.15
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 276 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 288 S .17(pansion, and quote remo).15 F -.25(va)-.15
 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
-(This option is enabled by def)184 300 Q(ault.)-.1 E F1 -.18(re)144 312
+-.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
+E(This option is enabled by def)184 300 Q(ault.)-.1 E F1 -.18(re)144 312
 S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
 184 324 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 336 Q 4.178
@@ -7865,39 +7878,39 @@ S(stricted_shell).18 E F0 1.069
 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
 184 348 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
 -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
-F1(shift_v)144 360 Q(erbose)-.1 E F0 .501(If set, the)184 372 R F1
-(shift)3.001 E F0 -.2(bu)3.001 G .501
-(iltin prints an error message when the shift count e).2 F .502
+F1(shift_v)144 360 Q(erbose)-.1 E F0 .502(If set, the)184 372 R F1
+(shift)3.002 E F0 -.2(bu)3.002 G .501
+(iltin prints an error message when the shift count e).2 F .501
 (xceeds the number)-.15 F(of positional parameters.)184 384 Q F1(sour)
-144 396 Q(cepath)-.18 E F0 .771(If set, the)184 408 R F1(sour)3.271 E
-(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77
-(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
-184 420 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
--.1 E F1(xpg_echo)144 432 Q F0(If set, the)184 444 Q F1(echo)2.5 E F0
--.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15
-E(ault.)-.1 E F1(suspend)108 456 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
-(Suspend the e)144 468 R -.15(xe)-.15 G 1.001
-(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
-F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
-3.502 F .023(suspended; the)144 480 R F1<ad66>2.523 E F0 .023
-(option can be used to o)2.523 F -.15(ve)-.15 G .022
-(rride this and force the suspension.).15 F .022(The return status is)
-5.022 F 2.5(0u)144 492 S(nless the shell is a login shell and)-2.5 E F1
+144 396 Q(cepath)-.18 E F0 .77(If set, the)184 408 R F1(sour)3.27 E(ce)
+-.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
+.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
+(to \214nd the directory containing the)3.021 F
+(\214le supplied as an ar)184 420 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 432 Q F0
+(If set, the)184 444 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
+(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend)
+108 456 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 468 R -.15
+(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)-.25
+G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001
+(login shell cannot be)3.501 F .022(suspended; the)144 480 R F1<ad66>
+2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .023(The return status is)
+5.023 F 2.5(0u)144 492 S(nless the shell is a login shell and)-2.5 E F1
 <ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E
 F1(test)108 504 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108
 516 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15
 (Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15
 (luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G
-(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188
+(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.187
 (operator and operand must be a separate ar)144 528 R 3.688
-(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
-1.889(described abo)144 540 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
-(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
-F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89
-(ptions, nor)-4.39 F(does it accept and ignore an ar)144 552 Q
+(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F
+1.89(described abo)144 540 R 2.19 -.15(ve u)-.15 H(nder).15 E F2
+(CONDITION)4.39 E 1.89(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
+F1(test)6.39 E F0 1.889(does not accept an)4.389 F 4.389(yo)-.15 G 1.889
+(ptions, nor)-4.389 F(does it accept and ignore an ar)144 552 Q
 (gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
-E .786(Expressions may be combined using the follo)144 570 R .785
+E .785(Expressions may be combined using the follo)144 570 R .786
 (wing operators, listed in decreasing order of prece-)-.25 F 2.5
 (dence. The)144 582 R -.25(eva)2.5 G
 (luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65
@@ -7917,7 +7930,7 @@ F0 -.25(eva)2.5 G(luate conditional e).25 E
 (xpressions using a set of rules based on the number of ar)-.15 E
 (guments.)-.18 E 2.5(0a)144 700.8 S -.18(rg)-2.5 G(uments).18 E(The e)
 180 712.8 Q(xpression is f)-.15 E(alse.)-.1 E(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(67)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(67)187.615 E 0 Cg EP
 %%Page: 68 68
 %%BeginPageSetup
 BP
@@ -7928,38 +7941,38 @@ BP
 E 2.5(2a)144 108 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)180
 120 R .37(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)2.87 E F0 2.87(,t)C
 .37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15
-F .37(gument is null.)-.18 F .379(If the \214rst ar)180 132 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
-144 Q .553(AL EXPRESSIONS)-.18 F/F3 9/Times-Roman@0 SF(,)A F0 .552
+F .37(gument is null.)-.18 F .38(If the \214rst ar)180 132 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .679
+-.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180
+144 Q .552(AL EXPRESSIONS)-.18 F/F3 9/Times-Roman@0 SF(,)A F0 .552
 (the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
 .552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 156 Q
 (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
 (xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 168 S -.18(rg)-2.5 G
-(uments).18 E .023(If the second ar)180 180 R .023
+(uments).18 E .024(If the second ar)180 180 R .023
 (gument is one of the binary conditional operators listed abo)-.18 F
-.324 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.524 E(DITION)180 192 Q 1.478
+.323 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.523 E(DITION)180 192 Q 1.477
 (AL EXPRESSIONS)-.18 F F3(,)A F0 1.477(the result of the e)3.727 F 1.477
 (xpression is the result of the binary test)-.15 F .513
 (using the \214rst and third ar)180 204 R .513(guments as operands.)-.18
-F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0 .513
+F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0 .512
 (operators are considered)3.013 F .972
 (binary operators when there are three ar)180 216 R 3.472(guments. If)
 -.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
-3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 228 R
--.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884
-(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18
-F .884(the \214rst)3.384 F(ar)180 240 Q .875(gument is e)-.18 F(xactly)
--.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875(gument is e)
--.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874
-(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar)
+3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 228 R
+-.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884
+(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18
+F .883(the \214rst)3.383 F(ar)180 240 Q .874(gument is e)-.18 F(xactly)
+-.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875(gument is e)
+-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875
+(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar)
 180 252 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)-.15
-E(alse.)-.1 E 2.5(4a)144 264 S -.18(rg)-2.5 G(uments).18 E .384
-(If the \214rst ar)180 276 R .384(gument is)-.18 F F1(!)2.884 E F0 2.885
-(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .385
-(tion of the three-ar).05 F .385(gument e)-.18 F .385(xpression com-)
--.15 F 1.648(posed of the remaining ar)180 288 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
+E(alse.)-.1 E 2.5(4a)144 264 S -.18(rg)-2.5 G(uments).18 E .385
+(If the \214rst ar)180 276 R .385(gument is)-.18 F F1(!)2.885 E F0 2.885
+(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .384
+(tion of the three-ar).05 F .384(gument e)-.18 F .384(xpression com-)
+-.15 F 1.647(posed of the remaining ar)180 288 R 4.147
+(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
 (xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
 (according to precedence using the rules listed abo)180 300 Q -.15(ve)
 -.15 G(.).15 E 2.5(5o)144 312 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
@@ -7970,153 +7983,152 @@ nt the accumulated user and system times for the shell and for processe\
 s run from the shell.)13.23 F(The return status is 0.)144 364.8 Q F1
 (trap)108 381.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10
 /Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])2.5 E
-.702(The command)144 393.6 R F4(ar)3.532 E(g)-.37 E F0 .702
-(is to be read and e)3.422 F -.15(xe)-.15 G .702
-(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
-(ignal\(s\))-3.203 E F4(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F4
-(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
+.703(The command)144 393.6 R F4(ar)3.533 E(g)-.37 E F0 .703
+(is to be read and e)3.423 F -.15(xe)-.15 G .702
+(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G
+(ignal\(s\))-3.202 E F4(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F4
+(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single)
 144 405.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
 F0 3.108(,e)C .608
 (ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 417.6 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .659
+.659(\(the v)144 417.6 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .658
 (is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
-144.34 429.6 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F4(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
+144.34 429.6 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F4(ar)3.411 E(g)-.37 E
+F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215
 (been supplied, then the trap commands associated with each)144 441.6 R
-F4(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
+F4(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
 F(gu-)-.18 E .86(ments are supplied or if only)144 453.6 R F1<ad70>3.36
 E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
 (prints the list of commands associated with each)3.36 F 2.83
 (signal. The)144 465.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 477.6 R F4(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F4(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
+to print a list of signal names and their corresponding num-)2.83 F 4.31
+(bers. Each)144 477.6 R F4(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F4(signal.h)A F0 1.811
+(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
 (names are case insensiti)144 489.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F2(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a)144 507.6 R F4
-(sigspec)4.488 E F0(is)4.458 E F2(EXIT)4.148 E F0 1.648
-(\(0\) the command)3.898 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
--.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F
-1.649(If a)6.649 F F4(sigspec)4.489 E F0(is)4.459 E F2(DEB)144 519.6 Q
-(UG)-.09 E F3(,)A F0 1.168(the command)3.418 F F4(ar)3.998 E(g)-.37 E F0
-1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
--.25 G(ry).15 E F4 1.167(simple command)3.667 F F0(,)A F4(for)3.667 E F0
-(command,)3.667 E F4(case)3.667 E F0(com-)3.667 E(mand,)144 531.6 Q F4
-(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146
-(ry arithmetic).15 F F4(for)2.646 E F0 .147
-(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
-(cutes in a).15 F .146(shell function \(see)144 543.6 R F2 .146
-(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0
-.145(option to)2.645 F(the)144 555.6 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7
-(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG)
--.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F4(sigspec)3.54 E F0(is)3.51 E F2
-(RETURN)3.2 E F3(,)A F0 .701(the com-)2.951 F(mand)144 567.6 Q F4(ar)
-3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
+F2(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 507.6 R F4
+(sigspec)4.489 E F0(is)4.459 E F2(EXIT)4.149 E F0 1.649
+(\(0\) the command)3.899 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
+-.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F
+1.648(If a)6.648 F F4(sigspec)4.488 E F0(is)4.458 E F2(DEB)144 519.6 Q
+(UG)-.09 E F3(,)A F0 1.167(the command)3.417 F F4(ar)3.997 E(g)-.37 E F0
+1.167(is e)3.887 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
+-.25 G(ry).15 E F4 1.168(simple command)3.667 F F0(,)A F4(for)3.668 E F0
+(command,)3.668 E F4(case)3.668 E F0(com-)3.668 E(mand,)144 531.6 Q F4
+(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147
+(ry arithmetic).15 F F4(for)2.647 E F0 .146
+(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
+(cutes in a).15 F .145(shell function \(see)144 543.6 R F2 .145
+(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
+F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0
+.146(option to)2.646 F(the)144 555.6 Q F1(shopt)3.201 E F0 -.2(bu)3.201
+G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E
+(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F4(sigspec)3.54 E F0(is)3.51 E
+F2(RETURN)3.2 E F3(,)A F0 .7(the com-)2.95 F(mand)144 567.6 Q F4(ar)
+3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce)
--.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 579.6 Q -.15(xe)
--.15 G(cuting.).15 E .928(If a)144 597.6 R F4(sigspec)3.768 E F0(is)
-3.738 E F2(ERR)3.429 E F3(,)A F0 .929(the command)3.179 F F4(ar)3.759 E
+.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce)
+-.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 579.6 Q -.15(xe)
+-.15 G(cuting.).15 E .929(If a)144 597.6 R F4(sigspec)3.769 E F0(is)
+3.739 E F2(ERR)3.429 E F3(,)A F0 .929(the command)3.179 F F4(ar)3.759 E
 (g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
--.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
--3.429 F -.15(ex)144 609.6 S 1.009(it status, subject to the follo).15 F
+-.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero)
+-3.429 F -.15(ex)144 609.6 S 1.008(it status, subject to the follo).15 F
 1.009(wing conditions.)-.25 F(The)6.009 E F2(ERR)3.509 E F0 1.009
-(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
+(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009
 (ailed com-)-.1 F .324
 (mand is part of the command list immediately follo)144 621.6 R .324
 (wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1
-(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144
+(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.128(in an)144
 633.6 R F4(if)3.639 E F0 1.129(statement, part of a command e)5.589 F
 -.15(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10
-/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.628
-(sr)-.55 G(eturn)-3.628 E -.25(va)144 645.6 S(lue is being in).25 E -.15
+/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.629
+(sr)-.55 G(eturn)-3.629 E -.25(va)144 645.6 S(lue is being in).25 E -.15
 (ve)-.4 G(rted via).15 E F1(!)2.5 E F0 5(.T)C
 (hese are the same conditions obe)-5 E(yed by the)-.15 E F1(err)2.5 E
 (exit)-.18 E F0(option.)2.5 E 1.095
 (Signals ignored upon entry to the shell cannot be trapped or reset.)144
 663.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
 (being ignored are reset to their original v)144 675.6 R .662
-(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
+(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
 -.4 F 2.5(created. The)144 687.6 R(return status is f)2.5 E(alse if an)
 -.1 E(y)-.15 E F4(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
 (lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108
 704.4 Q F0([)2.5 E F1(\255aftpP)A F0(])A F4(name)2.5 E F0([)2.5 E F4
-(name)A F0(...])2.5 E -.4(Wi)144 716.4 S .173
-(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F4(name)
-3.033 E F0 -.1(wo)2.853 G .174
-(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
-F1<ad74>144 728.4 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
+(name)A F0(...])2.5 E -.4(Wi)144 716.4 S .174
+(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F4(name)
+3.034 E F0 -.1(wo)2.854 G .173
+(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
+F1<ad74>144 728.4 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0
 .843(prints a string which is one of)3.343 F F4(alias)3.343 E F0(,).27 E
 F4 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F4(function)3.343 E F0
-(,).24 E F4 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F4
-(\214le)5.252 E F0(if)3.522 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175
-E(68)198.165 E 0 Cg EP
+(,).24 E F4 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F4
+(\214le)5.253 E F0(if)3.523 E(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(68)187.615 E 0 Cg EP
 %%Page: 69 69
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Italic@0 SF(name)144.36 84 Q F0 .086
-(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
-(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F1
-(name)2.947 E F0 .087(is not)2.767 F .119
+-.35 E/F1 10/Times-Italic@0 SF(name)144.36 84 Q F0 .087
+(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
+(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1
+(name)2.946 E F0 .086(is not)2.766 F .118
 (found, then nothing is printed, and an e)144 96 R .118(xit status of f)
--.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F/F2 10
-/Times-Bold@0 SF<ad70>2.618 E F0 .118(option is used,)2.618 F F2(type)
-2.618 E F0 .855(either returns the name of the disk \214le that w)144
+-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F/F2 10
+/Times-Bold@0 SF<ad70>2.619 E F0 .119(option is used,)2.619 F F2(type)
+2.619 E F0 .855(either returns the name of the disk \214le that w)144
 108 R .855(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)
-3.715 E F0 .855(were speci\214ed as a com-)3.535 F .641
-(mand name, or nothing if)144 120 R/F3 10/Courier@0 SF .641
-(type -t name)3.141 F F0 -.1(wo)3.141 G .641(uld not return).1 F F1
-(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E F2<ad50>3.14 E F0 .64
-(option forces a)3.14 F/F4 9/Times-Bold@0 SF -.666(PA)3.14 G(TH)-.189 E
-F0 .112(search for each)144 132 R F1(name)2.612 E F0 2.612(,e)C -.15(ve)
--2.862 G 2.613(ni).15 G(f)-2.613 E F3 .113(type -t name)2.613 F F0 -.1
-(wo)2.613 G .113(uld not return).1 F F1(\214le)2.613 E F0 5.113(.I).18 G
-2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F2<ad70>2.613 E F0
-(and)144 144 Q F2<ad50>2.945 E F0 .445(print the hashed v)2.945 F .444
+3.715 E F0 .855(were speci\214ed as a com-)3.535 F .64
+(mand name, or nothing if)144 120 R/F3 10/Courier@0 SF .64(type -t name)
+3.14 F F0 -.1(wo)3.14 G .641(uld not return).1 F F1(\214le)3.141 E F0
+5.641(.T).18 G(he)-5.641 E F2<ad50>3.141 E F0 .641(option forces a)3.141
+F/F4 9/Times-Bold@0 SF -.666(PA)3.141 G(TH)-.189 E F0 .113
+(search for each)144 132 R F1(name)2.613 E F0 2.613(,e)C -.15(ve)-2.863
+G 2.613(ni).15 G(f)-2.613 E F3 .113(type -t name)2.613 F F0 -.1(wo)2.613
+G .113(uld not return).1 F F1(\214le)2.613 E F0 5.113(.I).18 G 2.613(fa)
+-5.113 G .112(command is hashed,)-.001 F F2<ad70>2.612 E F0(and)144 144
+Q F2<ad50>2.944 E F0 .444(print the hashed v)2.944 F .444
 (alue, not necessarily the \214le that appears \214rst in)-.25 F F4
--.666(PA)2.944 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .444(If the)
-4.944 F F2<ad61>2.944 E F0(option)2.944 E .265(is used,)144 156 R F2
+-.666(PA)2.945 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .445(If the)
+4.945 F F2<ad61>2.945 E F0(option)2.945 E .265(is used,)144 156 R F2
 (type)2.765 E F0 .265(prints all of the places that contain an e)2.765 F
 -.15(xe)-.15 G .265(cutable named).15 F F1(name)2.765 E F0 5.265(.T).18
-G .265(his includes aliases)-5.265 F .427
+G .265(his includes aliases)-5.265 F .426
 (and functions, if and only if the)144 168 R F2<ad70>2.926 E F0 .426
-(option is not also used.)2.926 F .426
-(The table of hashed commands is not)5.426 F .548(consulted when using)
-144 180 R F2<ad61>3.048 E F0 5.548(.T)C(he)-5.548 E F2<ad66>3.048 E F0
-.549(option suppresses shell function lookup, as with the)3.048 F F2
-(command)3.049 E F0 -.2(bu)144 192 S(iltin.).2 E F2(type)5 E F0
+(option is not also used.)2.926 F .427
+(The table of hashed commands is not)5.426 F .549(consulted when using)
+144 180 R F2<ad61>3.049 E F0 5.549(.T)C(he)-5.549 E F2<ad66>3.049 E F0
+.548(option suppresses shell function lookup, as with the)3.049 F F2
+(command)3.048 E F0 -.2(bu)144 192 S(iltin.).2 E F2(type)5 E F0
 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E
 (alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 208.8
 Q F0([)2.5 E F2(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1
-(limit)A F0(]])A(Pro)144 220.8 Q .244(vides control o)-.15 F -.15(ve)
--.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(limit)A F0(]])A(Pro)144 220.8 Q .243(vides control o)-.15 F -.15(ve)
+-.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 232.8 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F2<ad48>3.443 E F0(and)3.443 E F2<ad53>3.444 E F0 .944
+.944(that allo)144 232.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F2<ad48>3.444 E F0(and)3.444 E F2<ad53>3.444 E F0 .943
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 244.8 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 244.8 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 256.8 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F2<ad48>2.926 E
-F0(nor)2.926 E F2<ad53>2.926 E F0 .426
-(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
+ft limit may)2.708 F .426(be increased up to the v)144 256.8 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F2<ad48>2.925 E
+F0(nor)2.925 E F2<ad53>2.925 E F0 .425
+(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
 268.8 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 280.8 R(alues)-.25 E F2(hard)3.241 E F0(,)A F2
+.742(of the special v)144 280.8 R(alues)-.25 E F2(hard)3.242 E F0(,)A F2
 (soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
 (soft limit, and no limit, respecti)144 292.8 R -.15(ve)-.25 G(ly).15 E
 5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 304.8 R F2<ad48>2.999 E F0
-.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
+F .499(resource is printed, unless the)144 304.8 R F2<ad48>2.999 E F0
+.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498
 (more than one resource is speci\214ed, the)2.999 F
 (limit name and unit are printed before the v)144 316.8 Q 2.5
 (alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
@@ -8133,8 +8145,8 @@ F0(The maximum size of \214les written by the shell and its children)
 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
 (ystems do not honor this limit\))-2.5 E F2<ad6e>144 436.8 Q F0 .791(Th\
 e maximum number of open \214le descriptors \(most systems do not allo)
-24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-448.8 Q F2<ad70>144 460.8 Q F0
+24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F
+(be set\))180 448.8 Q F2<ad70>144 460.8 Q F0
 (The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
 <ad71>144 472.8 Q F0
 (The maximum number of bytes in POSIX message queues)24.74 E F2<ad72>144
@@ -8150,16 +8162,16 @@ F2<ad54>144 568.8 Q F0(The maximum number of threads)23.63 E(If)144
 585.6 Q F1(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343
 (n, it is the ne).15 F 2.843(wv)-.25 G .343
 (alue of the speci\214ed resource \(the)-3.093 F F2<ad61>2.843 E F0 .343
-(option is display only\).)2.843 F .343(If no)5.343 F .175(option is gi)
-144 597.6 R -.15(ve)-.25 G .175(n, then).15 F F2<ad66>2.675 E F0 .175
-(is assumed.)2.675 F -1.11(Va)5.175 G .175
-(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F2
-<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 609.6
-Q F2<ad70>2.516 E F0 2.516(,w)C .016
-(hich is in units of 512-byte blocks, and)-2.516 F F2<ad54>2.516 E F0(,)
-A F2<ad62>2.515 E F0(,)A F2<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F2
-<ad75>2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E
-3.787(ues. The)144 621.6 R 1.287(return status is 0 unless an in)3.787 F
+(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi)
+144 597.6 R -.15(ve)-.25 G .176(n, then).15 F F2<ad66>2.676 E F0 .175
+(is assumed.)2.676 F -1.11(Va)5.175 G .175
+(lues are in 1024-byte increments, e)1.11 F .175(xcept for)-.15 F F2
+<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 609.6
+Q F2<ad70>2.515 E F0 2.515(,w)C .015
+(hich is in units of 512-byte blocks, and)-2.515 F F2<ad54>2.516 E F0(,)
+A F2<ad62>2.516 E F0(,)A F2<ad6e>2.516 E F0 2.516(,a)C(nd)-2.516 E F2
+<ad75>2.516 E F0 2.516(,w)C .016(hich are unscaled v)-2.516 F(al-)-.25 E
+3.788(ues. The)144 621.6 R 1.287(return status is 0 unless an in)3.787 F
 -.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144
 633.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F2(umask)108 650.4 Q F0([)2.5 E F2
@@ -8169,18 +8181,18 @@ A F2<ad62>2.515 E F0(,)A F2<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F2
 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
 therwise it is interpreted as a symbolic mode mask similar to that acce\
 pted by)144 674.4 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-686.4 Q F1(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
+686.4 Q F1(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
 (alue of the mask is printed.)-.25 F(The)5.382 E F2<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
 (printed in symbolic form; the def)144 698.4 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
 (he)-3.047 E F2<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F1
-(mode)144.38 710.4 Q F0 .552
-(is omitted, the output is in a form that may be reused as input.)3.232
-F .551(The return status is 0 if the)5.551 F(mode w)144 722.4 Q
+(mode)144.38 710.4 Q F0 .551
+(is omitted, the output is in a form that may be reused as input.)3.231
+F .552(The return status is 0 if the)5.552 F(mode w)144 722.4 Q
 (as successfully changed or if no)-.1 E F1(mode)2.5 E F0(ar)2.5 E
 (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E
-(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E(69)198.165 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 September 6)137.625 E(69)187.615 E 0 Cg EP
 %%Page: 70 70
 %%BeginPageSetup
 BP
@@ -8194,51 +8206,51 @@ F0 1.655(is supplied, all alias de\214nitions are)4.155 F(remo)144 108 Q
 -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
 (alue is true unless a supplied)-.25 E F2(name)2.86 E F0
 (is not a de\214ned alias.)2.68 E F1(unset)108 124.8 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 136.8 S 3.107
-(re).15 G(ach)-3.107 E F2(name)3.107 E F0 3.107(,r).18 G(emo)-3.107 E
-.907 -.15(ve t)-.15 H .607(he corresponding v).15 F .607
-(ariable or function.)-.25 F .606(If no options are supplied, or the)
-5.607 F F1<ad76>144 148.8 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G
-.304(n, each).15 F F2(name)3.164 E F0 .305(refers to a shell v)2.985 F
-2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .305
-(riables may not be unset.).25 F(If)5.305 E F1<ad66>144 160.8 Q F0 .46
-(is speci\214ed, each)2.96 F F2(name)3.32 E F0 .459
-(refers to a shell function, and the function de\214nition is remo)3.14
-F -.15(ve)-.15 G 2.959(d. Each).15 F .902(unset v)144 172.8 R .902
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 136.8 S 3.106
+(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E
+.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607
+(ariable or function.)-.25 F .607(If no options are supplied, or the)
+5.607 F F1<ad76>144 148.8 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G
+.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F
+2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304
+(riables may not be unset.).25 F(If)5.304 E F1<ad66>144 160.8 Q F0 .459
+(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459
+(refers to a shell function, and the function de\214nition is remo)3.139
+F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 172.8 R .903
 (ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902
-(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F
-(If)5.903 E(an)144 184.8 Q 6.916(yo)-.15 G(f)-6.916 E/F3 9/Times-Bold@0
-SF(COMP_W)6.916 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)
+(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F
+(If)5.902 E(an)144 184.8 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0
+SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)
 6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3
-(HISTCMD)6.665 E F4(,)A F3(FUNCN)6.665 E(AME)-.18 E F4(,)A F3(GR)144
-196.8 Q(OUPS)-.27 E F4(,)A F0(or)2.522 E F3(DIRST)2.772 E -.495(AC)-.81
+(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144
+196.8 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81
 G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272
 (ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G
-2.772(ft)-2.772 G(he)-2.772 E 2.773(ya)-.15 G .273(re subsequently)
--2.773 F 2.5(reset. The)144 208.8 R -.15(ex)2.5 G
+2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently)
+-2.772 F 2.5(reset. The)144 208.8 R -.15(ex)2.5 G
 (it status is true unless a).15 E F2(name)2.86 E F0(is readonly)2.68 E
 (.)-.65 E F1(wait)108 225.6 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A
 -.8(Wa)144 237.6 S .288
 (it for each speci\214ed process and return its termination status.).8 F
-(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
+(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
 (job speci\214cation; if a job spec is gi)144 249.6 R -.15(ve)-.25 G
 .722(n, all processes in that job').15 F 3.222(sp)-.55 G .722
 (ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E
-F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 261.6 R -.15(ve)-.25 G 1.266
-(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
-(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
-(nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456
+F2(n)3.582 E F0(is)3.462 E 1.265(not gi)144 261.6 R -.15(ve)-.25 G 1.265
+(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
+(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
+(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
 (speci\214es a non-e)144 273.6 R .457
 (xistent process or job, the return status is 127.)-.15 F .457
 (Otherwise, the return status is the)5.457 F -.15(ex)144 285.6 S
 (it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E
 /F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 302.4 Q F0(If)108 314.4 Q
-F1(bash)4.397 E F0 1.897(is started with the name)4.397 F F1(rbash)4.397
-E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<ad72>4.397 E F0 1.896
-(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896
-(cation, the shell becomes).2 F 3.445(restricted. A)108 326.4 R .945
-(restricted shell is used to set up an en)3.445 F .946
-(vironment more controlled than the standard shell.)-.4 F(It)5.946 E
+F1(bash)4.396 E F0 1.896(is started with the name)4.396 F F1(rbash)4.397
+E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<ad72>4.397 E F0 1.897
+(option is supplied at in)4.397 F -.2(vo)-.4 G 1.897
+(cation, the shell becomes).2 F 3.446(restricted. A)108 326.4 R .945
+(restricted shell is used to set up an en)3.446 F .945
+(vironment more controlled than the standard shell.)-.4 F(It)5.945 E
 (beha)108 338.4 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1
 (bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
 (wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
@@ -8249,11 +8261,11 @@ F4(,)A F3 -.666(PA)2.25 G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)
 (pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108
 405.6 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0
 (as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G
-(iltin command).2 E 32.5<8353>108 422.4 S .351
-(pecifying a \214lename containing a slash as an ar)-32.5 F .351
-(gument to the)-.18 F F1<ad70>2.851 E F0 .351(option to the)2.851 F F1
-(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 434.4 Q
-32.5<8369>108 451.2 S(mporting function de\214nitions from the shell en)
+(iltin command).2 E 32.5<8373>108 422.4 S .449
+(pecifying a \214lename containing a slash as an ar)-32.5 F .449
+(gument to the)-.18 F F1<ad70>2.95 E F0 .45(option to the)2.95 F F1
+(hash)2.95 E F0 -.2(bu)2.95 G .45(iltin com-).2 F(mand)144 434.4 Q 32.5
+<8369>108 451.2 S(mporting function de\214nitions from the shell en)
 -32.5 E(vironment at startup)-.4 E 32.5<8370>108 468 S(arsing the v)
 -32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
 (vironment at startup)-.4 E 32.5<8372>108 484.8 S(edirecting output usi\
@@ -8262,7 +8274,7 @@ ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
 (iltin command to replace the shell with another command).2 E 32.5<8361>
 108 518.4 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E
 F1<ad66>2.5 E F0(and)2.5 E F1<ad64>2.5 E F0(options to the)2.5 E F1
-(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 535.2 S
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8375>108 535.2 S
 (sing the)-32.5 E F1(enable)2.5 E F0 -.2(bu)2.5 G
 (iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373>
 108 552 S(pecifying the)-32.5 E F1<ad70>2.5 E F0(option to the)2.5 E F1
@@ -8272,8 +8284,8 @@ F1<ad66>2.5 E F0(and)2.5 E F1<ad64>2.5 E F0(options to the)2.5 E F1
 (These restrictions are enforced after an)108 585.6 Q 2.5(ys)-.15 G
 (tartup \214les are read.)-2.5 E 1.566
 (When a command that is found to be a shell script is e)108 602.4 R -.15
-(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0
-(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 614.4 Q F0(turns of)
+(xe)-.15 G 1.566(cuted \(see).15 F F3 1.566(COMMAND EXECUTION)4.066 F F0
+(abo)3.816 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 614.4 Q F0(turns of)
 2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15
 E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F5(SEE ALSO)72
 631.2 Q F2(Bash Refer)108 643.2 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)
@@ -8285,7 +8297,7 @@ E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F5(SEE ALSO)72
 (art 2: Shell and Utilities)-.8 E F0 2.5(,I)C(EEE)-2.5 E F2(sh)108 691.2
 Q F0(\(1\),)A F2(ksh)2.5 E F0(\(1\),)A F2(csh)2.5 E F0(\(1\))A F2(emacs)
 108 703.2 Q F0(\(1\),)A F2(vi)2.5 E F0(\(1\))A(GNU Bash-4.2)72 768 Q
-(2010 July 21)148.175 E(70)198.165 E 0 Cg EP
+(2010 September 6)137.625 E(70)187.615 E 0 Cg EP
 %%Page: 71 71
 %%BeginPageSetup
 BP
@@ -8309,20 +8321,20 @@ E F0(The personal initialization \214le, e)144 172.8 Q -.15(xe)-.15 G
 (oundation)-.15 E(bfox@gnu.or)108 285.6 Q(g)-.18 E(Chet Rame)108 302.4 Q
 1.3 -.65(y, C)-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)
 -2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 314.4 Q(y@case.edu)-.15
-E F2 -.11(BU)72 331.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568
+E F2 -.11(BU)72 331.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567
 (If you \214nd a b)108 343.2 R .568(ug in)-.2 F F3(bash,)3.068 E F0 .568
 (you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F
-3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .567(ug, and)-.2
-F 5.625(that it appears in the latest v)108 355.2 R 5.625(ersion of)-.15
-F F3(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
-(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626
+3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .568(ug, and)-.2
+F 5.626(that it appears in the latest v)108 355.2 R 5.625(ersion of)-.15
+F F3(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625
+(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625
 (ilable from).25 F F1(ftp://ftp.gnu.or)108 367.2 Q(g/pub/gnu/bash/)-.37
-E F0(.)A .411(Once you ha)108 384 R .711 -.15(ve d)-.2 H .411
-(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the)
--.15 F F1(bashb)3.18 E(ug)-.2 E F0 .41(command to submit a b)3.13 F .41
-(ug report.)-.2 F(If)5.41 E .594(you ha)108 396 R .894 -.15(ve a \214)
--.2 H .595(x, you are encouraged to mail that as well!).15 F .595
-(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F
+E F0(.)A .41(Once you ha)108 384 R .71 -.15(ve d)-.2 H .41
+(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the)
+-.15 F F1(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F
+.411(ug report.)-.2 F(If)5.411 E .595(you ha)108 396 R .895 -.15
+(ve a \214)-.2 H .595(x, you are encouraged to mail that as well!).15 F
+.594(Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F
 (be mailed to)108 408 Q F1 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
 (or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F3(gnu.bash.b)2.5 E(ug)
 -.2 E F0(.)A(ALL b)108 424.8 Q(ug reports should include:)-.2 E(The v)
@@ -8336,25 +8348,25 @@ G(rcises the b).15 E(ug)-.2 E F1(bashb)108.27 506.4 Q(ug)-.2 E F0
 523.2 Q(ug reports concerning this manual page should be directed to)-.2
 E F1 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E F2 -.11(BU)72 540 S
 (GS).11 E F0(It')108 552 Q 2.5(st)-.55 G(oo big and too slo)-2.5 E -.65
-(w.)-.25 G 1.869(There are some subtle dif)108 568.8 R 1.869
+(w.)-.25 G 1.868(There are some subtle dif)108 568.8 R 1.868
 (ferences between)-.25 F F3(bash)4.369 E F0 1.869(and traditional v)
-4.369 F 1.869(ersions of)-.15 F F3(sh)4.368 E F0 4.368(,m)C 1.868
-(ostly because of the)-4.368 F/F4 9/Times-Bold@0 SF(POSIX)108 580.8 Q F0
+4.369 F 1.869(ersions of)-.15 F F3(sh)4.369 E F0 4.369(,m)C 1.869
+(ostly because of the)-4.369 F/F4 9/Times-Bold@0 SF(POSIX)108 580.8 Q F0
 (speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 597.6 Q
 (Shell b)108 614.4 Q
 (uiltin commands and functions are not stoppable/restartable.)-.2 E
 1.315(Compound commands and command sequences of the form `a ; b ; c' a\
-re not handled gracefully when)108 631.2 R .39
+re not handled gracefully when)108 631.2 R .389
 (process suspension is attempted.)108 643.2 R .389
-(When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15
-G .389(cutes the ne).15 F .389(xt com-)-.15 F .192
-(mand in the sequence.)108 655.2 R .192(It suf)5.192 F .192(\214ces to \
-place the sequence of commands between parentheses to force it into a)
--.25 F(subshell, which may be stopped as a unit.)108 667.2 Q(Array v)108
-684 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
+(When a process is stopped, the shell immediately e)5.389 F -.15(xe)-.15
+G .39(cutes the ne).15 F .39(xt com-)-.15 F .193(mand in the sequence.)
+108 655.2 R .192(It suf)5.193 F .192(\214ces to place the sequence of c\
+ommands between parentheses to force it into a)-.25 F
+(subshell, which may be stopped as a unit.)108 667.2 Q(Array v)108 684 Q
+(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
 (There may be only one acti)108 700.8 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash-4.2)72 768 Q(2010 July 21)148.175 E
-(71)198.165 E 0 Cg EP
+(oprocess at a time.).15 E(GNU Bash-4.2)72 768 Q(2010 September 6)
+137.625 E(71)187.615 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index 623bc45c26605c4c04e972c201568150d8129b6d..95c9c5e8e06d240b28201811390c6c3ee24a65a3 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index 206af535aa4e187e218f62f6ef9a6ea89596a5c3..58549e94c02e485e6f3d1db5b796edf58de0cc01 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on July, 21  2010 by texi2html 1.64 -->
+<!-- Created on October, 25  2010 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -33,10 +33,10 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
 <H1>Bash Reference Manual</H1></P><P>
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 21 July 2010).
+the Bash shell (version 4.2, 20 October 2010).
 </P><P>
 
-This is Edition 4.2, last updated 21 July 2010,
+This is Edition 4.2, last updated 20 October 2010,
 of <CITE>The GNU Bash Reference Manual</CITE>,
 for <CODE>Bash</CODE>, Version 4.2.
 </P><P>
@@ -1518,7 +1518,7 @@ The file descriptors can be utilized as arguments to shell commands
 and redirections using standard word expansions.
 </P><P>
 
-The process id of the shell spawned to execute the coprocess is
+The process ID of the shell spawned to execute the coprocess is
 available as the value of the variable <VAR>NAME</VAR>_PID.
 The <CODE>wait</CODE>
 builtin command may be used to wait for the coprocess to terminate.
@@ -1806,7 +1806,7 @@ In the context where an assignment statement is assigning a value
 to a shell variable or array index (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>), the <SAMP>`+='</SAMP>
 operator can be used to   
 append to or add to the variable's previous value.
-When <SAMP>`+='</SAMP> is applied to a variable for which the integer attribute
+When <SAMP>`+='</SAMP> is applied to a variable for which the <VAR>integer</VAR> attribute
 has been set, <VAR>value</VAR> is evaluated as an arithmetic expression and
 added to the variable's current value, which is also evaluated.
 When <SAMP>`+='</SAMP> is applied to an array variable using compound assignment
@@ -2276,7 +2276,7 @@ Bash uses the value of the variable formed from the rest of
 expanded and that value is used in the rest of the substitution, rather
 than the value of <VAR>parameter</VAR> itself.
 This is known as <CODE>indirect expansion</CODE>.
-The exceptions to this are the expansions of ${!<VAR>prefix*</VAR>}
+The exceptions to this are the expansions of ${!<VAR>prefix</VAR><BR>}
 and ${!<VAR>name</VAR>[@]}
 described below.
 The exclamation point must immediately follow the left brace in order to
@@ -4099,7 +4099,7 @@ invocation if a new set of parameters is to be used.
 When the end of options is encountered, <CODE>getopts</CODE> exits with a
 return value greater than zero.
 <CODE>OPTIND</CODE> is set to the index of the first non-option argument,
-and <CODE>name</CODE> is set to <SAMP>`?'</SAMP>.
+and <VAR>name</VAR> is set to <SAMP>`?'</SAMP>.
 </P><P>
 
 <CODE>getopts</CODE>
@@ -5315,8 +5315,8 @@ parameters, or to display the names and values of shell variables.
 <DL COMPACT>
 <DT><CODE>set</CODE>
 <DD><A NAME="IDX110"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>set [--abefhkmnptuvxBCEHPT] [-o <VAR>option</VAR>] [<VAR>argument</VAR> <small>...</small>]
-set [+abefhkmnptuvxBCEHPT] [+o <VAR>option</VAR>] [<VAR>argument</VAR> <small>...</small>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>set [--abefhkmnptuvxBCEHPT] [-o <VAR>option-name</VAR>] [<VAR>argument</VAR> <small>...</small>]
+set [+abefhkmnptuvxBCEHPT] [+o <VAR>option-name</VAR>] [<VAR>argument</VAR> <small>...</small>]
 </pre></td></tr></table><P>
 
 If no options or arguments are supplied, <CODE>set</CODE> displays the names
@@ -5758,20 +5758,21 @@ easy re-editing of multi-line commands.
 <DT><CODE>compat31</CODE>
 <DD>If set, Bash
 changes its behavior to that of version 3.1 with respect to quoted
-arguments to the conditional command's =~ operator.
+arguments to the conditional command's <SAMP>`=~'</SAMP> operator.
 <P>
 
 <DT><CODE>compat32</CODE>
 <DD>If set, Bash
 changes its behavior to that of version 3.2 with respect to locale-specific
-string comparison when using the conditional command's &#60; and &#62; operators.
+string comparison when using the conditional command's <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP>
+operators.
 <P>
 
 <DT><CODE>compat40</CODE>
 <DD>If set, Bash
 changes its behavior to that of version 4.0 with respect to locale-specific
-string comparison when using the conditional command's &#60; and &#62; operators
-and the effect of interrupting a command list.
+string comparison when using the conditional command's <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP>
+operators and the effect of interrupting a command list.
 <P>
 
 <DT><CODE>compat41</CODE>
@@ -6145,9 +6146,10 @@ words as part of expansion.
 <A NAME="IDX118"></A>
 <DT><CODE>MAIL</CODE>
 <DD><A NAME="IDX119"></A>
-If this parameter is set to a filename and the <CODE>MAILPATH</CODE> variable
+If this parameter is set to a filename or directory name
+and the <CODE>MAILPATH</CODE> variable
 is not set, Bash informs the user of the arrival of mail in
-the specified file.
+the specified file or Maildir-format directory.
 <P>
 
 <A NAME="IDX120"></A>
@@ -6253,7 +6255,7 @@ reading any startup files.  This variable is readonly.
 <A NAME="IDX136"></A>
 <DT><CODE>BASHPID</CODE>
 <DD><A NAME="IDX137"></A>
-Expands to the process id of the current Bash process.
+Expands to the process ID of the current Bash process.
 This differs from <CODE>$$</CODE> under certain circumstances, such as subshells
 that do not require Bash to be re-initialized.
 <P>
@@ -6262,7 +6264,7 @@ that do not require Bash to be re-initialized.
 <DT><CODE>BASH_ALIASES</CODE>
 <DD><A NAME="IDX139"></A>
 An associative array variable whose members correspond to the internal
-list of aliases as maintained by the <CODE>alias</CODE> builtin
+list of aliases as maintained by the <CODE>alias</CODE> builtin.
 (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
 Elements added to this array appear in the alias list; unsetting array
 elements cause aliases to be removed from the alias list.
@@ -6546,7 +6548,7 @@ it is subsequently reset.
 <DD><A NAME="IDX189"></A>
 If Bash finds this variable in the environment when the shell
 starts with value <SAMP>`t'</SAMP>, it assumes that the shell is running in an
-emacs shell buffer and disables line editing.
+Emacs shell buffer and disables line editing.
 <P>
 
 <A NAME="IDX190"></A>
@@ -7486,7 +7488,7 @@ No other startup files are read.
 <P>
 
 Bash attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell
+connected to a network connection, as when executed by the remote shell
 daemon, usually <CODE>rshd</CODE>, or the secure shell daemon <CODE>sshd</CODE>.
 If Bash determines it is being run in
 this fashion, it reads and executes commands from <TT>`~/.bashrc'</TT>, if that
@@ -8062,7 +8064,7 @@ The value of a variable is evaluated as an arithmetic expression
 when it is referenced, or when a variable which has been given the  
 <VAR>integer</VAR> attribute using <SAMP>`declare -i'</SAMP> is assigned a value.
 A null value evaluates to 0.
-A shell variable need not have its integer attribute turned on
+A shell variable need not have its <VAR>integer</VAR> attribute turned on
 to be used in an expression.
 </P><P>
 
@@ -8768,15 +8770,6 @@ redirection errors, variable assignment errors for assignments preceding
 the command name, and so on.
 <P>
 
-<LI>
-If <CODE>CDPATH</CODE> is set, the <CODE>cd</CODE> builtin will not implicitly
-append the current directory to it.  This means that <CODE>cd</CODE> will
-fail if no valid directory name can be constructed from
-any of the entries in <CODE>$CDPATH</CODE>, even if the a directory with
-the same name as the name given as an argument to <CODE>cd</CODE> exists
-in the current directory.
-<P>
-
 <LI>
 A non-interactive shell exits with an error status if a variable
 assignment error occurs when no command name follows the assignment
@@ -8785,6 +8778,12 @@ A variable assignment error occurs, for example, when trying to assign
 a value to a readonly variable.
 <P>
 
+<LI>
+A non-interactive shell exists with an error status if a variable
+assignment error occurs in an assignment statement preceding a special
+builtin, but not with any other simple command.
+<P>
+
 <LI>
 A non-interactive shell exits with an error status if the iteration
 variable in a <CODE>for</CODE> statement or the selection variable in a
@@ -8864,11 +8863,6 @@ does not refer to an existing directory, <CODE>cd</CODE> will fail instead of
 falling back to <VAR>physical</VAR> mode.
 <P>
 
-<LI>
-When the <CODE>pwd</CODE> builtin is supplied the <SAMP>`-P'</SAMP> option, it resets
-<CODE>$PWD</CODE> to a pathname containing no symlinks.
-<P>
-
 <LI>
 The <CODE>pwd</CODE> builtin verifies that the value it prints is the same as the
 current directory, even if it is not asked to check the file system with the
@@ -9322,7 +9316,7 @@ Command line editing is enabled by default when using an interactive shell,
 unless the <SAMP>`--noediting'</SAMP> option is supplied at shell invocation.
 Line editing is also used when using the <SAMP>`-e'</SAMP> option to the
 <CODE>read</CODE> builtin command (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
-By default, the line editing commands are similar to those of emacs.
+By default, the line editing commands are similar to those of Emacs.
 A vi-style line editing interface is also available.
 Line editing can be enabled at any time using the <SAMP>`-o emacs'</SAMP> or
 <SAMP>`-o vi'</SAMP> options to the <CODE>set</CODE> builtin command
@@ -10055,15 +10049,22 @@ supplied by the user in the filename to be completed.
 This variable is <SAMP>`on'</SAMP> by default.
 <P>
 
-<DT><CODE>output-meta</CODE>
+<DT><CODE>menu-complete-display-prefix</CODE>
 <DD><A NAME="IDX342"></A>
+If set to <SAMP>`on'</SAMP>, menu completion displays the common prefix of the
+list of possible completions (which may be empty) before cycling through
+the list.  The default is <SAMP>`off'</SAMP>.
+<P>
+
+<DT><CODE>output-meta</CODE>
+<DD><A NAME="IDX343"></A>
 If set to <SAMP>`on'</SAMP>, Readline will display characters with the
 eighth bit set directly rather than as a meta-prefixed escape
 sequence.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>page-completions</CODE>
-<DD><A NAME="IDX343"></A>
+<DD><A NAME="IDX344"></A>
 If set to <SAMP>`on'</SAMP>, Readline uses an internal <CODE>more</CODE>-like pager
 to display a screenful of possible completions at a time.
 This variable is <SAMP>`on'</SAMP> by default.
@@ -10076,7 +10077,7 @@ The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>revert-all-at-newline</CODE>
-<DD><A NAME="IDX344"></A>
+<DD><A NAME="IDX345"></A>
 If set to <SAMP>`on'</SAMP>, Readline will undo all changes to history lines
 before returning when <CODE>accept-line</CODE> is executed.  By default,
 history lines may be modified and retain individual undo lists across
@@ -10084,7 +10085,7 @@ calls to <CODE>readline</CODE>.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>show-all-if-ambiguous</CODE>
-<DD><A NAME="IDX345"></A>
+<DD><A NAME="IDX346"></A>
 This alters the default behavior of the completion functions.  If
 set to <SAMP>`on'</SAMP>, 
 words which have more than one possible completion cause the
@@ -10093,7 +10094,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>show-all-if-unmodified</CODE>
-<DD><A NAME="IDX346"></A>
+<DD><A NAME="IDX347"></A>
 This alters the default behavior of the completion functions in
 a fashion similar to <VAR>show-all-if-ambiguous</VAR>.
 If set to <SAMP>`on'</SAMP>, 
@@ -10105,7 +10106,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>skip-completed-text</CODE>
-<DD><A NAME="IDX347"></A>
+<DD><A NAME="IDX348"></A>
 If set to <SAMP>`on'</SAMP>, this alters the default completion behavior when
 inserting a single match into the line.  It's only active when
 performing completion in the middle of a word.  If enabled, readline
@@ -10120,7 +10121,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>visible-stats</CODE>
-<DD><A NAME="IDX348"></A>
+<DD><A NAME="IDX349"></A>
 If set to <SAMP>`on'</SAMP>, a character denoting a file's type
 is appended to the filename when listing possible
 completions.  The default is <SAMP>`off'</SAMP>.
@@ -10544,68 +10545,68 @@ The text between the point and mark is referred to as the <EM>region</EM>.
 <H3> 8.4.1 Commands For Moving </H3>
 <!--docid::SEC109::-->
 <DL COMPACT>
-<A NAME="IDX349"></A>
+<A NAME="IDX350"></A>
 <DT><CODE>beginning-of-line (C-a)</CODE>
-<DD><A NAME="IDX350"></A>
+<DD><A NAME="IDX351"></A>
 Move to the start of the current line.
 <P>
 
-<A NAME="IDX351"></A>
+<A NAME="IDX352"></A>
 <DT><CODE>end-of-line (C-e)</CODE>
-<DD><A NAME="IDX352"></A>
+<DD><A NAME="IDX353"></A>
 Move to the end of the line.
 <P>
 
-<A NAME="IDX353"></A>
+<A NAME="IDX354"></A>
 <DT><CODE>forward-char (C-f)</CODE>
-<DD><A NAME="IDX354"></A>
+<DD><A NAME="IDX355"></A>
 Move forward a character.
 <P>
 
-<A NAME="IDX355"></A>
+<A NAME="IDX356"></A>
 <DT><CODE>backward-char (C-b)</CODE>
-<DD><A NAME="IDX356"></A>
+<DD><A NAME="IDX357"></A>
 Move back a character.
 <P>
 
-<A NAME="IDX357"></A>
+<A NAME="IDX358"></A>
 <DT><CODE>forward-word (M-f)</CODE>
-<DD><A NAME="IDX358"></A>
+<DD><A NAME="IDX359"></A>
 Move forward to the end of the next word.
 Words are composed of letters and digits.
 <P>
 
-<A NAME="IDX359"></A>
+<A NAME="IDX360"></A>
 <DT><CODE>backward-word (M-b)</CODE>
-<DD><A NAME="IDX360"></A>
+<DD><A NAME="IDX361"></A>
 Move back to the start of the current or previous word.
 Words are composed of letters and digits.
 <P>
 
-<A NAME="IDX361"></A>
+<A NAME="IDX362"></A>
 <DT><CODE>shell-forward-word ()</CODE>
-<DD><A NAME="IDX362"></A>
+<DD><A NAME="IDX363"></A>
 Move forward to the end of the next word.
 Words are delimited by non-quoted shell metacharacters.
 <P>
 
-<A NAME="IDX363"></A>
+<A NAME="IDX364"></A>
 <DT><CODE>shell-backward-word ()</CODE>
-<DD><A NAME="IDX364"></A>
+<DD><A NAME="IDX365"></A>
 Move back to the start of the current or previous word.
 Words are delimited by non-quoted shell metacharacters.
 <P>
 
-<A NAME="IDX365"></A>
+<A NAME="IDX366"></A>
 <DT><CODE>clear-screen (C-l)</CODE>
-<DD><A NAME="IDX366"></A>
+<DD><A NAME="IDX367"></A>
 Clear the screen and redraw the current line,
 leaving the current line at the top of the screen.
 <P>
 
-<A NAME="IDX367"></A>
+<A NAME="IDX368"></A>
 <DT><CODE>redraw-current-line ()</CODE>
-<DD><A NAME="IDX368"></A>
+<DD><A NAME="IDX369"></A>
 Refresh the current line.  By default, this is unbound.
 <P>
 
@@ -10631,9 +10632,9 @@ Refresh the current line.  By default, this is unbound.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX369"></A>
+<A NAME="IDX370"></A>
 <DT><CODE>accept-line (Newline or Return)</CODE>
-<DD><A NAME="IDX370"></A>
+<DD><A NAME="IDX371"></A>
 Accept the line regardless of where the cursor is.
 If this line is
 non-empty, add it to the history list according to the setting of
@@ -10642,81 +10643,81 @@ If this line is a modified history line, then restore the history line
 to its original state.
 <P>
 
-<A NAME="IDX371"></A>
+<A NAME="IDX372"></A>
 <DT><CODE>previous-history (C-p)</CODE>
-<DD><A NAME="IDX372"></A>
+<DD><A NAME="IDX373"></A>
 Move `back' through the history list, fetching the previous command.
 <P>
 
-<A NAME="IDX373"></A>
+<A NAME="IDX374"></A>
 <DT><CODE>next-history (C-n)</CODE>
-<DD><A NAME="IDX374"></A>
+<DD><A NAME="IDX375"></A>
 Move `forward' through the history list, fetching the next command.
 <P>
 
-<A NAME="IDX375"></A>
+<A NAME="IDX376"></A>
 <DT><CODE>beginning-of-history (M-&#60;)</CODE>
-<DD><A NAME="IDX376"></A>
+<DD><A NAME="IDX377"></A>
 Move to the first line in the history.
 <P>
 
-<A NAME="IDX377"></A>
+<A NAME="IDX378"></A>
 <DT><CODE>end-of-history (M-&#62;)</CODE>
-<DD><A NAME="IDX378"></A>
+<DD><A NAME="IDX379"></A>
 Move to the end of the input history, i.e., the line currently
 being entered.
 <P>
 
-<A NAME="IDX379"></A>
+<A NAME="IDX380"></A>
 <DT><CODE>reverse-search-history (C-r)</CODE>
-<DD><A NAME="IDX380"></A>
+<DD><A NAME="IDX381"></A>
 Search backward starting at the current line and moving `up' through
 the history as necessary.  This is an incremental search.
 <P>
 
-<A NAME="IDX381"></A>
+<A NAME="IDX382"></A>
 <DT><CODE>forward-search-history (C-s)</CODE>
-<DD><A NAME="IDX382"></A>
+<DD><A NAME="IDX383"></A>
 Search forward starting at the current line and moving `down' through
 the the history as necessary.  This is an incremental search.
 <P>
 
-<A NAME="IDX383"></A>
+<A NAME="IDX384"></A>
 <DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
-<DD><A NAME="IDX384"></A>
+<DD><A NAME="IDX385"></A>
 Search backward starting at the current line and moving `up'
 through the history as necessary using a non-incremental search
 for a string supplied by the user.
 <P>
 
-<A NAME="IDX385"></A>
+<A NAME="IDX386"></A>
 <DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
-<DD><A NAME="IDX386"></A>
+<DD><A NAME="IDX387"></A>
 Search forward starting at the current line and moving `down'
 through the the history as necessary using a non-incremental search
 for a string supplied by the user.
 <P>
 
-<A NAME="IDX387"></A>
+<A NAME="IDX388"></A>
 <DT><CODE>history-search-forward ()</CODE>
-<DD><A NAME="IDX388"></A>
+<DD><A NAME="IDX389"></A>
 Search forward through the history for the string of characters
 between the start of the current line and the point.
 This is a non-incremental search.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX389"></A>
+<A NAME="IDX390"></A>
 <DT><CODE>history-search-backward ()</CODE>
-<DD><A NAME="IDX390"></A>
+<DD><A NAME="IDX391"></A>
 Search backward through the history for the string of characters
 between the start of the current line and the point.  This
 is a non-incremental search.  By default, this command is unbound.
 <P>
 
-<A NAME="IDX391"></A>
+<A NAME="IDX392"></A>
 <DT><CODE>yank-nth-arg (M-C-y)</CODE>
-<DD><A NAME="IDX392"></A>
+<DD><A NAME="IDX393"></A>
 Insert the first argument to the previous command (usually
 the second word on the previous line) at point.
 With an argument <VAR>n</VAR>,
@@ -10727,9 +10728,9 @@ Once the argument <VAR>n</VAR> is computed, the argument is extracted
 as if the <SAMP>`!<VAR>n</VAR>'</SAMP> history expansion had been specified.
 <P>
 
-<A NAME="IDX393"></A>
+<A NAME="IDX394"></A>
 <DT><CODE>yank-last-arg (M-. or M-_)</CODE>
-<DD><A NAME="IDX394"></A>
+<DD><A NAME="IDX395"></A>
 Insert last argument to the previous command (the last word of the
 previous history entry).  With an
 argument, behave exactly like <CODE>yank-nth-arg</CODE>.
@@ -10761,46 +10762,46 @@ as if the <SAMP>`!$'</SAMP> history expansion had been specified.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX395"></A>
+<A NAME="IDX396"></A>
 <DT><CODE>delete-char (C-d)</CODE>
-<DD><A NAME="IDX396"></A>
+<DD><A NAME="IDX397"></A>
 Delete the character at point.  If point is at the
 beginning of the line, there are no characters in the line, and
 the last character typed was not bound to <CODE>delete-char</CODE>, then
 return EOF.
 <P>
 
-<A NAME="IDX397"></A>
+<A NAME="IDX398"></A>
 <DT><CODE>backward-delete-char (Rubout)</CODE>
-<DD><A NAME="IDX398"></A>
+<DD><A NAME="IDX399"></A>
 Delete the character behind the cursor.  A numeric argument means
 to kill the characters instead of deleting them.
 <P>
 
-<A NAME="IDX399"></A>
+<A NAME="IDX400"></A>
 <DT><CODE>forward-backward-delete-char ()</CODE>
-<DD><A NAME="IDX400"></A>
+<DD><A NAME="IDX401"></A>
 Delete the character under the cursor, unless the cursor is at the
 end of the line, in which case the character behind the cursor is
 deleted.  By default, this is not bound to a key.
 <P>
 
-<A NAME="IDX401"></A>
+<A NAME="IDX402"></A>
 <DT><CODE>quoted-insert (C-q or C-v)</CODE>
-<DD><A NAME="IDX402"></A>
+<DD><A NAME="IDX403"></A>
 Add the next character typed to the line verbatim.  This is
 how to insert key sequences like <KBD>C-q</KBD>, for example.
 <P>
 
-<A NAME="IDX403"></A>
+<A NAME="IDX404"></A>
 <DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
-<DD><A NAME="IDX404"></A>
+<DD><A NAME="IDX405"></A>
 Insert yourself.
 <P>
 
-<A NAME="IDX405"></A>
+<A NAME="IDX406"></A>
 <DT><CODE>transpose-chars (C-t)</CODE>
-<DD><A NAME="IDX406"></A>
+<DD><A NAME="IDX407"></A>
 Drag the character before the cursor forward over
 the character at the cursor, moving the
 cursor forward as well.  If the insertion point
@@ -10809,39 +10810,39 @@ transposes the last two characters of the line.
 Negative arguments have no effect.
 <P>
 
-<A NAME="IDX407"></A>
+<A NAME="IDX408"></A>
 <DT><CODE>transpose-words (M-t)</CODE>
-<DD><A NAME="IDX408"></A>
+<DD><A NAME="IDX409"></A>
 Drag the word before point past the word after point,
 moving point past that word as well.
 If the insertion point is at the end of the line, this transposes
 the last two words on the line.
 <P>
 
-<A NAME="IDX409"></A>
+<A NAME="IDX410"></A>
 <DT><CODE>upcase-word (M-u)</CODE>
-<DD><A NAME="IDX410"></A>
+<DD><A NAME="IDX411"></A>
 Uppercase the current (or following) word.  With a negative argument,
 uppercase the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX411"></A>
+<A NAME="IDX412"></A>
 <DT><CODE>downcase-word (M-l)</CODE>
-<DD><A NAME="IDX412"></A>
+<DD><A NAME="IDX413"></A>
 Lowercase the current (or following) word.  With a negative argument,
 lowercase the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX413"></A>
+<A NAME="IDX414"></A>
 <DT><CODE>capitalize-word (M-c)</CODE>
-<DD><A NAME="IDX414"></A>
+<DD><A NAME="IDX415"></A>
 Capitalize the current (or following) word.  With a negative argument,
 capitalize the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX415"></A>
+<A NAME="IDX416"></A>
 <DT><CODE>overwrite-mode ()</CODE>
-<DD><A NAME="IDX416"></A>
+<DD><A NAME="IDX417"></A>
 Toggle overwrite mode.  With an explicit positive numeric argument,
 switches to overwrite mode.  With an explicit non-positive numeric
 argument, switches to insert mode.  This command affects only
@@ -10881,121 +10882,121 @@ By default, this command is unbound.
 
 <DL COMPACT>
 
-<A NAME="IDX417"></A>
+<A NAME="IDX418"></A>
 <DT><CODE>kill-line (C-k)</CODE>
-<DD><A NAME="IDX418"></A>
+<DD><A NAME="IDX419"></A>
 Kill the text from point to the end of the line.
 <P>
 
-<A NAME="IDX419"></A>
+<A NAME="IDX420"></A>
 <DT><CODE>backward-kill-line (C-x Rubout)</CODE>
-<DD><A NAME="IDX420"></A>
+<DD><A NAME="IDX421"></A>
 Kill backward to the beginning of the line.
 <P>
 
-<A NAME="IDX421"></A>
+<A NAME="IDX422"></A>
 <DT><CODE>unix-line-discard (C-u)</CODE>
-<DD><A NAME="IDX422"></A>
+<DD><A NAME="IDX423"></A>
 Kill backward from the cursor to the beginning of the current line.
 <P>
 
-<A NAME="IDX423"></A>
+<A NAME="IDX424"></A>
 <DT><CODE>kill-whole-line ()</CODE>
-<DD><A NAME="IDX424"></A>
+<DD><A NAME="IDX425"></A>
 Kill all characters on the current line, no matter where point is.
 By default, this is unbound.
 <P>
 
-<A NAME="IDX425"></A>
+<A NAME="IDX426"></A>
 <DT><CODE>kill-word (M-d)</CODE>
-<DD><A NAME="IDX426"></A>
+<DD><A NAME="IDX427"></A>
 Kill from point to the end of the current word, or if between
 words, to the end of the next word.
 Word boundaries are the same as <CODE>forward-word</CODE>.
 <P>
 
-<A NAME="IDX427"></A>
+<A NAME="IDX428"></A>
 <DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
-<DD><A NAME="IDX428"></A>
+<DD><A NAME="IDX429"></A>
 Kill the word behind point.
 Word boundaries are the same as <CODE>backward-word</CODE>.
 <P>
 
-<A NAME="IDX429"></A>
+<A NAME="IDX430"></A>
 <DT><CODE>shell-kill-word ()</CODE>
-<DD><A NAME="IDX430"></A>
+<DD><A NAME="IDX431"></A>
 Kill from point to the end of the current word, or if between
 words, to the end of the next word.
 Word boundaries are the same as <CODE>shell-forward-word</CODE>.
 <P>
 
-<A NAME="IDX431"></A>
+<A NAME="IDX432"></A>
 <DT><CODE>backward-kill-word ()</CODE>
-<DD><A NAME="IDX432"></A>
+<DD><A NAME="IDX433"></A>
 Kill the word behind point.
 Word boundaries are the same as <CODE>shell-backward-word</CODE>.
 <P>
 
-<A NAME="IDX433"></A>
+<A NAME="IDX434"></A>
 <DT><CODE>unix-word-rubout (C-w)</CODE>
-<DD><A NAME="IDX434"></A>
+<DD><A NAME="IDX435"></A>
 Kill the word behind point, using white space as a word boundary.
 The killed text is saved on the kill-ring.
 <P>
 
-<A NAME="IDX435"></A>
+<A NAME="IDX436"></A>
 <DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX436"></A>
+<DD><A NAME="IDX437"></A>
 Kill the word behind point, using white space and the slash character
 as the word boundaries.
 The killed text is saved on the kill-ring.
 <P>
 
-<A NAME="IDX437"></A>
+<A NAME="IDX438"></A>
 <DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX438"></A>
+<DD><A NAME="IDX439"></A>
 Delete all spaces and tabs around point.  By default, this is unbound.
 <P>
 
-<A NAME="IDX439"></A>
+<A NAME="IDX440"></A>
 <DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX440"></A>
+<DD><A NAME="IDX441"></A>
 Kill the text in the current region.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX441"></A>
+<A NAME="IDX442"></A>
 <DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX442"></A>
+<DD><A NAME="IDX443"></A>
 Copy the text in the region to the kill buffer, so it can be yanked
 right away.  By default, this command is unbound.
 <P>
 
-<A NAME="IDX443"></A>
+<A NAME="IDX444"></A>
 <DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX444"></A>
+<DD><A NAME="IDX445"></A>
 Copy the word before point to the kill buffer.
 The word boundaries are the same as <CODE>backward-word</CODE>.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX445"></A>
+<A NAME="IDX446"></A>
 <DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX446"></A>
+<DD><A NAME="IDX447"></A>
 Copy the word following point to the kill buffer.
 The word boundaries are the same as <CODE>forward-word</CODE>.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX447"></A>
+<A NAME="IDX448"></A>
 <DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX448"></A>
+<DD><A NAME="IDX449"></A>
 Yank the top of the kill ring into the buffer at point.
 <P>
 
-<A NAME="IDX449"></A>
+<A NAME="IDX450"></A>
 <DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX450"></A>
+<DD><A NAME="IDX451"></A>
 Rotate the kill-ring, and yank the new top.  You can only do this if
 the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
 </DL>
@@ -11019,16 +11020,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
 <!--docid::SEC113::-->
 <DL COMPACT>
 
-<A NAME="IDX451"></A>
+<A NAME="IDX452"></A>
 <DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX452"></A>
+<DD><A NAME="IDX453"></A>
 Add this digit to the argument already accumulating, or start a new
 argument.  <KBD>M--</KBD> starts a negative argument.
 <P>
 
-<A NAME="IDX453"></A>
+<A NAME="IDX454"></A>
 <DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX454"></A>
+<DD><A NAME="IDX455"></A>
 This is another way to specify an argument.
 If this command is followed by one or more digits, optionally with a
 leading minus sign, those digits define the argument.
@@ -11063,9 +11064,9 @@ By default, this is not bound to a key.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX455"></A>
+<A NAME="IDX456"></A>
 <DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX456"></A>
+<DD><A NAME="IDX457"></A>
 Attempt to perform completion on the text before point.
 The actual completion performed is application-specific.
 Bash attempts completion treating the text as a variable (if the
@@ -11075,25 +11076,25 @@ command (including aliases and functions) in turn.  If none
 of these produces a match, filename completion is attempted.
 <P>
 
-<A NAME="IDX457"></A>
+<A NAME="IDX458"></A>
 <DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX458"></A>
+<DD><A NAME="IDX459"></A>
 List the possible completions of the text before point.
 When displaying completions, Readline sets the number of columns used
 for display to the value of <CODE>completion-display-width</CODE>, the value of
 the environment variable <CODE>COLUMNS</CODE>, or the screen width, in that order.
 <P>
 
-<A NAME="IDX459"></A>
+<A NAME="IDX460"></A>
 <DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX460"></A>
+<DD><A NAME="IDX461"></A>
 Insert all completions of the text before point that would have
 been generated by <CODE>possible-completions</CODE>.
 <P>
 
-<A NAME="IDX461"></A>
+<A NAME="IDX462"></A>
 <DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX462"></A>
+<DD><A NAME="IDX463"></A>
 Similar to <CODE>complete</CODE>, but replaces the word to be completed
 with a single match from the list of possible completions.
 Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -11108,17 +11109,17 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
 by default.
 <P>
 
-<A NAME="IDX463"></A>
+<A NAME="IDX464"></A>
 <DT><CODE>menu-complete-backward ()</CODE>
-<DD><A NAME="IDX464"></A>
+<DD><A NAME="IDX465"></A>
 Identical to <CODE>menu-complete</CODE>, but moves backward through the list
 of possible completions, as if <CODE>menu-complete</CODE> had been given a
 negative argument.
 <P>
 
-<A NAME="IDX465"></A>
+<A NAME="IDX466"></A>
 <DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX466"></A>
+<DD><A NAME="IDX467"></A>
 Deletes the character under the cursor if not at the beginning or
 end of the line (like <CODE>delete-char</CODE>).
 If at the end of the line, behaves identically to
@@ -11126,64 +11127,64 @@ If at the end of the line, behaves identically to
 This command is unbound by default.
 <P>
 
-<A NAME="IDX467"></A>
+<A NAME="IDX468"></A>
 <DT><CODE>complete-filename (M-/)</CODE>
-<DD><A NAME="IDX468"></A>
+<DD><A NAME="IDX469"></A>
 Attempt filename completion on the text before point.
 <P>
 
-<A NAME="IDX469"></A>
+<A NAME="IDX470"></A>
 <DT><CODE>possible-filename-completions (C-x /)</CODE>
-<DD><A NAME="IDX470"></A>
+<DD><A NAME="IDX471"></A>
 List the possible completions of the text before point,
 treating it as a filename.
 <P>
 
-<A NAME="IDX471"></A>
+<A NAME="IDX472"></A>
 <DT><CODE>complete-username (M-~)</CODE>
-<DD><A NAME="IDX472"></A>
+<DD><A NAME="IDX473"></A>
 Attempt completion on the text before point, treating
 it as a username.
 <P>
 
-<A NAME="IDX473"></A>
+<A NAME="IDX474"></A>
 <DT><CODE>possible-username-completions (C-x ~)</CODE>
-<DD><A NAME="IDX474"></A>
+<DD><A NAME="IDX475"></A>
 List the possible completions of the text before point,
 treating it as a username.
 <P>
 
-<A NAME="IDX475"></A>
+<A NAME="IDX476"></A>
 <DT><CODE>complete-variable (M-$)</CODE>
-<DD><A NAME="IDX476"></A>
+<DD><A NAME="IDX477"></A>
 Attempt completion on the text before point, treating
 it as a shell variable.
 <P>
 
-<A NAME="IDX477"></A>
+<A NAME="IDX478"></A>
 <DT><CODE>possible-variable-completions (C-x $)</CODE>
-<DD><A NAME="IDX478"></A>
+<DD><A NAME="IDX479"></A>
 List the possible completions of the text before point,
 treating it as a shell variable.
 <P>
 
-<A NAME="IDX479"></A>
+<A NAME="IDX480"></A>
 <DT><CODE>complete-hostname (M-@)</CODE>
-<DD><A NAME="IDX480"></A>
+<DD><A NAME="IDX481"></A>
 Attempt completion on the text before point, treating
 it as a hostname.
 <P>
 
-<A NAME="IDX481"></A>
+<A NAME="IDX482"></A>
 <DT><CODE>possible-hostname-completions (C-x @)</CODE>
-<DD><A NAME="IDX482"></A>
+<DD><A NAME="IDX483"></A>
 List the possible completions of the text before point,
 treating it as a hostname.
 <P>
 
-<A NAME="IDX483"></A>
+<A NAME="IDX484"></A>
 <DT><CODE>complete-command (M-!)</CODE>
-<DD><A NAME="IDX484"></A>
+<DD><A NAME="IDX485"></A>
 Attempt completion on the text before point, treating
 it as a command name.  Command completion attempts to
 match the text against aliases, reserved words, shell
@@ -11191,32 +11192,32 @@ functions, shell builtins, and finally executable filenames,
 in that order.
 <P>
 
-<A NAME="IDX485"></A>
+<A NAME="IDX486"></A>
 <DT><CODE>possible-command-completions (C-x !)</CODE>
-<DD><A NAME="IDX486"></A>
+<DD><A NAME="IDX487"></A>
 List the possible completions of the text before point,
 treating it as a command name.
 <P>
 
-<A NAME="IDX487"></A>
+<A NAME="IDX488"></A>
 <DT><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX488"></A>
+<DD><A NAME="IDX489"></A>
 Attempt completion on the text before point, comparing
 the text against lines from the history list for possible
 completion matches.
 <P>
 
-<A NAME="IDX489"></A>
+<A NAME="IDX490"></A>
 <DT><CODE>dabbrev-expand ()</CODE>
-<DD><A NAME="IDX490"></A>
+<DD><A NAME="IDX491"></A>
 Attempt menu completion on the text before point, comparing
 the text against lines from the history list for possible
 completion matches.
 <P>
 
-<A NAME="IDX491"></A>
+<A NAME="IDX492"></A>
 <DT><CODE>complete-into-braces (M-{)</CODE>
-<DD><A NAME="IDX492"></A>
+<DD><A NAME="IDX493"></A>
 Perform filename completion and insert the list of possible completions
 enclosed within braces so the list is available to the shell
 (see section <A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A>).
@@ -11243,22 +11244,22 @@ enclosed within braces so the list is available to the shell
 <!--docid::SEC115::-->
 <DL COMPACT>
 
-<A NAME="IDX493"></A>
+<A NAME="IDX494"></A>
 <DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX494"></A>
+<DD><A NAME="IDX495"></A>
 Begin saving the characters typed into the current keyboard macro.
 <P>
 
-<A NAME="IDX495"></A>
+<A NAME="IDX496"></A>
 <DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX496"></A>
+<DD><A NAME="IDX497"></A>
 Stop saving the characters typed into the current keyboard macro
 and save the definition.
 <P>
 
-<A NAME="IDX497"></A>
+<A NAME="IDX498"></A>
 <DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX498"></A>
+<DD><A NAME="IDX499"></A>
 Re-execute the last keyboard macro defined, by making the characters
 in the macro appear as if typed at the keyboard.
 <P>
@@ -11284,87 +11285,87 @@ in the macro appear as if typed at the keyboard.
 <!--docid::SEC116::-->
 <DL COMPACT>
 
-<A NAME="IDX499"></A>
+<A NAME="IDX500"></A>
 <DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX500"></A>
+<DD><A NAME="IDX501"></A>
 Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
 any bindings or variable assignments found there.
 <P>
 
-<A NAME="IDX501"></A>
+<A NAME="IDX502"></A>
 <DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX502"></A>
+<DD><A NAME="IDX503"></A>
 Abort the current editing command and
 ring the terminal's bell (subject to the setting of
 <CODE>bell-style</CODE>).
 <P>
 
-<A NAME="IDX503"></A>
+<A NAME="IDX504"></A>
 <DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX504"></A>
+<DD><A NAME="IDX505"></A>
 If the metafied character <VAR>x</VAR> is lowercase, run the command
 that is bound to the corresponding uppercase character.
 <P>
 
-<A NAME="IDX505"></A>
+<A NAME="IDX506"></A>
 <DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX506"></A>
+<DD><A NAME="IDX507"></A>
 Metafy the next character typed.  This is for keyboards
 without a meta key.  Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
 <KBD>M-f</KBD>.
 <P>
 
-<A NAME="IDX507"></A>
+<A NAME="IDX508"></A>
 <DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX508"></A>
+<DD><A NAME="IDX509"></A>
 Incremental undo, separately remembered for each line.
 <P>
 
-<A NAME="IDX509"></A>
+<A NAME="IDX510"></A>
 <DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX510"></A>
+<DD><A NAME="IDX511"></A>
 Undo all changes made to this line.  This is like executing the <CODE>undo</CODE>
 command enough times to get back to the beginning.
 <P>
 
-<A NAME="IDX511"></A>
+<A NAME="IDX512"></A>
 <DT><CODE>tilde-expand (M-&#38;)</CODE>
-<DD><A NAME="IDX512"></A>
+<DD><A NAME="IDX513"></A>
 Perform tilde expansion on the current word.
 <P>
 
-<A NAME="IDX513"></A>
+<A NAME="IDX514"></A>
 <DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX514"></A>
+<DD><A NAME="IDX515"></A>
 Set the mark to the point.  If a
 numeric argument is supplied, the mark is set to that position.
 <P>
 
-<A NAME="IDX515"></A>
+<A NAME="IDX516"></A>
 <DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX516"></A>
+<DD><A NAME="IDX517"></A>
 Swap the point with the mark.  The current cursor position is set to
 the saved position, and the old cursor position is saved as the mark.
 <P>
 
-<A NAME="IDX517"></A>
+<A NAME="IDX518"></A>
 <DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX518"></A>
+<DD><A NAME="IDX519"></A>
 A character is read and point is moved to the next occurrence of that
 character.  A negative count searches for previous occurrences.
 <P>
 
-<A NAME="IDX519"></A>
+<A NAME="IDX520"></A>
 <DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX520"></A>
+<DD><A NAME="IDX521"></A>
 A character is read and point is moved to the previous occurrence
 of that character.  A negative count searches for subsequent
 occurrences.
 <P>
 
-<A NAME="IDX521"></A>
+<A NAME="IDX522"></A>
 <DT><CODE>skip-csi-sequence ()</CODE>
-<DD><A NAME="IDX522"></A>
+<DD><A NAME="IDX523"></A>
 Read enough characters to consume a multi-key sequence such as those
 defined for keys like Home and End.  Such sequences begin with a
 Control Sequence Indicator (CSI), usually ESC-[.  If this sequence is
@@ -11374,9 +11375,9 @@ stray characters into the editing buffer.  This is unbound by default,
 but usually bound to ESC-[.
 <P>
 
-<A NAME="IDX523"></A>
+<A NAME="IDX524"></A>
 <DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX524"></A>
+<DD><A NAME="IDX525"></A>
 Without a numeric argument, the value of the <CODE>comment-begin</CODE>
 variable is inserted at the beginning of the current line.
 If a numeric argument is supplied, this command acts as a toggle:  if
@@ -11391,115 +11392,115 @@ If a numeric argument causes the comment character to be removed, the line
 will be executed by the shell.
 <P>
 
-<A NAME="IDX525"></A>
+<A NAME="IDX526"></A>
 <DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX526"></A>
+<DD><A NAME="IDX527"></A>
 Print all of the functions and their key bindings to the
 Readline output stream.  If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an <VAR>inputrc</VAR> file.  This command is unbound by default.
 <P>
 
-<A NAME="IDX527"></A>
+<A NAME="IDX528"></A>
 <DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX528"></A>
+<DD><A NAME="IDX529"></A>
 Print all of the settable variables and their values to the
 Readline output stream.  If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an <VAR>inputrc</VAR> file.  This command is unbound by default.
 <P>
 
-<A NAME="IDX529"></A>
+<A NAME="IDX530"></A>
 <DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX530"></A>
+<DD><A NAME="IDX531"></A>
 Print all of the Readline key sequences bound to macros and the
 strings they output.  If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an <VAR>inputrc</VAR> file.  This command is unbound by default.
 <P>
 
-<A NAME="IDX531"></A>
+<A NAME="IDX532"></A>
 <DT><CODE>glob-complete-word (M-g)</CODE>
-<DD><A NAME="IDX532"></A>
+<DD><A NAME="IDX533"></A>
 The word before point is treated as a pattern for pathname expansion,
 with an asterisk implicitly appended.  This pattern is used to
 generate a list of matching file names for possible completions.
 <P>
 
-<A NAME="IDX533"></A>
+<A NAME="IDX534"></A>
 <DT><CODE>glob-expand-word (C-x *)</CODE>
-<DD><A NAME="IDX534"></A>
+<DD><A NAME="IDX535"></A>
 The word before point is treated as a pattern for pathname expansion,
 and the list of matching file names is inserted, replacing the word.
 If a numeric argument is supplied, a <SAMP>`*'</SAMP> is appended before
 pathname expansion.
 <P>
 
-<A NAME="IDX535"></A>
+<A NAME="IDX536"></A>
 <DT><CODE>glob-list-expansions (C-x g)</CODE>
-<DD><A NAME="IDX536"></A>
+<DD><A NAME="IDX537"></A>
 The list of expansions that would have been generated by
 <CODE>glob-expand-word</CODE> is displayed, and the line is redrawn.
 If a numeric argument is supplied, a <SAMP>`*'</SAMP> is appended before
 pathname expansion.
 <P>
 
-<A NAME="IDX537"></A>
+<A NAME="IDX538"></A>
 <DT><CODE>display-shell-version (C-x C-v)</CODE>
-<DD><A NAME="IDX538"></A>
+<DD><A NAME="IDX539"></A>
 Display version information about the current instance of Bash.
 <P>
 
-<A NAME="IDX539"></A>
+<A NAME="IDX540"></A>
 <DT><CODE>shell-expand-line (M-C-e)</CODE>
-<DD><A NAME="IDX540"></A>
+<DD><A NAME="IDX541"></A>
 Expand the line as the shell does.
 This performs alias and history expansion as well as all of the shell
 word expansions (see section <A HREF="bashref.html#SEC29">3.5 Shell Expansions</A>).
 <P>
 
-<A NAME="IDX541"></A>
+<A NAME="IDX542"></A>
 <DT><CODE>history-expand-line (M-^)</CODE>
-<DD><A NAME="IDX542"></A>
+<DD><A NAME="IDX543"></A>
 Perform history expansion on the current line.
 <P>
 
-<A NAME="IDX543"></A>
+<A NAME="IDX544"></A>
 <DT><CODE>magic-space ()</CODE>
-<DD><A NAME="IDX544"></A>
+<DD><A NAME="IDX545"></A>
 Perform history expansion on the current line and insert a space
 (see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>).
 <P>
 
-<A NAME="IDX545"></A>
+<A NAME="IDX546"></A>
 <DT><CODE>alias-expand-line ()</CODE>
-<DD><A NAME="IDX546"></A>
+<DD><A NAME="IDX547"></A>
 Perform alias expansion on the current line (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>).
 <P>
 
-<A NAME="IDX547"></A>
+<A NAME="IDX548"></A>
 <DT><CODE>history-and-alias-expand-line ()</CODE>
-<DD><A NAME="IDX548"></A>
+<DD><A NAME="IDX549"></A>
 Perform history and alias expansion on the current line.
 <P>
 
-<A NAME="IDX549"></A>
+<A NAME="IDX550"></A>
 <DT><CODE>insert-last-argument (M-. or M-_)</CODE>
-<DD><A NAME="IDX550"></A>
+<DD><A NAME="IDX551"></A>
 A synonym for <CODE>yank-last-arg</CODE>.
 <P>
 
-<A NAME="IDX551"></A>
+<A NAME="IDX552"></A>
 <DT><CODE>operate-and-get-next (C-o)</CODE>
-<DD><A NAME="IDX552"></A>
+<DD><A NAME="IDX553"></A>
 Accept the current line for execution and fetch the next line
 relative to the current line from the history for editing.  Any
 argument is ignored.
 <P>
 
-<A NAME="IDX553"></A>
+<A NAME="IDX554"></A>
 <DT><CODE>edit-and-execute-command (C-xC-e)</CODE>
-<DD><A NAME="IDX554"></A>
+<DD><A NAME="IDX555"></A>
 Invoke an editor on the current command line, and execute the result as shell
 commands.
 Bash attempts to invoke
@@ -11750,7 +11751,7 @@ facilities.
 
 <DL COMPACT>
 <DT><CODE>compgen</CODE>
-<DD><A NAME="IDX555"></A>
+<DD><A NAME="IDX556"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compgen [<VAR>option</VAR>] [<VAR>word</VAR>]</CODE>
 </pre></td></tr></table><P>
 
@@ -11776,7 +11777,7 @@ matches were generated.
 </P><P>
 
 <DT><CODE>complete</CODE>
-<DD><A NAME="IDX556"></A>
+<DD><A NAME="IDX557"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>complete [-abcdefgjksuv] [-o <VAR>comp-option</VAR>] [-DE] [-A <VAR>action</VAR>] [-G <VAR>globpat</VAR>] [-W <VAR>wordlist</VAR>]
 [-F <VAR>function</VAR>] [-C <VAR>command</VAR>] [-X <VAR>filterpat</VAR>]
 [-P <VAR>prefix</VAR>] [-S <VAR>suffix</VAR>] <VAR>name</VAR> [<VAR>name</VAR> <small>...</small>]</CODE>
@@ -12014,7 +12015,7 @@ an error occurs adding a completion specification.
 </P><P>
 
 <DT><CODE>compopt</CODE>
-<DD><A NAME="IDX557"></A>
+<DD><A NAME="IDX558"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compopt</CODE> [-o <VAR>option</VAR>] [-DE] [+o <VAR>option</VAR>] [<VAR>name</VAR>]
 </pre></td></tr></table>Modify completion options for each <VAR>name</VAR> according to the
 <VAR>option</VAR>s, or for the currently-executing completion if no <VAR>name</VAR>s
@@ -12042,7 +12043,7 @@ specification exists, or an output error occurs.
 </DL>
 <P>
 
-<A NAME="IDX558"></A>
+<A NAME="IDX559"></A>
 </P><P>
 
 <A NAME="Using History Interactively"></A>
@@ -12187,7 +12188,7 @@ history list and history file.
 <DL COMPACT>
 
 <DT><CODE>fc</CODE>
-<DD><A NAME="IDX559"></A>
+<DD><A NAME="IDX560"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>fc [-e <VAR>ename</VAR>] [-lnr] [<VAR>first</VAR>] [<VAR>last</VAR>]</CODE>
 <CODE>fc -s [<VAR>pat</VAR>=<VAR>rep</VAR>] [<VAR>command</VAR>]</CODE>
 </pre></td></tr></table><P>
@@ -12221,7 +12222,7 @@ and typing <SAMP>`r'</SAMP> re-executes the last command (see section <A HREF="b
 </P><P>
 
 <DT><CODE>history</CODE>
-<DD><A NAME="IDX560"></A>
+<DD><A NAME="IDX561"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>history [<VAR>n</VAR>]
 history -c
 history -d <VAR>offset</VAR>
@@ -12394,7 +12395,9 @@ writing the history file.
 
 An event designator is a reference to a command line entry in the
 history list.
-<A NAME="IDX561"></A>
+Unless the reference is absolute, events are relative to the current
+position in the history list.
+<A NAME="IDX562"></A>
 </P><P>
 
 <DL COMPACT>
@@ -12418,11 +12421,16 @@ the end of the line, <SAMP>`='</SAMP> or <SAMP>`('</SAMP> (when the
 <P>
 
 <DT><CODE>!<VAR>string</VAR></CODE>
-<DD>Refer to the most recent command starting with <VAR>string</VAR>.
+<DD>Refer to the most recent command
+preceding the current position in the history list
+starting with <VAR>string</VAR>.
 <P>
 
 <DT><CODE>!?<VAR>string</VAR>[?]</CODE>
-<DD>Refer to the most recent command containing <VAR>string</VAR>.  The trailing
+<DD>Refer to the most recent command
+preceding the current position in the history list
+containing <VAR>string</VAR>.
+The trailing
 <SAMP>`?'</SAMP> may be omitted if the <VAR>string</VAR> is followed immediately by
 a newline.
 <P>
@@ -14661,9 +14669,9 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX92"><CODE>caller</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX71"><CODE>cd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX93"><CODE>command</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX555"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX556"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX557"><CODE>compopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX556"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX557"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX558"><CODE>compopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX72"><CODE>continue</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_D"></A>D</TH><TD></TD><TD></TD></TR>
@@ -14680,7 +14688,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX76"><CODE>export</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX559"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX560"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_G"></A>G</TH><TD></TD><TD></TD></TR>
@@ -14689,7 +14697,7 @@ to permit their use in free software.
 <TR><TH><A NAME="bt_H"></A>H</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX78"><CODE>hash</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX97"><CODE>help</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX560"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX561"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_J"></A>J</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
@@ -15207,6 +15215,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>menu-complete-display-prefix</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_O"></A>O</TH><TD></TD><TD></TD></TR>
@@ -15220,10 +15229,10 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX125"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX258"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX259"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX126"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX127"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX260"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
@@ -15256,7 +15265,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>READLINE_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX282"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>revert-all-at-newline</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>revert-all-at-newline</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_S"></A>S</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX284"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
@@ -15267,9 +15276,9 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX289"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX291"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>skip-completed-text</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>skip-completed-text</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_T"></A>T</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX22"><CODE>TEXTDOMAIN</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
@@ -15286,7 +15295,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_V"></A>V</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 </TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#vr_!" style="text-decoration:none"><b>!</b></A>
  &nbsp; 
@@ -15408,250 +15417,250 @@ to permit their use in free software.
 <TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX370"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX545"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX546"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX547"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX517"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX518"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX519"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX519"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX520"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX521"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX484"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX492"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX452"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX537"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX538"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX539"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX504"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX412"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX525"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX526"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX529"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX527"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX530"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX527"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX531"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX528"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX529"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX553"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX554"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX555"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX515"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX516"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX517"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_G"></A>G</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX531"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX532"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX533"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX533"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX534"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX535"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX535"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX536"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX537"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX547"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX548"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX541"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX549"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX542"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX543"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_I"></A>I</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX523"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX524"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX525"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX460"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX549"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX550"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX551"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX543"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX544"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX545"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX462"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX464"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_N"></A>N</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX386"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_O"></A>O</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX551"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX552"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX553"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX470"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX474"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX372"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_Q"></A>Q</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX368"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX510"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX511"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX513"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX514"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX515"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX539"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX540"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX541"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX521"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX522"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX523"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_T"></A>T</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX511"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX512"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX513"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX508"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX448"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 </TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#fn_A" style="text-decoration:none"><b>A</b></A>
  &nbsp; 
@@ -15826,10 +15835,10 @@ to permit their use in free software.
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_H"></A>H</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC122">history builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX561">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC124">9.3.1 Event Designators</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX562">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC124">9.3.1 Event Designators</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC123">history expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC123">9.3 History Expansion</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC121">history list</A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX558">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX559">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_I"></A>I</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX11">identifier</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
@@ -16357,7 +16366,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>July, 21  2010</I>
+This document was generated by <I>Chet Ramey</I> on <I>October, 25  2010</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -16519,7 +16528,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>July, 21  2010</I>
+by <I>Chet Ramey</I> on <I>October, 25  2010</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 39d9821271d018d2daccd995123027297e6edbf0..59245f9a1ea3b14d2f9030245fab3f21647d5830 100644 (file)
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 4.13 from
 /Users/chet/src/bash/src/doc/bashref.texi.
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 21 July 2010).
+the Bash shell (version 4.2, 20 October 2010).
 
-   This is Edition 4.2, last updated 21 July 2010, of `The GNU Bash
+   This is Edition 4.2, last updated 20 October 2010, of `The GNU Bash
 Reference Manual', for `Bash', Version 4.2.
 
    Copyright (C) 1988-2010 Free Software Foundation, Inc.
@@ -38,9 +38,9 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 21 July 2010).
+the Bash shell (version 4.2, 20 October 2010).
 
-   This is Edition 4.2, last updated 21 July 2010, of `The GNU Bash
+   This is Edition 4.2, last updated 20 October 2010, of `The GNU Bash
 Reference Manual', for `Bash', Version 4.2.
 
    Bash contains features that appear in other popular shells, and some
@@ -994,7 +994,7 @@ by the command (*note Redirections::).  The file descriptors can be
 utilized as arguments to shell commands and redirections using standard
 word expansions.
 
-   The process id of the shell spawned to execute the coprocess is
+   The process ID of the shell spawned to execute the coprocess is
 available as the value of the variable NAME_PID.  The `wait' builtin
 command may be used to wait for the coprocess to terminate.
 
@@ -1193,7 +1193,7 @@ and `local' builtin commands.
    In the context where an assignment statement is assigning a value to
 a shell variable or array index (*note Arrays::), the `+=' operator can
 be used to append to or add to the variable's previous value.  When
-`+=' is applied to a variable for which the integer attribute has been
+`+=' is applied to a variable for which the INTEGER attribute has been
 set, VALUE is evaluated as an arithmetic expression and added to the
 variable's current value, which is also evaluated.  When `+=' is
 applied to an array variable using compound assignment (*note
@@ -1496,9 +1496,9 @@ the variable formed from the rest of PARAMETER as the name of the
 variable; this variable is then expanded and that value is used in the
 rest of the substitution, rather than the value of PARAMETER itself.
 This is known as `indirect expansion'.  The exceptions to this are the
-expansions of ${!PREFIX*} and ${!NAME[@]} described below.  The
-exclamation point must immediately follow the left brace in order to
-introduce indirection.
+expansions of ${!PREFIX
+} and ${!NAME[@]} described below.  The exclamation point must
+immediately follow the left brace in order to introduce indirection.
 
    In each of the cases below, WORD is subject to tilde expansion,
 parameter expansion, command substitution, and arithmetic expansion.
@@ -2637,7 +2637,7 @@ standard.
 
      When the end of options is encountered, `getopts' exits with a
      return value greater than zero.  `OPTIND' is set to the index of
-     the first non-option argument, and `name' is set to `?'.
+     the first non-option argument, and NAME is set to `?'.
 
      `getopts' normally parses the positional parameters, but if more
      arguments are given in ARGS, `getopts' parses those instead.
@@ -3568,8 +3568,8 @@ allows you to change the values of shell options and set the positional
 parameters, or to display the names and values of shell variables.
 
 `set'
-          set [--abefhkmnptuvxBCEHPT] [-o OPTION] [ARGUMENT ...]
-          set [+abefhkmnptuvxBCEHPT] [+o OPTION] [ARGUMENT ...]
+          set [--abefhkmnptuvxBCEHPT] [-o OPTION-NAME] [ARGUMENT ...]
+          set [+abefhkmnptuvxBCEHPT] [+o OPTION-NAME] [ARGUMENT ...]
 
      If no options or arguments are supplied, `set' displays the names
      and values of all shell variables and functions, sorted according
@@ -3911,18 +3911,18 @@ This builtin allows you to change additional shell optional behavior.
 
     `compat31'
           If set, Bash changes its behavior to that of version 3.1 with
-          respect to quoted arguments to the conditional command's =~
+          respect to quoted arguments to the conditional command's `=~'
           operator.
 
     `compat32'
           If set, Bash changes its behavior to that of version 3.2 with
           respect to locale-specific string comparison when using the
-          conditional command's < and > operators.
+          conditional command's `<' and `>' operators.
 
     `compat40'
           If set, Bash changes its behavior to that of version 4.0 with
           respect to locale-specific string comparison when using the
-          conditional command's < and > operators and the effect of
+          conditional command's `<' and `>' operators and the effect of
           interrupting a command list.
 
     `compat41'
@@ -4183,9 +4183,9 @@ In some cases, Bash assigns a default value to the variable.
      splits words as part of expansion.
 
 `MAIL'
-     If this parameter is set to a filename and the `MAILPATH' variable
-     is not set, Bash informs the user of the arrival of mail in the
-     specified file.
+     If this parameter is set to a filename or directory name and the
+     `MAILPATH' variable is not set, Bash informs the user of the
+     arrival of mail in the specified file or Maildir-format directory.
 
 `MAILPATH'
      A colon-separated list of filenames which the shell periodically
@@ -4243,13 +4243,13 @@ Variables::).
      startup files.  This variable is readonly.
 
 `BASHPID'
-     Expands to the process id of the current Bash process.  This
+     Expands to the process ID of the current Bash process.  This
      differs from `$$' under certain circumstances, such as subshells
      that do not require Bash to be re-initialized.
 
 `BASH_ALIASES'
      An associative array variable whose members correspond to the
-     internal list of aliases as maintained by the `alias' builtin
+     internal list of aliases as maintained by the `alias' builtin.
      (*note Bourne Shell Builtins::).  Elements added to this array
      appear in the alias list; unsetting array elements cause aliases
      to be removed from the alias list.
@@ -4434,7 +4434,7 @@ Variables::).
 `EMACS'
      If Bash finds this variable in the environment when the shell
      starts with value `t', it assumes that the shell is running in an
-     emacs shell buffer and disables line editing.
+     Emacs shell buffer and disables line editing.
 
 `ENV'
      Similar to `BASH_ENV'; used when the shell is invoked in POSIX
@@ -5064,14 +5064,14 @@ Invoked by remote shell daemon
 ..............................
 
 Bash attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell daemon,
-usually `rshd', or the secure shell daemon `sshd'.  If Bash determines
-it is being run in this fashion, it reads and executes commands from
-`~/.bashrc', if that file exists and is readable.  It will not do this
-if invoked as `sh'.  The `--norc' option may be used to inhibit this
-behavior, and the `--rcfile' option may be used to force another file
-to be read, but `rshd' does not generally invoke the shell with those
-options or allow them to be specified.
+connected to a network connection, as when executed by the remote shell
+daemon, usually `rshd', or the secure shell daemon `sshd'.  If Bash
+determines it is being run in this fashion, it reads and executes
+commands from `~/.bashrc', if that file exists and is readable.  It
+will not do this if invoked as `sh'.  The `--norc' option may be used
+to inhibit this behavior, and the `--rcfile' option may be used to
+force another file to be read, but `rshd' does not generally invoke the
+shell with those options or allow them to be specified.
 
 Invoked with unequal effective and real UID/GIDs
 ................................................
@@ -5436,7 +5436,7 @@ expansion syntax.  The value of a variable is evaluated as an
 arithmetic expression when it is referenced, or when a variable which
 has been given the INTEGER attribute using `declare -i' is assigned a
 value.  A null value evaluates to 0.  A shell variable need not have
-its integer attribute turned on to be used in an expression.
+its INTEGER attribute turned on to be used in an expression.
 
    Constants with a leading 0 are interpreted as octal numbers.  A
 leading `0x' or `0X' denotes hexadecimal.  Otherwise, numbers take the
@@ -5954,17 +5954,15 @@ startup files.
      options, redirection errors, variable assignment errors for
      assignments preceding the command name, and so on.
 
- 23. If `CDPATH' is set, the `cd' builtin will not implicitly append
-     the current directory to it.  This means that `cd' will fail if no
-     valid directory name can be constructed from any of the entries in
-     `$CDPATH', even if the a directory with the same name as the name
-     given as an argument to `cd' exists in the current directory.
-
- 24. A non-interactive shell exits with an error status if a variable
+ 23. A non-interactive shell exits with an error status if a variable
      assignment error occurs when no command name follows the assignment
      statements.  A variable assignment error occurs, for example, when
      trying to assign a value to a readonly variable.
 
+ 24. A non-interactive shell exists with an error status if a variable
+     assignment error occurs in an assignment statement preceding a
+     special builtin, but not with any other simple command.
+
  25. A non-interactive shell exits with an error status if the iteration
      variable in a `for' statement or the selection variable in a
      `select' statement is a readonly variable.
@@ -6015,35 +6013,32 @@ startup files.
      argument does not refer to an existing directory, `cd' will fail
      instead of falling back to PHYSICAL mode.
 
- 39. When the `pwd' builtin is supplied the `-P' option, it resets
-     `$PWD' to a pathname containing no symlinks.
-
- 40. The `pwd' builtin verifies that the value it prints is the same as
+ 39. The `pwd' builtin verifies that the value it prints is the same as
      the current directory, even if it is not asked to check the file
      system with the `-P' option.
 
- 41. When listing the history, the `fc' builtin does not include an
+ 40. When listing the history, the `fc' builtin does not include an
      indication of whether or not a history entry has been modified.
 
- 42. The default editor used by `fc' is `ed'.
+ 41. The default editor used by `fc' is `ed'.
 
- 43. The `type' and `command' builtins will not report a non-executable
+ 42. The `type' and `command' builtins will not report a non-executable
      file as having been found, though the shell will attempt to
      execute such a file if it is the only so-named file found in
      `$PATH'.
 
- 44. The `vi' editing mode will invoke the `vi' editor directly when
+ 43. The `vi' editing mode will invoke the `vi' editor directly when
      the `v' command is run, instead of checking `$VISUAL' and
      `$EDITOR'.
 
- 45. When the `xpg_echo' option is enabled, Bash does not attempt to
+ 44. When the `xpg_echo' option is enabled, Bash does not attempt to
      interpret any arguments to `echo' as options.  Each argument is
      displayed, after escape characters are converted.
 
- 46. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
+ 45. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
      and `-f' options.
 
- 47. The arrival of `SIGCHLD'  when a trap is set on `SIGCHLD' does not
+ 46. The arrival of `SIGCHLD'  when a trap is set on `SIGCHLD' does not
      interrupt the `wait' builtin and cause it to return immediately.
      The trap command is run once for each child that exits.
 
@@ -6308,7 +6303,7 @@ Command line editing is enabled by default when using an interactive
 shell, unless the `--noediting' option is supplied at shell invocation.
 Line editing is also used when using the `-e' option to the `read'
 builtin command (*note Bash Builtins::).  By default, the line editing
-commands are similar to those of emacs.  A vi-style line editing
+commands are similar to those of Emacs.  A vi-style line editing
 interface is also available.  Line editing can be enabled at any time
 using the `-o emacs' or `-o vi' options to the `set' builtin command
 (*note The Set Builtin::), or disabled using the `+o emacs' or `+o vi'
@@ -6802,6 +6797,11 @@ Variable Settings
           `.' must be supplied by the user in the filename to be
           completed.  This variable is `on' by default.
 
+    `menu-complete-display-prefix'
+          If set to `on', menu completion displays the common prefix of
+          the list of possible completions (which may be empty) before
+          cycling through the list.  The default is `off'.
+
     `output-meta'
           If set to `on', Readline will display characters with the
           eighth bit set directly rather than as a meta-prefixed escape
@@ -8341,7 +8341,8 @@ File: bashref.info,  Node: Event Designators,  Next: Word Designators,  Up: Hist
 -----------------------
 
 An event designator is a reference to a command line entry in the
-history list.  
+history list.  Unless the reference is absolute, events are relative to
+the current position in the history list.  
 
 `!'
      Start a history substitution, except when followed by a space, tab,
@@ -8358,12 +8359,13 @@ history list.
      Refer to the previous command.  This is a synonym for `!-1'.
 
 `!STRING'
-     Refer to the most recent command starting with STRING.
+     Refer to the most recent command preceding the current position in
+     the history list starting with STRING.
 
 `!?STRING[?]'
-     Refer to the most recent command containing STRING.  The trailing
-     `?' may be omitted if the STRING is followed immediately by a
-     newline.
+     Refer to the most recent command preceding the current position in
+     the history list containing STRING.  The trailing `?' may be
+     omitted if the STRING is followed immediately by a newline.
 
 `^STRING1^STRING2^'
      Quick Substitution.  Repeat the last command, replacing STRING1
@@ -10137,6 +10139,8 @@ D.3 Parameter and Variable Index
                                                               (line 177)
 * match-hidden-files:                    Readline Init File Syntax.
                                                               (line 182)
+* menu-complete-display-prefix:          Readline Init File Syntax.
+                                                              (line 189)
 * meta-flag:                             Readline Init File Syntax.
                                                               (line 145)
 * OLDPWD:                                Bash Variables.      (line 436)
@@ -10147,9 +10151,9 @@ D.3 Parameter and Variable Index
                                                               (line  38)
 * OSTYPE:                                Bash Variables.      (line 443)
 * output-meta:                           Readline Init File Syntax.
-                                                              (line 189)
-* page-completions:                      Readline Init File Syntax.
                                                               (line 194)
+* page-completions:                      Readline Init File Syntax.
+                                                              (line 199)
 * PATH:                                  Bourne Shell Variables.
                                                               (line  42)
 * PIPESTATUS:                            Bash Variables.      (line 446)
@@ -10169,17 +10173,17 @@ D.3 Parameter and Variable Index
 * READLINE_POINT:                        Bash Variables.      (line 497)
 * REPLY:                                 Bash Variables.      (line 501)
 * revert-all-at-newline:                 Readline Init File Syntax.
-                                                              (line 204)
+                                                              (line 209)
 * SECONDS:                               Bash Variables.      (line 504)
 * SHELL:                                 Bash Variables.      (line 510)
 * SHELLOPTS:                             Bash Variables.      (line 515)
 * SHLVL:                                 Bash Variables.      (line 524)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
-                                                              (line 210)
+                                                              (line 215)
 * show-all-if-unmodified:                Readline Init File Syntax.
-                                                              (line 216)
+                                                              (line 221)
 * skip-completed-text:                   Readline Init File Syntax.
-                                                              (line 225)
+                                                              (line 230)
 * TEXTDOMAIN:                            Locale Translation.  (line  11)
 * TEXTDOMAINDIR:                         Locale Translation.  (line  11)
 * TIMEFORMAT:                            Bash Variables.      (line 529)
@@ -10187,7 +10191,7 @@ D.3 Parameter and Variable Index
 * TMPDIR:                                Bash Variables.      (line 579)
 * UID:                                   Bash Variables.      (line 583)
 * visible-stats:                         Readline Init File Syntax.
-                                                              (line 238)
+                                                              (line 243)
 
 \1f
 File: bashref.info,  Node: Function Index,  Next: Concept Index,  Prev: Variable Index,  Up: Indexes
@@ -10374,7 +10378,7 @@ D.5 Concept Index
 * functions, shell:                      Shell Functions.     (line   6)
 * history builtins:                      Bash History Builtins.
                                                               (line   6)
-* history events:                        Event Designators.   (line   7)
+* history events:                        Event Designators.   (line   8)
 * history expansion:                     History Interaction. (line   6)
 * history list:                          Bash History Facilities.
                                                               (line   6)
@@ -10456,133 +10460,133 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f1338
-Node: Introduction\7f3169
-Node: What is Bash?\7f3397
-Node: What is a shell?\7f4510
-Node: Definitions\7f7050
-Node: Basic Shell Features\7f9968
-Node: Shell Syntax\7f11187
-Node: Shell Operation\7f12217
-Node: Quoting\7f13511
-Node: Escape Character\7f14814
-Node: Single Quotes\7f15299
-Node: Double Quotes\7f15647
-Node: ANSI-C Quoting\7f16772
-Node: Locale Translation\7f18016
-Node: Comments\7f18912
-Node: Shell Commands\7f19530
-Node: Simple Commands\7f20402
-Node: Pipelines\7f21033
-Node: Lists\7f23727
-Node: Compound Commands\7f25456
-Node: Looping Constructs\7f26260
-Node: Conditional Constructs\7f28719
-Node: Command Grouping\7f36832
-Node: Coprocesses\7f38311
-Node: GNU Parallel\7f39976
-Node: Shell Functions\7f42444
-Node: Shell Parameters\7f47388
-Node: Positional Parameters\7f49804
-Node: Special Parameters\7f50704
-Node: Shell Expansions\7f53668
-Node: Brace Expansion\7f55593
-Node: Tilde Expansion\7f58348
-Node: Shell Parameter Expansion\7f60699
-Node: Command Substitution\7f69834
-Node: Arithmetic Expansion\7f71167
-Node: Process Substitution\7f72017
-Node: Word Splitting\7f73067
-Node: Filename Expansion\7f74690
-Node: Pattern Matching\7f76829
-Node: Quote Removal\7f80468
-Node: Redirections\7f80763
-Node: Executing Commands\7f89288
-Node: Simple Command Expansion\7f89958
-Node: Command Search and Execution\7f91888
-Node: Command Execution Environment\7f94225
-Node: Environment\7f97211
-Node: Exit Status\7f98871
-Node: Signals\7f100492
-Node: Shell Scripts\7f102460
-Node: Shell Builtin Commands\7f104978
-Node: Bourne Shell Builtins\7f107006
-Node: Bash Builtins\7f124684
-Node: Modifying Shell Behavior\7f150898
-Node: The Set Builtin\7f151243
-Node: The Shopt Builtin\7f160767
-Node: Special Builtins\7f172722
-Node: Shell Variables\7f173701
-Node: Bourne Shell Variables\7f174141
-Node: Bash Variables\7f176122
-Node: Bash Features\7f201046
-Node: Invoking Bash\7f201929
-Node: Bash Startup Files\7f207693
-Node: Interactive Shells\7f212705
-Node: What is an Interactive Shell?\7f213115
-Node: Is this Shell Interactive?\7f213764
-Node: Interactive Shell Behavior\7f214579
-Node: Bash Conditional Expressions\7f217859
-Node: Shell Arithmetic\7f221607
-Node: Aliases\7f224366
-Node: Arrays\7f226938
-Node: The Directory Stack\7f231053
-Node: Directory Stack Builtins\7f231767
-Node: Printing a Prompt\7f234659
-Node: The Restricted Shell\7f237411
-Node: Bash POSIX Mode\7f239243
-Node: Job Control\7f248173
-Node: Job Control Basics\7f248633
-Node: Job Control Builtins\7f253350
-Node: Job Control Variables\7f257714
-Node: Command Line Editing\7f258872
-Node: Introduction and Notation\7f260439
-Node: Readline Interaction\7f262061
-Node: Readline Bare Essentials\7f263252
-Node: Readline Movement Commands\7f265041
-Node: Readline Killing Commands\7f266006
-Node: Readline Arguments\7f267926
-Node: Searching\7f268970
-Node: Readline Init File\7f271156
-Node: Readline Init File Syntax\7f272303
-Node: Conditional Init Constructs\7f287407
-Node: Sample Init File\7f289940
-Node: Bindable Readline Commands\7f293057
-Node: Commands For Moving\7f294264
-Node: Commands For History\7f295408
-Node: Commands For Text\7f298563
-Node: Commands For Killing\7f301236
-Node: Numeric Arguments\7f303687
-Node: Commands For Completion\7f304826
-Node: Keyboard Macros\7f309018
-Node: Miscellaneous Commands\7f309589
-Node: Readline vi Mode\7f315395
-Node: Programmable Completion\7f316302
-Node: Programmable Completion Builtins\7f323512
-Node: Using History Interactively\7f332648
-Node: Bash History Facilities\7f333332
-Node: Bash History Builtins\7f336246
-Node: History Interaction\7f340103
-Node: Event Designators\7f342808
-Node: Word Designators\7f343823
-Node: Modifiers\7f345462
-Node: Installing Bash\7f346866
-Node: Basic Installation\7f348003
-Node: Compilers and Options\7f350695
-Node: Compiling For Multiple Architectures\7f351436
-Node: Installation Names\7f353100
-Node: Specifying the System Type\7f353918
-Node: Sharing Defaults\7f354634
-Node: Operation Controls\7f355307
-Node: Optional Features\7f356265
-Node: Reporting Bugs\7f365824
-Node: Major Differences From The Bourne Shell\7f367025
-Node: GNU Free Documentation License\7f383712
-Node: Indexes\7f408908
-Node: Builtin Index\7f409362
-Node: Reserved Word Index\7f416189
-Node: Variable Index\7f418637
-Node: Function Index\7f431591
-Node: Concept Index\7f438600
+Node: Top\7f1344
+Node: Introduction\7f3181
+Node: What is Bash?\7f3409
+Node: What is a shell?\7f4522
+Node: Definitions\7f7062
+Node: Basic Shell Features\7f9980
+Node: Shell Syntax\7f11199
+Node: Shell Operation\7f12229
+Node: Quoting\7f13523
+Node: Escape Character\7f14826
+Node: Single Quotes\7f15311
+Node: Double Quotes\7f15659
+Node: ANSI-C Quoting\7f16784
+Node: Locale Translation\7f18028
+Node: Comments\7f18924
+Node: Shell Commands\7f19542
+Node: Simple Commands\7f20414
+Node: Pipelines\7f21045
+Node: Lists\7f23739
+Node: Compound Commands\7f25468
+Node: Looping Constructs\7f26272
+Node: Conditional Constructs\7f28731
+Node: Command Grouping\7f36844
+Node: Coprocesses\7f38323
+Node: GNU Parallel\7f39988
+Node: Shell Functions\7f42456
+Node: Shell Parameters\7f47400
+Node: Positional Parameters\7f49816
+Node: Special Parameters\7f50716
+Node: Shell Expansions\7f53680
+Node: Brace Expansion\7f55605
+Node: Tilde Expansion\7f58360
+Node: Shell Parameter Expansion\7f60711
+Node: Command Substitution\7f69846
+Node: Arithmetic Expansion\7f71179
+Node: Process Substitution\7f72029
+Node: Word Splitting\7f73079
+Node: Filename Expansion\7f74702
+Node: Pattern Matching\7f76841
+Node: Quote Removal\7f80480
+Node: Redirections\7f80775
+Node: Executing Commands\7f89300
+Node: Simple Command Expansion\7f89970
+Node: Command Search and Execution\7f91900
+Node: Command Execution Environment\7f94237
+Node: Environment\7f97223
+Node: Exit Status\7f98883
+Node: Signals\7f100504
+Node: Shell Scripts\7f102472
+Node: Shell Builtin Commands\7f104990
+Node: Bourne Shell Builtins\7f107018
+Node: Bash Builtins\7f124694
+Node: Modifying Shell Behavior\7f150908
+Node: The Set Builtin\7f151253
+Node: The Shopt Builtin\7f160787
+Node: Special Builtins\7f172752
+Node: Shell Variables\7f173731
+Node: Bourne Shell Variables\7f174171
+Node: Bash Variables\7f176198
+Node: Bash Features\7f201123
+Node: Invoking Bash\7f202006
+Node: Bash Startup Files\7f207770
+Node: Interactive Shells\7f212791
+Node: What is an Interactive Shell?\7f213201
+Node: Is this Shell Interactive?\7f213850
+Node: Interactive Shell Behavior\7f214665
+Node: Bash Conditional Expressions\7f217945
+Node: Shell Arithmetic\7f221693
+Node: Aliases\7f224452
+Node: Arrays\7f227024
+Node: The Directory Stack\7f231139
+Node: Directory Stack Builtins\7f231853
+Node: Printing a Prompt\7f234745
+Node: The Restricted Shell\7f237497
+Node: Bash POSIX Mode\7f239329
+Node: Job Control\7f247990
+Node: Job Control Basics\7f248450
+Node: Job Control Builtins\7f253167
+Node: Job Control Variables\7f257531
+Node: Command Line Editing\7f258689
+Node: Introduction and Notation\7f260256
+Node: Readline Interaction\7f261878
+Node: Readline Bare Essentials\7f263069
+Node: Readline Movement Commands\7f264858
+Node: Readline Killing Commands\7f265823
+Node: Readline Arguments\7f267743
+Node: Searching\7f268787
+Node: Readline Init File\7f270973
+Node: Readline Init File Syntax\7f272120
+Node: Conditional Init Constructs\7f287462
+Node: Sample Init File\7f289995
+Node: Bindable Readline Commands\7f293112
+Node: Commands For Moving\7f294319
+Node: Commands For History\7f295463
+Node: Commands For Text\7f298618
+Node: Commands For Killing\7f301291
+Node: Numeric Arguments\7f303742
+Node: Commands For Completion\7f304881
+Node: Keyboard Macros\7f309073
+Node: Miscellaneous Commands\7f309644
+Node: Readline vi Mode\7f315450
+Node: Programmable Completion\7f316357
+Node: Programmable Completion Builtins\7f323567
+Node: Using History Interactively\7f332703
+Node: Bash History Facilities\7f333387
+Node: Bash History Builtins\7f336301
+Node: History Interaction\7f340158
+Node: Event Designators\7f342863
+Node: Word Designators\7f344085
+Node: Modifiers\7f345724
+Node: Installing Bash\7f347128
+Node: Basic Installation\7f348265
+Node: Compilers and Options\7f350957
+Node: Compiling For Multiple Architectures\7f351698
+Node: Installation Names\7f353362
+Node: Specifying the System Type\7f354180
+Node: Sharing Defaults\7f354896
+Node: Operation Controls\7f355569
+Node: Optional Features\7f356527
+Node: Reporting Bugs\7f366086
+Node: Major Differences From The Bourne Shell\7f367287
+Node: GNU Free Documentation License\7f383974
+Node: Indexes\7f409170
+Node: Builtin Index\7f409624
+Node: Reserved Word Index\7f416451
+Node: Variable Index\7f418899
+Node: Function Index\7f431994
+Node: Concept Index\7f439003
 \1f
 End Tag Table
index 8b8bc8b5379681c71c5b402b17543ddfd8fc07dc..242e1f59c3c05d5ee991bd712bd515a6b84657d0 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  21 JUL 2010 08:54
+This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  25 OCT 2010 12:00
 **/Users/chet/src/bash/src/doc/bashref.texi
 (/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
 Loading texinfo [version 2009-01-18.17]:
@@ -260,7 +260,7 @@ rs@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl time-
 
 [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] Chapter 5 [62]
 [63] [64] [65] [66] [67] [68] [69] [70] [71] Chapter 6 [72]
-Overfull \hbox (51.96864pt too wide) in paragraph at lines 5483--5483
+Overfull \hbox (51.96864pt too wide) in paragraph at lines 5485--5485
  []@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
 exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -273,7 +273,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 
-Overfull \hbox (76.23077pt too wide) in paragraph at lines 5484--5484
+Overfull \hbox (76.23077pt too wide) in paragraph at lines 5486--5486
  []@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt 
 ] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
 -
@@ -287,7 +287,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5484--5484
 .etc.
 
 
-Overfull \hbox (34.72258pt too wide) in paragraph at lines 5485--5485
+Overfull \hbox (34.72258pt too wide) in paragraph at lines 5487--5487
  []@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
 tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -300,7 +300,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 [73] [74]
-Underfull \hbox (badness 2245) in paragraph at lines 5658--5660
+Underfull \hbox (badness 2245) in paragraph at lines 5660--5662
 []@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from 
 the file
 
@@ -313,7 +313,7 @@ the file
 .etc.
 
 [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88]
-Underfull \hbox (badness 2521) in paragraph at lines 6834--6837
+Underfull \hbox (badness 2521) in paragraph at lines 6829--6832
 @textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
 e[] @textrm when build-ing (see Sec-tion 10.8
 
@@ -341,7 +341,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .etc.
 
 [101] [102] [103] [104] [105]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 888--888
+Overfull \hbox (26.43913pt too wide) in paragraph at lines 894--894
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] 
 
@@ -355,7 +355,7 @@ gnored[]
 
 [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117]
 [118]
-Overfull \hbox (12.05716pt too wide) in paragraph at lines 1809--1809
+Overfull \hbox (12.05716pt too wide) in paragraph at lines 1815--1815
  []@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-DE] [-
 A @textttsl ac-tion@texttt ] [-
 
@@ -368,7 +368,7 @@ A @textttsl ac-tion@texttt ] [-
 .etc.
 
 [119] [120]
-Underfull \hbox (badness 2753) in paragraph at lines 1919--1922
+Underfull \hbox (badness 2753) in paragraph at lines 1925--1928
  @texttt hostname[]@textrm Hostnames, as taken from the file spec-i-fied by
 
 @hbox(7.60416+2.12917)x433.62, glue set 3.02202
@@ -381,7 +381,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1919--1922
 
 [121]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
 [122] [123] [124] [125] [126]) Chapter 10 [127] [128] [129] [130] [131]
-Underfull \hbox (badness 2772) in paragraph at lines 7435--7439
+Underfull \hbox (badness 2772) in paragraph at lines 7430--7434
  []@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
 s/large_
 
@@ -401,10 +401,10 @@ s/large_
 Here is how much of TeX's memory you used:
  2081 strings out of 97980
  28558 string characters out of 1221004
- 65605 words of memory out of 1500000
+ 65620 words of memory out of 1500000
  2897 multiletter control sequences out of 10000+50000
  32127 words of font info for 112 fonts, out of 1200000 for 2000
  51 hyphenation exceptions out of 8191
  16i,6n,14p,315b,702s stack positions out of 5000i,500n,6000p,200000b,5000s
 
-Output written on bashref.dvi (166 pages, 678492 bytes).
+Output written on bashref.dvi (166 pages, 679016 bytes).
index 6d41f10dc9636898604a45fe34b5e081a17e9ea7..aa8cc7afeec5ff563f4ac3cf535bdb5f56d9ed29 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index beb50589d590008365d5214c75e9751310e2d793..7a5bf81b1ffda4c56694c49048a1bc2c616ff8ea 100644 (file)
@@ -11,7 +11,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2010.07.21:0854
+%DVIPSSource:  TeX output 2010.10.25:1200
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3224,7 +3224,6 @@ end readonly def
 dup 11 /ff put
 dup 12 /fi put
 dup 14 /ffi put
-dup 42 /asterisk put
 dup 45 /hyphen put
 dup 49 /one put
 dup 50 /two put
@@ -3304,346 +3303,339 @@ EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
 4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
 7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
 30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
-2E080C10DE923C195ED0A46BD535972F0A59D3977A0C4E4C413050044C486CCE
-9413D853E3FDF83C84B0A7E5FC5AA859BD382DC2D94780F2B9FACCDD437183AF
-E656EDA4147CB501BC39013529A953D6D78F640BD51EE6D1526D1D27F2538715
-2BFA7F33FC8CE7A1B811D7E4251EE8C0640097D655F9EBB15102F85DAFFAB797
-0E07D701E1BA93C6196EDE47DCF0491F102A3ADD983898E72900D1398033A2C1
-CB464B9EE9A47E7DE97F7D4ED4E99530C9A770F43EA6FFCBA27C41B4668C6047
-FD5DCECE8899E1603D3DEB282DFBEB30C8040E7EAAB83B8E78B2F7F61B7E8A77
-4C544F5ED83E5056EED08C1A29221D05A4949A0AD635D9C930F7FE8601D74FA5
-33B2F4FD4C29FAE4346FE914B123BA9CF5BA732FC430A128EDE270E3C60BD7AF
-CF54674799A0DC1C214E10BA5511B29813AF2E3768AE494D240EC647D9851CB2
-EC38976C6D8763F8C413B8CBFCF8EDD0FAE02F72C6366F5CEC2715BB7C90440F
-2D7BB30CD1F107CB2340075D2A0D9D4114D644A09003403685A7D466CF47362A
-B3187106FB1E2B32D7FE26F9231BE1AA87C8556A5421528BF5FC0478AC567DDF
-EC95E6151FB92C7986631F641E23CA968DBDDC42A5880B89CCC00F09B82ABF41
-F72B2F9F28806308176EA7081DAC3DE89BC389FBC54E60D2C6B666F18562BA0E
-32B5906EF1C2B6A31FE0946E648C73142ADB3136E7D2BE4BCC42E08DE3A5F02C
-4B8575B1A296F04735C0F30C32D3DB7423FBFE682109815234C88BE292C8F313
-F667207D842DE2052A8D3701AE71C44F6C4788AA08A967D66270C5EA7DDB61C7
-56D7BCBD106F1CF4EA7BC3A532CE23E29368899E7DE2175C4EB20802FAD3E840
-FD7B7B9956777195B646FCA2E5F4ABA05940E269858FDF5CBD236269C9FB0621
-C8224C63BC120EC8B8ECB643468C468CECAD06EA59C1CC6131F8091ECDD0D23A
-419DA3F684B229B64CADEF0AD3314C91186EC445B596FD398F41880FECC56453
-6459474EAD902F020B750E99DE425498DB3ABFCEF48305FF9B0C412ACE5363C2
-75EEA02FC8395179DF95E2A257E273F07CB0B899EC5E5AC093C9EEC345F6FA2E
-AF7A6FF8AC2786F25DFA834FDF023B1DA2C4301D807999010C5EFF3DEE1EEBD9
-F4D888F285847810A3DA48BE7B63D23D432231E1C3FD7D7F249A68DB43C0B439
-6EB0ACCE9083508830ED8BA1D9DC575938B07F07D9DAABA164281A09C7D00FDC
-78DB17CF89185DFF736892A6741CAF6B3864E92E7DE32A677E64B10C9765F925
-CFF01D76799957C8E2A4789CF754E9352C4957520A1D5303E4DFC850A5918A9D
-B90735BED913175122AAA4426917ABE09DC19218EABDE6FEF861669F60819DBF
-6A76690FE9C9CD86851FE1D1AAD0219178779037A3C0C66589ACDDB712CD236F
-DDC950DC13E099B747F7892B0B2DAB00161BA35240DD4CAE298B0EEAE5A4A2E5
-4DB38F070F3985205B2391FEDC8AF24256323A68AF8FD7A62BBA1A2F702F5402
-4EDC17889993E0D56817E6D2AE1469180286651F6C6643770D0251C8626A2A6E
-2CC25B87A3A520335B2AB1544807683BD52C3B8C3DAE7AD46077BC08E91D0701
-387312C9481A4CE788A11DF9E94A5700EA62581EC3BC2D0DDC709ADF5ED14CD2
-6B23D4480BFFD15828AA39A5E6A9BD9ED07C03F3B9528FEC1328AC1B35B5A1EA
-C0BBAB5E5ACEDE99FF0099625897168374623C391A76441CCB7ADA5B458D0EFA
-B829328D3A34C297BC605B3979C7110C90FA41295C25F84616A8F79A31B4E6D5
-B6F443022FB9F3AE6A0C23DC97F1811F50E38C254126EC2B9DD3992A6F61DED7
-02C3535B414C33DA24D5F172A6B34AA29336AB5AD10EDE4DBCDF08574BAFCAB2
-25D741156747BA56BF1069EDF0EF8AEF00C0B98860E8928DD5FA7600B2068188
-CF933C1C23DE74BDA86B3680D1E81401FE2FFF2905DDB015ED31F68F57BFF691
-DBBD798632E85A68477BAA42755C34A14D063059F88F411A0FDF0DFADFDC2F7F
-B77353A472CFF8B6C420C535288CB18B0B0CEE480DAB9A767F2F6C7C427310A9
-BB1FCBC48C194E91855E54CA50C1EEF64B1BE0F7C8CEE9E1EB620902FA40DE3E
-96F962F6E38B2C64BB774F45BA51986434C8E25716EC38E320D0914F68645DCF
-67454133BBFDD4AFFF0A8ADB82E9730F94B17964A5E8A4FC1D630D4C7A9CE970
-82C0B79D4E4B98CB3E173175CF1DDBD28A47FB67BAE582F9D072C1EA0B5A2B42
-988B173EFC21F67BE388BD8C9D1D83D4752DD5A6CC8DA57A86BEC2FE2B1E269C
-DBEAED127C4526C27FD349564F988DAF675C80E491162FDD7BCEBD7F3B13153C
-2AFD7F9D5CE941C6FCB0E585FF99D5706B3B90E630CF4985BD5CAE567CE919EB
-2DF4C66A7F366F68009E80373C0A9C386C1D30CE77A112C2BC3C59A2EBE50225
-75B58ADCB776094FCCA56C3892D8FE0911361D3FB581A7F2B2DFCA79042BE3A5
-80AFA160903B86CD46C65BC4BD9487928B06F6E387E8069AFFE9B2F784C0F722
-53E3FAE45E96D993999645621D2633035DF829279F51E25161A7A48317C904EF
-264642205EF3D61840425EDDF9B5B80D5F66D642F7C393CACEBC8DF6838E074F
-FB1FEDE41F42726CFBCC96B5BEF17EC26B27EF29087A163F40E3A1A777D4352E
-7E4E389F0685FDF4A6ACB6C88D997250104A35E879A0C0203BFC3BA7AE49AFCB
-3E8DFE3ACCC3F4A7364514AC94346332EFF06D7199CC29F017D9A21AB8731ECD
-1E01E0CC9B503C58A7093B2FE69282AAAF604849D7B916B477673CEB81C37AD7
-65B3CE3EA27E158868CF723F803409E48EE3B5B68D5116ED1276C95FA12C46F1
-EF8633329220C07A6C5830EF35E5F510F50A762EC69C0C4464175A7F8556860A
-1D8C0CA834721A33CAF6CDAFD6658B8E0FFE72369B355AD2A854D6DF4D5E2922
-EDB5DDB055ED9E349AA71B211A6C07ABD6A9184CAD668AE16F0DE68D7ABDAC6E
-1AD0A61EE9864500045F0F033303BBA2879BE36D4A52AEAF51CC1377A85D326D
-424E03664C527F74CD4466987C232AAA468048E5B517B79E4276EFE4B9B881AC
-E9BEC15016A207F3B270507EA8477A8F97E8E8B108733B4DC48505F14E93B75D
-1AEB210FA5E55F8C6EA04AA441A385E336B9FCB337C53261659A7AE9F69489B0
-E4B38ADE248B90043A6EB0DFA3795DD111931CE6462CACAD0B69B185E627B156
-960F46F9031790770D6A8BD3FC3F535CE85FDA7E27629AA14B3D97DE676EB440
-DE7ABD25EE41CC51BEC18F707D35DAD24662EA4EEAC59FA0A8F8AE09CED2653B
-013226BFFB578ABD5E2341759B229CA9D1882465784D5BCD351E3884620D0A9F
-075F1EA689A99C7F24878E8F79ED2AE6A8536F9D1BA1C07A2DC05807C438CA44
-F3E9708C877AB2BDD3F6467C39419606083598F1BD22DEDE6CDECEA07A838249
-1D289F98A1108574C5F13B25E2545B7146CD9AF5D11BA3DB3140EFCC7365C143
-DE5C87525122EC71BD00E3ABF2939DA6BCE4EE64C4B56271B393F3CB00413620
-B4AB8AA010B38FF264E76A5E74F1EBAD812BF9E7E0188F3308D85434360F124F
-8E9B24133BB853F4E64D973254E304BE6EAD60E2343DD994E61C26C496B4517E
-69F577D13817EB375933FD3FA53C9A1BF02A89CDFC00296E2A2D2689CC850088
-73E181933D90A88078AB76EF5C50598AFC12CEEF15A2BFE3C87B773B7FF1B8DC
-3F9A8D68908615F621BB695C57215308F69C069C24433349DFF17E8CA7273691
-845DE5B2B736CECA05A5BA8B3B61C04305C5CFB5E089FD4A8B9E6BAE31C4C5FF
-A84FBCB040C72A8D453BE0B263B223A8A9D1B74AA175F9AE02F2F4C34BA87263
-830A03CF5D34E060ED148221E3C617D1D4C70003EA05623C4C1F2082DC633E79
-A1E9D57A4AC834BFED02856B32DC13A39F39139D59F9637B8470C944D03A8D97
-DF61859A53954B7DED4738BFB91165EC60A44BB69D607AC6B70F592224121960
-E56BE9A190DFEC3F07EE60AC62AB28678F8DCB6A77CCF44B153789AFDB28CBBE
-BB99798FA478CEBF9C1BEDE10DCC704FC3FA0280EEABB6E909056242B7A2E193
-DCE348EC8587CF15D40C219251DAEA07854234A9EC835190EFD1CC69B3C7EC82
-AE57FEE324AA2F1A45EA3BDE5F60E1A232270C2105D57D3845A48837DFD389E1
-02293DC23B6E76AD95282017E91E7042D9734D82D46E3DBEE0CC790F4052E008
-B3792AD9822B94CC445AA1C9185466DD7D28A0F7D6A33D727A485F24E709DB18
-86AA1A798CC7758BE528C4300BA560FB89AD49AD57961E96799A1B31DEA2C715
-4E804BE9396A1AE54C7549E73B2ED2F548B042D8DED2B7C7BAA049C7D120149A
-A90B7D458D15B8DA6F533CCDF7E82D64A7E0CDEDC2D281D6B7E470D93849CF17
-2A579C3403F6FD16EF49C6F136449EED08BAFC1E0D03CBA37B4765BCA1F26699
-17E542001E2614D83877E37EBAD25029B97B94AC1586BC42A0A0C49066708051
-0DBD7B46D45A02E2FDD9F2FEFC8B1217811A3BE709F392AAA03D2F7EAEC828C3
-3C5EE95A5E273702A176ABB4B2C4BA48EE7F16348F650D426BC71C3EB740323A
-A8BEF22F6EBAADB73AD4C9883557AB33451A89DFBE25CA6C184A3C37F058C3A5
-4C6EFDA4E2B0354845CC6A38293891891FEF286712171E56FBD8B7A9EBFFF47E
-FBD889E1EA7D08F7A06BAF9CD988773FCD4DAE43FC6A9F80F1D6A56E550CF799
-3BBAEE0303933E02D1427A5842C9272D3D0A0ED94ECEAA9B82E81EDC54560F8F
-2A4C0D28B3264EA640491E24D3F7165A17725C28A6F153C742D01C7E95C79C1E
-8229B8183B8C10F00DF68899914534C58E2DFBF7087D7B6A3A4BF875F5A754C3
-B4B8713DC4EB1682B84151887B8461EE05A0C9FFD6F619B83444BA9ECE1D0C7B
-D17E96315220F7C341194994375CEA1AC7C061D9E7700B6B30B5F15A6A2A61E4
-25E6C3D0B1E13BCBE7FB89C24327AF46AC62B2EE332348B55D9E6D599D9FBD79
-E64E8BA6C960A598600EAEB080E08A0D9AF13FBC60218A9FB400D5CF3507DD38
-FE41BFBB0594F43F10EAE9CF159097226DE7706F34871A76661B6CB9EC1127DC
-09651E98E34D3ECA5BA7D695B27645AC8C16364CA380D45524D700A460051B62
-A69ED221BDA45051C1723796A305A3A7C85A62F5DFF7F7ED690DEE4C0BE2571A
-155ADB8BF7DD4E6B31AAD3D884337C1A2F99FAA44BFDA357966C77C35A435411
-2AF36766DC0BBEF0B50B742A9C9E8541C58AD964B26C47BED17B5BDD9C5520F5
-947E4B8017AFFF9FDD3BF15B2DDA6CD750E09222A3DF1D9ECE2AA6E22CC5FCD4
-C6746E58BD628558A7157B72F6370507AB0596FD4F4821A800A358BE7B62C7FD
-92131D308957E99FE4408ECDC0F48F5C747680992721F9D96B41B956C14F8E13
-FB260376C508F88D30355C94D0208D419F81019EE01A114E20EC2438C3894C79
-62096B4A5F6288116308FB98EB0DDADDB259205A11C56C6AC6C5E1C8FF45A25A
-F16596B76397BF54C3DBD0ACA1599AC886415E46EF99FD15C9218125CF0426CC
-B6B5BC60C0A14CFD116DCDCC3CE7DA6962B972AE23BCBDC5F283A807A63C1C8C
-9EDC5D95CBED7A9E1D63876A55C7A8878DBE0C66FAF5E7A680416840156FC63D
-FD8FD7FD12F32245B3084FC3532F3883DEEEFD52325439EDADE56EC1B4845CCB
-282FA0EDBC405ED2FC3B01FC93D1ABF06B64B2EF4D6FE40B6BC91D7540BDC5EB
-F3681BA084FE84FA153E8E11442A7840C6F7FEF98E346601A67885B3B0AE2EF2
-E3703ED14AB786488C48CD937E9DE8B666CD25DFC9AA9351338605D653BA6EC8
-16A18D7181B2DB084BB1D3E75C84D8CD3533EB35F150F006C6047BFCABDE14EA
-32FE9A0C1BACCBBAB3F6595E1D11D279A34CE66D0BDC09764436A23BAFC467E7
-A986D6947DE65B77BC8480B94E6F66F8B4D93FDB517FE1A6C2AE5FF3BDA37919
-6F34C72EDBD09CDA95D751CB5ADD93B422E98560EA03AFE810E1435490C19405
-C534026D001C4E2A86EFA7F342E3967059BE771E728361AA77E8C2F497442E24
-AB938CBA02C5FD0561A601BBA8AE96E8232212DB222C202C1AB4B4EDB4494CA2
-77221C9EE7810640B730DD31FFF60F2A05DB7FB80577A48513BB9A76B262EC6B
-751157FA65B47B7CE97D61DC0161877F89210EF3C9A8CEC5DBC5EDA5B9A8770D
-7643300C9C3A5D00F0FA18BCBED0295833612A57246D8184975ADF14D84C32F4
-BBF15E6BEBDA45A2E8BBA461D53C090C25BF7FD351CBF69CC904EEEF8D7802D5
-D14A4EBE6804075D2F742384749150174603F14519BAC00B220E83F7309D15BF
-12A0DC08230DBE23EF40048A77ED17D9F931C817F780C67E59ECFEA62FD4D8E9
-DEB4D1A8D28643C4E476AFB2F86FE8E5C353F08B9D0F0C10035B1737A7D51F4A
-6141D0000F04113A7FD710DFEAA16CED294E5AFC3856BB243E2A676794DE99EF
-660C4B522E5A4EDAD43C3A0A359B4B34AA9A59A6E2D4E5217553B790ADF45A9A
-7636529EF840879F18A34C3C2D5207B4D14C59E264A6415F142A7C0294597D64
-D02A28F126E774A31604FCC671E1BC0FF681082B2818792A60DAE56FFEDEE3B7
-6EA7A834D088E6D10B1673F3250D229F1BF59CE4D0AE3376E6FD99D883B2ED03
-71B72A3F679A5DBD76BD2FF6C04435D14364C4A61AFBC0D5B31E48BC631C0545
-DD3C1C0FBF3123EC3944C404D37398D05BE3756848E59FA54EE7C34D0D5382D8
-74DB6A6E70C7A5AAEC7B941B4F5D800B226D8976473FDABB34FDBFF2C6016FBC
-5E34BAA392A29B7CA9F667D609EA7A391C6067566631FA910BF17DDC0CE56F37
-A2E6A22228A4A0AE138924F09275921C8DA60D818AAB8C2B06108DCB9A85D6B9
-DF6BF40ED6E86DEC75A2DB917E605C1735D5896F29D762C77AC212994AA2F9D3
-96857C5A2F3E86FBE7E34F34D8E0CAB1024AAF59699844CECB49D7A429F4BD02
-5567416D4D0152C3D0B6B77D7104B20EE19EDB264DF437E51F4BD92D21873FBF
-3D35B2EFCDC5F146491099BCBD3B381AEE555FC25A7B0713FFB082389975552A
-825B8762D630B204B99D97E0F0062B358E1E443D65CD8DF3CF8284CF38066DEF
-3F130A06CCEA592955EA05F416E0F67AEEB690D626728426BA54BC4C4083CBD0
-F3F9A0E7EBF3B1489C019F7A29FA78F77D8A96251B66D73C7C858E2B7AA768C0
-31CCD34792D6D093643502BCB4453C3D5DEA5B577EF92D3EDAA22E90827F3573
-A811FF5C5F6697AB88C42291498BC348F4102BFBE007D68092C0057DD8576A9B
-5BD032CF7196103028156CDFEA122F9A7101F0DFB1C73D3B5605A73C1B335EC8
-7DA6B4CD39E976F7DB91CDA187B1CB4E4338F7C72873F24D5C02934BDFDA019A
-69FAD10C96BD82D12D07A2EF76D86C3082E1D68B0A4462D0635A8F15245EBDA4
-4EDBC69D510B12637F02ACEB3A1DF278C4055B98D77ECFF82BDDBEF4C5AFE2B0
-B88A9EB5333AE842093A80E2064BD36D5D81AAB9D80CAA04B55943FF5A1DDE94
-CF3CA32648BDCFAAC88E72CD3ACE65C880FD8BB75B11A8A6ED351524E1DA35F3
-13466B349A3E4CEEF0C1160B1F95643B500A171B33ADE7D55F4EEE1934952333
-2CBD044D07A12985D93FE51C93EC8F629DC423458C1B631A7364E17B07E89C40
-256DEF8A88897ACA388014A2C6969ACB9B3AE6925B4B4543BC924061EDCF86E7
-F51F447A7FB62E03A05EA6FA2DA1CD76615680FE009621148647C7C74E4BC6E0
-B34B356A3CB8947E0F775AE6079FC4594F39A4B8218E5D27DDA4583D9D5BAF07
-009CA08E3E08E407D0AA9EE80E3B0B049F37DC38FE8F7FD055CE316D72A6993D
-60CAAB09DB8A899E5EBD8AF11BBB8B2EA8E644D2B6CB4D9EED9266EDDC3A7ECC
-FBEBADD9506987DE2945A65D027DE828D5A12FB0D6AEF5D6A2035421DB46313A
-9CB95EEABB6F5A87013C3F3130DB32B3D955D22C9F3095A19715D341FD118259
-C661FC30E9D781B32396A8A2EA06122045D98EC5FCC6CFE11AF9B2A2FBBC99CE
-45925EDE91D6A964B68EE20032B96A71B48DACDBFC145B6F6DEA7F011DD7B246
-D9DBC3CC6B1EB35F471FFC463E8444F1E1CE43D3D41A113D9601C12FDD755E34
-86B8202134691C4DA22717CD3F9F958CC6E7BE20CFAE9F10EB67C0BB58E40F17
-5E3A142AE71E3619B1B61F706F611496EF29DC07111BEAFCF4D2979D39660C0D
-05A8A2BA5D2E0BBE2F522B6BA0A39B27AFB2FD2DD4666A0F895F49F7833C2661
-88D28BFD7522A9CE8EA109E1B8273A1295F4982907109518E82A156A9C4D7F27
-9B7EA2CAD89D22A3D56637D5427AEDEDA98A6D9257B419D761C8AC925B61C93D
-5E4C47DA6EFCC66A6A4D3B7FC1DF27C6F5C7919E34E9E7CA982C0D40C5D53F0D
-0A09C57FF29657A7FA230102C9487A8D68F93F278BFF94E6CFE8E5E3BA38A082
-744F9D018A6D7452D2BF0D06BB61D72F7767A4E9936DDB660C8CA18468262471
-3C81A68BCC375326C935B90D02F80B704F479DD7F030B089685F091B3144E794
-11D284BF2B8502964E4F6C7B79FC2C37197D52166E377D66AD0E7D0325909D46
-E0F8A35807DFB8C8208BA672EC21188149F3155027F16A23AAEFDD2F3AD642F9
-310D631E07655AB6885C6C3882CCC8690D05D96779CC83A117D946E2F9F6521F
-B8F4458B8E01FC30CF59ACDB52DAEAD21F7B7F490D74898F2570C6FA5B4DB522
-C077FF694CBEF398F0207C708D7C3E4F8EF42FAB91ADB4CEACB592E56035DA1D
-E8C44FE37116712D588C873D8C2C51B960E97D07651D611AB133D950258F0A2A
-D8C4557DE5EC6D98E1298B71FF08B5F59C6619AEA88CEA839A16B9C810438B78
-060594A85095D525246CA31DB045C2BEEBC0B1F8262C59F9A687951AD2A1A5E1
-3049E4BC2CF76E90956DC45670A6A7A6A4A07983758BA4887552CB30DDCFDB02
-090E12B56D356EBA8E7AEED14E4EA4C36A528A7F5105A545BD9EA5BDFD1F04E6
-C65428A54A41C5977142EBEB7F49D65F1FAB9FBBC2C283EC7AAB8562047E013D
-369A009127BAE150E7822A278BB3638BDEDE5A1985DD3081F08EDE5E0EC8C4EE
-56AAA592D3EB3BAA1CFFCE3AC23854790D0B648E83E2FE3C2CF7A14ED0601761
-E5A377DD4CFAAAA59D375499CF40DFC355D344AE50DFC65E4E5AEDC0ABB48A2D
-12DCA4C33F9671CBE7CBFF6D302805F433F581B4A6B1E4537EFE9C11F8C808F1
-F9C56321C402BA29DA2BDA3D2468CF3A26276929980D53E3BED09C5D9C2FAED6
-DBF053142E82A04F618CED7F51D09C28A1885DA028F275B85D3BF5DB6D20FCAC
-6202ED88D2DFC36D642FCB236F51B4016D7380CB85FC2306D986345F8A127EB8
-E32C7118C0F77B1B668D54FC2E8A4C70A681535A5117DB2E3D9ECD1B59A476CC
-8BE712591E1135B8E05652849F3A0737EDAA98E160D39A1C83AB9E586DE2524F
-C22C5BAB3075D6198C15F9E6EC9C066B085B532B8B1ACD16EDBA42DDA0C6E2C7
-DA50A742E55A1C4B86332FC7406BEE517373BD0E5A252763DF5886F433E60A64
-7BC6B0E70FB998C448F7C2D431249B581BF20680572405853CFB5CCAA1DE68B9
-D6AB0E0FE7E0C4D9DF2444267C6428C6D5CFAE69D651651FBF84C606282B4F95
-0C81904C77350ECA5B82128A4BD281C9889912ECB461D651652986EFA8B701F1
-4B721AFE6AD536CB1968FE14D0BADCBBDF798D11F4DC6A3EF533B3BB8A236595
-B70C4A03E6E33A6D44F93FB54A63063328305D2193E012D24E4D31E62CAE4DE2
-87D59D842475522204CEBB88D08AB0DD5DF57B6F165C693DD0AD34B87F89AAA4
-9F7B7A880BC3A5DBDFD9FD9C3D3B9DA30B132CA968A216BB52434FD3FE77BA51
-A70210B1ACFD28B81BDB75F97712DF6F7297F34A59A393006A881E2B3CCC3F7B
-B39C8D6E99AAAC39B071B7F383F9E8EC407118C5DC17BEB0D737059ED7DCE758
-83EE43E0514015D490C2271FA5463B93EAEF9B3BD3C88CD74A19D9DC95660C96
-0A38B26D3B023FFDD27FF6E9D98ADDADB54825D2B555206F0E7C889DB55347DA
-9A4C9519C0C8A8D3ACDC06AB3069268BA83984376BFED1CFE3B1417845911CAC
-5428A0800146CF549EE78C263F36DDD8A04A75BFBA4534A78412B7C2B6EC47DC
-49223DB72FCDC5E88839709D704C196133A3032149AD0AE29950C8D6509F877E
-04B849B5AC09421BB33B658D30CE6E04DA1A35862043BDEAB7BC684E1A6DE8E5
-CAF33EFC866D6D075C269693690750D526B801DBAF5099A04BD3E911135B118D
-EF01207599588E25EDE475FA428E67AD93FFF63682A9B1F9ED495C7AD50EB96E
-836A965C2B27CAC71CE79170C4F56E0497F0F6CA9041E92E1D01078FC922DDD7
-3F79147EA667173AB4E64AB4E3664054547AFC2E2E1382FE059C37B352120D69
-6A15BBA8670CAE7E310B03C2A4B12FB33617C17CB9D992AFE2DB2A1BC1DA806B
-1B82DACB2C1157A8D3F5D86353C12F474078418FAE22EB4213FBDFED904F0156
-C17A9C5205DE359694C899E992E40C2B54A565F4777C0147E864F25FD4C487ED
-6CB1C1BDD93702AEBC7278FD7E62A79A28F7E3A16E763F154471E001D21D4FE3
-2FD8ACBBCF301995528042E861A9830ACACB99669EABA851FF2A8609D30B9775
-A048BEA2E1B538D9865A8A646E907407EEBFAB32F76BDF132E905764EAF10891
-907EC36BDB2D8F89CDCF5365D2FDEF131B23A8308E05A696E5FF6EC44066FA26
-9348C4249B64F87D71C552F9CEE2AD126AB9A9B6FBFCC58438C6248A7C0962C5
-6D7622CF440288F906566E4947699270D4E5BB1E9D80E10C17A7147852495892
-707F47DD09B09802B37B1D40F848BB9C732941996EBF595184E4F484BE6561EE
-9BA94C00F1AA76BCBF817C814CDD4ED94F025A31765A118C75E6F3B2C6C2767A
-090D5389DCCB5A0ACCC67CB1B1DA2EB5B4B3EEAF5A4D7F390BC83A0C1B2B0910
-C180698E9E7F9D288C3BDEBD37D74CB5710AAACD2FAA4686A9A750064F6B306B
-F86C9F4BB77ED693419232AF4C1D897A6A5B737B41647A7E37350BC7853FBA31
-C5CA92ED67367D9858919229645A81EC6E30BE97FFF25AE6FE8CB16709D4550C
-DD5B4098ADD0D4D60ECE796384C007203A2B00595CB4608AB8C265C4E67FEAAD
-7B5AEDADDE94CCB6FFC545A9E3C47B8B911110EDCAF2160135492B722879C62A
-6A8FBB02BE4AC067194682264771595601859CDF549C3BD7A3DBF7F681D01F2A
-1FF5329CE52A00E9FB7F76E7F50A2B37AD1DF467A7B63EE8555FCFEC2A8C42CF
-C2297EF18EE8D49B0FAE5FE08857F0E0424FFCC5804D3063715F039C7F87396D
-579C57944840382C2A9524DDA1BB3C87866EF386581F2B1ABC18BD49490EC9DE
-5D184B752A976528892A0401AB4F165BEDA7597236C6A5433D7B8486FB007DF5
-A0A8503322639EA7916CE8D727284E90CD3F657E07C10370B3D8708B26AB933E
-DAF9BC060C2DE8345802CB0A3FF962FCA229295E15A02FB35D15476EFD85EB05
-AB102C504AC86BDFC3613EC7E947D5411CBE0A66AFC012115334ECA15BB0A353
-EAD3C33090046DD5FE981BE10A7EE6FEB747178AB6357EE22F6BE81D0FD617D7
-ABBA0F7ED0CB5E14F213A96854FE0FB0FAD0C3469A9590BCF9E7076BDC8BDF20
-933DE9DD6E99EA0C7DF1D28114B7EAD10367BD28A82314829E4FAB344F3A8882
-080BD2A920FBBD2227D2DA1FD6AF21E538DC10E50648535187EFAE304D0F72E5
-0746BE1853D59A1FC89BC3847BB8A0EB5A1BFD83B6E465D79012A80E27AE7BDA
-590BCDFDAA602DDD8D596F3B57490A564120EAEBCDCE0EA0000C572266CAA363
-536E654DEB595B137CB03701ABF08EC994B2D48622DCF99E137BB27DF2FC85B3
-FFFB9D781ED87B39054756B9B9AE7A13978E8EABD8F30804031CF77E698F8852
-F26626A3D817D3A3234475A80C1768CABAE431CC6E552596818F9B47161B8C67
-CFB0618039025E0B76E95B770BD302F3EE622C5E0898B34027932498345DF0D8
-32C65257F9DB75D158EF0081911CFBFD8E73BCC7F254C17C0B72AB39CE7EEDC8
-8ADD52AEB813C016D982BA5F10268E28466947C765F65C80E2595B2F732D4E68
-D69A757D8230F6ADEB79D31EEAEE284EBEE7E40A99C422050B338A07564BF7CB
-EBDB383FB6E5F632A972450E4F88241F4C7CA492A860822054E41BEEB3A59E7B
-6D6E769894FD8FE20B47D25F43809077696F516DE603D4EF1D683FC9895B9C4F
-00D38E738BC1899C9403F9BD7D861B0FB18AE11BBAF4438303AF6D1942A41DA0
-29FB10183B46BAC9AB9E858D95CD54DE11D3167B94F0642E89BB08082A3E589B
-33797A5B481669A45C76463B69BB4EF884CE76812BA488BD8A32DEE0AD6E9762
-10DE07FF0216F6B88AECD07E5A1DFE60801607FDC4F03D9A5B074E59A2EB23B8
-D85503FA1D12A6717FDC69220E31B04911E249446AF19FF550B09DBE833AE75D
-6BE48EB06866CDFB7999E9FCD923E5CAC8286D638C643AC161A80B1FF87A44AB
-6181929F69A6795591D319879BE5999F200F0556650475472F9863BE3525F6B3
-9DE2D2CD94229A257602F4956A0018A4211324E3ECEABE650EEA36D34A77E5D3
-DCA8AC728A71377A9E7A9B12E58492196C852303B9DD4EAE6983066C6ABD4D9C
-7787C837EFAA2F9D3FDE032665323585D4450A9D3E8C7E8FB2FBC87234CAF228
-B5C1654EB2B36AA06224C22A33C7E0300ABA12825C47D2F20BD71C03D546E4FB
-2FDD37D7069C6A8EE431A45D810E52CF05A478945988DF389AC0DC8C807CD51F
-EB049AC262A09D5355907421A5D3A5903A67C79F2F82BC62EAA06EFF45872229
-1E9AE5A761FBE2BAE8276314A1ABB109FCD681A0E339182720A41099D77C47EE
-7B6586829BC6728C44BA90D2A259130B78EA3648EAADF62B501D8482D7A0955C
-C7972E5C22435AE131CC837EA6481371E79535B455861023D881FFE838FEAAEB
-CA47DDB85DAF8FEBE91A5897CBCFC4E2E49213855ABFE6FBB558A9E27AA46244
-49FD8FABD897417E0008B57675283EFA92780046E5A1D41B3FFB3399518EB86F
-4D110EAA5C0AF45563103B89A9388929E719EF8FE2794B8BD18388DD66F2EF1E
-8C4206510EB7BE863F23D255C45B40CCCFCA951EF67582C00AFFF61C2199B046
-5D7C463F3AD70446A29F899E95EB6898721C737850E4350FD3660BE1FF7B317F
-E2F170120F972AE9923F79D453B5E51845E6264A41E1CD7545C35BC1AAAAA545
-BDF3D419D9D2E6B1F8DC295004689506BDBF6BF47BAC17CFEBB565C41700E784
-70BA1163B66A4FA197EF0D2868B1FC46E0E8695F8C92BBECE917C792442AE284
-A2F859DE93424F51D52D5D1C00DEF99BD1F1160EC2F94F84C3BB59C1EE56CA69
-A6616AD396B9469FBECB6B4986EAF6E439441CCDED87607BDDA10757BD4B439D
-28ABDB82D4CC8D4095831509F1087252BBB1DF0557B2F6275F7CC610E8742C01
-ACD9F985641A3C16A8BE1B172BFDFD36115855AC40A04C6C26060D6D95A10707
-B1F56D0DEDA7A48E25D9281790D3A2FFDDD479F24A3A0E68FD097448CF500597
-B662EF8DD419AE338D4C81859547CB86FABDD162907034D2ED814895115E76F5
-B8BA5DF352CBC93260002C3D72015180067F1A74ACB5A6BC48225E116395EA43
-65C12774423923E4859AF3374456F204E0FDC9460E8EE2E87098B9E7A3977992
-F106D0A8C542DED8B2E4C67527810CD19E03275998684483F33E9A6242ED0330
-EC553A673B1B34C89057D5972BE82AED5E88B5619C748DEBF6EE02489C51D3C5
-6DA3478C65521B8FFCADFA3E569963649019CF46AEA9357B5EDBA74A43A4A199
-A132885B74D5879BD2DDD2E444187737BE8CDEC939500F1CFF538BC8373266F9
-2E91BFCEDF58A2CC1F197EA1A941E85E021AAD4F94AB54986AA42E138BF54E26
-78BC33104EDD4E86565FF8456CD151FA2ECCEFC15943B7F0F23C359608D48D79
-B1BDE2A0308CD359089009E0B39CBC21FA4B337E7F502595D6B22CB92C096709
-EEB2B4D1D8F697EDA69C13EABAC0FAC550C5A15D1018B6DD4D740EDB2F9C700E
-9383D7307D0F6CB98006B0453EEFF884949DE1CDB38A681B412E2A98312C3A8E
-FCDB7080BBCAD61746027D3261389CCC55A6159B18B3B29B36C5071846117431
-C67079CDF2E5DC78EE02F82716E31D6B63AE901E7BFA1EE86F3858FBA107B735
-D42155673489A7714B683D2BC5D630D492F1537823001E70EF18242F06F52F38
-80901A5EF067BE5F2473DBE171E8D85A89796C98074424D384F01DE987F5544F
-118527F4C19427E8338B8CC7050DC48AC4BDB23C160EC2918EDD2AFD17B4DB92
-7B9736676D6AC40AF23A6541AA47141C047D0BFECF7DE8BC917FD34A13F2EB7A
-28A0EA62137A8A1CE7BC5F1439242084A4DF8DFEEF495D308830F04DD7D2286A
-499E3802995BEE8D3236511C1C2F6B5CF4668857386AA2AA42872E5769B49F66
-61F058103691825DCDEF5AA4554F4DA460FACBF69DD8956FE3F1766A72143EEB
-80D4F8D3A109C2277C620322B6B33C62382F4AC88E8A49451914A5FDC69E33FF
-3C65D1FF4A193AEDCA633FC5BAE6D10D63A98E0A2596B6E65456327E59EFBD37
-B5C45EDC86A4BBD9072061856C4FA228250640406F9976645171978F6DFF12B2
-C7946FF5FB10F4532F4A780BA48F5B203B223AF1043646A484CF7B4DB3628B9C
-B06DC7D8847A42F21328BC90A7BD8131B330D9EA2F513C564EB8B4B0EB3E404C
-13069D6ED4599EE4DCCD36A4178007D1AE551FC0863FBDE1CD639F05484598BD
-33325BBE61C5B10EF6A89886D854D6AD643005210262770A6F4D92E7328BB00C
-9E2D4DF7F41D941952F9A08D318EC90A5A6E0EA95DA7F21BBE72DBEA4BBD0002
-C7677F14F2DEFA91794674B4C06696C5D11C1350CFBD4F56FEDB1EFBAF120B6D
-D6CEF9ED27A6BDB215C4D25A0973CDFFDDEE574D4BEFA05AD9EF3BC70129B888
-84B6160AA09A3C2DDF44283511B376658B9985732F27A8B60CB60B87D8BE7383
-6A2EE83043FB5390E0CE89D7CE02E9C0B90183E959CB233AF3754C137962563D
-253B70B07A45DE56E476437DE41DBF7D178A902E899021E822C511CCD4EAA212
-4687E475F6817C093719800AC5E9B6F6F80C7A275DED35E7E8F35D365C070654
-DC5ABEC55536DC085808CE8B657711B9CE5F2347A5F99808EDFC577E587A6878
-DEC190AFFBB5E443EF719E72A8B5541EEE670E90B36042712FBB0AEED585B70F
-4260EC637590AECC2407A7DAB5D789AACC819C3460881FCBD0BDE3DA20E5A62B
-3B021CAC46DC9557559B483AB41ABD4B0EA498F483730454826891EB93523F32
-C07794BE2DEC3A86F0ADE128E9FAAE879A961B04C12F1F0E65CB869DF7C6A79F
-C7CE635163CBE878B3E8723706AB83A9334F4C67F72D28BD1D02F9600BEED3D0
-B4DBC423710CDE7FFD92C96E5B80D79E2142EBF216F4F10A857A744DC7BCFD44
-CA57CC9ACC7726B1A8F09039F77F0B1CD29FD64DFCD6A179961CA869E3AF0A63
-C1D1
+2E080C10DE923C195F9FB3A03CAAEEA6A78E5994B2DC3A318F06679925ABB1AB
+5BEEBB2591961C13F25248DF7E43D2F7D8EF2DFE0C9F6332503E58DFFC63582F
+A120BF80E4342491BFE3833012907CFD93A90AA3E216D6D4DC0EB815173DDE5C
+1B9B2AB54706738CD00FEE5539B6BAFA1957F5A9BF70EEBCCE9CC306B11E36D8
+D00BF55A9FA5CFB32E7CDCA2DD37A5BB2D1F9A8EC0B5C1FB6EB83ACA9BD33028
+7F991C4E7C1BA5427C9D4463C864B44A0A8ABE45F89E3AC2EF454AF0ADD564EB
+8A3B841717842866E2EA6A60AD1926E861C6311C58B110EFA8911575FFEC54CB
+14C69B630B15EB96B1310195FB1274EAA3F3C603FBA6DE75B66E47556197AD6B
+FD13D8BAA3135913B0A7C692238A0450F7734D408552ABC33EF3AA89B7D1C8AC
+1D74CF4703117DD038CC44E24325F00B3A67598BE2A6A218553A744BC88AC513
+AF9FB3489FBF50078B4948BF637F7D458D558E8DA8DDF2F2A5498E52A3AFBE84
+50F28EA42228C1CB07B5DA81C34D733F6DA3BD02224AA73F1AA7FDF92ED9FF0D
+AD7277231AF2BBD9575C73DADAA9A9113DF3899C43C972750B18809815979408
+B477D75F9BAD6DE0339A2DFD07B42A84FDA822D31AB47096B8505F9FA2079B80
+10DD05033A17149C3B7A34BEE8E0962214393A269DF2F2CA131F367DED66320D
+79A03AE8239B8E5A095BB7FC90C1DA766880D29AFD86B9E7F61A3F7A406DD78C
+02CCF7AB8521C47FA61BCC7CFFC45CEDA072972A3F5F5C9FF09C5AF9F00F9DD3
+D77EA32D12371C2377FD2249C74E8FCDC1E389322E7A0616A99C14A352ECDA21
+E6CE1BFA9098C23A7BE5063C4654AB93338B46015B05C850EA549BAC9FF23959
+91966A4F50C5FE67C4D5657632BCEA14D9E226A78F13705282ABFEF36D4327CD
+811B421B12E319356136394B13B1D1C2A0AE9C62D37FA9DE80A00AC25CDEB3BD
+BF74FC8D4AC35C5EF6876D5C0E267847106FE804A1909728A6D75542ECA271A7
+3B4F5C761D3E195E5DE6BB53598EC77322A22AAFF7C39649DE9133EEFA9B3654
+5D0951EC63A5CFAF33DAF36D7778DFC3AC9914919288E3C470FE6D43917D0731
+2BAA724A14C2DE535ABA30380CAE8B192D0AC98FEC1F93A497754B2D3AF768EB
+A990CD19A702C770B7B6DB0615AC790F28CD55B3EB1C810ABB629EAB912AF685
+03D98799716FC3E69B3A6FE4640FE4D2169249A5989C068AAD5A6C185C70E3B6
+4845B07E3CD5C3C340C29F3FBB3FBBA8C4F408089F54FE801A67D0D320946DE0
+CF81EC5D4FFE38CF5C2F8DD4D505F668F45561DF35B6117A7AEAABD46CD3CB83
+26F2A8E51AC3A5F9BA131810FE9D548F0AB54D20FB4FE8B184864720D26F4D44
+43BFCC6070FB83466F17247665E982315994821DE0E6924D4F2DE3621FE25EA2
+D1FE7C26315203C2919AEADF40CC210ECEA00E2AEA76FCA5F38BE974B163D109
+48BA098253209538DC5B4BC02EEE99E68E234C2300E7EA7277524C6D8A92B6B8
+7169F198C9CE8FC862467B5283EE850FEC268A39656C395B34ECD2A990022935
+5673077EC8AD9833E6874C8C992149A836D32729A16984B5D8A18A3DD7A7A04C
+F657CB45A5C00B967B26864BC028D6E84DEAE880C6C5212D5F4FC2929C4BC816
+607556E9618828F6B462CD5D487F281B44A711A37B52685F0EB881742E9C9483
+CBDA125B50585CC0A4FCF825D738CC46B5F1D693ECFD11638D697FC16E2D2C52
+7B99F63D4456A9BA07FFD4F5D49B2862567EFB7BC7C33A3835E7252075245CFA
+4BCD96142A2185E73B1649A348DD67440444D2ABC80573D476624221862F4F1D
+4C8AFC555B65708F031581438B9B658A0269310ED50820E38B3B8725A6A97B29
+98B04F1247FEC25DCBF3C97DA581C98C45185C5343A357952B16ADE3893437E1
+FDEBF35BF4F7A2D5AF54492A9FA18A7F7A97F8BE69DEA33D57752946D89FBEAE
+0BAD1D1C4B0FAAD7CEAECB26F232DA0314C01DE27B0E5DA9565775DED6FC769D
+A6CFFF4E9DAF2F4C6FE1D4FFE3EEF0A1AD8B9A7962A56652361B0DB3B27C4E52
+437E044630C93B67BF1D60CF28886BAF465AA6F44E4B5BE901D83C7FBCC8BF47
+9C5DFD55E6B9BF3520E8598D588B1992ABDDAF159BF48DEFB2C393A6144CFB59
+15DCE0EF0EC32BD5E1B1A0C7C2DF6B28F14D9FF169474F7551E9759012C80C71
+45838DAEE81AEB19C0DCDFF69DBAF8B277A414E34069EDB972D462662A05D562
+C52F89CD26B4F7ABA626E3594428C7CD338715681868D211C58C8AB4A8A1D3AF
+D97A8E0CC1F06443A0244F605408283A34E01BD7898F7DB44E550896B3C20E29
+C0EC3C0666BA33CB37FC2AB60CBDACFBC7F031E04FE1E2BDD8B66AAE5CFAC42F
+59AF8143DEFFD1A0AF78BD4B0F308C2B3678939C1101D6C9CFDAC360D9990043
+3E89501BBD512C9CD8321FB4A61AB75ACD70B5060498E0243199AB40035E46EC
+BF87BE3FB31DDB23C348B7208715DC69DB525C4A85F65F579D3DB1DC207574EC
+EC90C6B0D5837C6384AF77127529778C0579C0379E24194BC97BEAF77A08A5E8
+D70A830D279733FF0F7FDCF0137A40FE0555DB9F7177F84120805F60D120D08F
+720445A8BE8CB8F54AA91BA20DAA3BAEFAD8BBD5B5A6086BB3B52379477466F8
+957F0F061F919355CBD428C5D5027780EC29962567BC8F5E8CC16DA90D8A02F7
+4D7A02FEB05F30838FF1358C9245130DEF0F9D6786ED2CC21394DC92D782F260
+1E755FDF36380FF3FAFF86B0AFE6EC3C6F7F0646B1E967688A2F9088AF47A34E
+C55CF8B4C448E1E3A34987FAB1A7D18AC65B2D18B672D88D9C82D38D73D3B76D
+BAD7C8431F0F3A7D24A3D118D14AA60345C87AF92D7BF9C1BFE9BAC5B8EBA3BF
+E62C289C768895CA437C4F1FE179C12EC83221DBEDF80F46763A0B891E0917B5
+0B214D274B6681AE254721172BA7AECBF10CEFD6CF71F97F43310AE31A411303
+18DBBC4DD143326A22B0D5DA01FD32627383C958BF352C77854BCD6B5AE52D4A
+36D850C91CAC38632EB80396E677513731164ACC3A7198056B46B02A8171EFC0
+E19C4E05A9214566DD5C358A2EE6F22DD401B33D99BF5F8B8BD0DEAB0C6C544A
+D2CAD78521B69F58B7321C18C4E0E97FE1684716D485B12C980C4A263466B42C
+2A01BDDF7A5D0FC8DD75A83959DAFB9B7BC87D1B5F6171B5914878B34CDFD463
+3FBAF3758FD63E5ECE0E86EF5F3AE1A465947ABF33421E111C5C76E28D94A4DA
+B255FC172AC45D34E52AD3F719591A2BD58AED84C1A906F80211D4AAB8189838
+313B39AA70C044C01CB09DF64CCB426480FC60050C965FD05184C0923BD8387C
+93976A1BB5E3049CBDA89307EB9487BEC4C946F537FD278D5CC0764B927AD35C
+249B3D925C0434F55D799D2F42FD6A8379DCAB9350025F6138ED5BC4AB033DC0
+02445CEF7DF52B42B3D841E32A957104B3CDA0A86348886701A39763C5B9B745
+6C24642787F4CCB9593D181D40721161778D65EB8895184EB658CC267824978D
+28EECBDAC4BFD429B2FA117B9FD2AA37BBA522D1CD3C0D027D0FE11D2DA19FA8
+BBEAF201A8DB15CD18B88DBFCCAE92051B80F905B6257C39395D6B792DC549E5
+7CAD489D79059242D71F57CA1C13ADF5A2BC8EE437EAEA7889B1583FB6DB65D4
+0B4B8B27F71F4221DC637479B69BCB071C8619A071D8A19EA1F86408104800A8
+3C08A2E55BC78A48F416CED858B29EE15569EE23824F7474B2154C022B4A029C
+A6B398D15EC7A352C90EEF8F2C946293AAE238113A242A378EB407EFB3C91930
+5F96B9A93C320648C8EA0ABFD072F92B954B64E84EE8B5822A8B8E9C2E672D03
+9CA1CA795CE1F2B6F345926E475BD47C48E4ED0ED7010DFA44C14D8BCDEC0C7F
+BFA4732A73975F1C9C4838EA438149CE62DB2DD99935283572372039E094E691
+74F8801AA0E414783E957B5DE99E55DE8B99A0D53D1C725D7B469587C7A27250
+71708ABA923B08B37F0147364D9C8EEF74FE7EBC06C647E2CEEE77EEEAE97C13
+AA0B25568EF8FCF971CB5AA2DF05D2CD2B03C79350C3ED3EBEA8408253A1E76D
+9B646DB119AA2BC1FFDD56CDA020BB3E08AE16AB0AB41932538CE4F38C69455F
+FA9CFD80CDF8F178C402A6B328F182AF842D7C489191B1C55DC833C414D2641C
+3E0770D4F3C41383F2689DC49E9F560BFEED8E9388CB8C042BF52A9121F4578D
+F2B957786C1252422BC65EB930E13BE614416344C817FD40E9DB6B539279B90D
+0D865F83C0CB1AD567B1B6339C0C5F47C6DBD456CB45B4D27768E71BA3BE6212
+46D0239D970B4D6EBEE52C4A0DDB9F07D69CDF193569688754834BE42624416C
+27135FE152A2FEAC9CB98F3041675B4A4C321E3B2A8681E76A0160644D5B2FF9
+970D2035C3C2AE3E0C6176C7DF7B46BC8286F2959D5DD190061395B58FCA8A0C
+35E3CE3E56B5E7504EBCC9F64221CC07056D3B7BA81E93365A20EA592A853A82
+E261A4CC7F2A6BBD366BA051837BD3ABB5DA5D7B700BECE6E9CB296DFE877E0A
+2EAE61B3898ED4BCA46A06D6E30670E6BD4B8749D993419688C430BADC1963A8
+1F10B657CDBD25653A9F33401688478E9FB00309B756AF05C6F3D0E9E2F3726C
+12DF044561F0878C812A9B55830BEB0CED4858618FCC235FD6C7D1F6198E278B
+0D4A12C2B6994EB41D688BD7D06CFCEED043D0544A8295F811B89E006E470440
+4C8BC39A21A5E00C26D07C37DA951EA36F9CF2BF4473F4449BE816EB733DCF25
+99220E9B3F8E083FE2A7A7F28D5FA867B8562991A543F64D323ECAD370DCF8FB
+94E3A1221C12C84D6ECAF55AE55B5920F60F2051DE3C3179DB49C3E44A6D4687
+FBFECC7A026F590806041DB8B5E2699A2768A8E4B39B4CC3C8A28937C7D264F0
+0A155696106FF74E604B262147CDF20AC9C310644F46544D983501838A56A5B2
+AC1AB33F40572F1DD11775C2F056F19CCCD2CBC45234742DB65D1DF2D3CE370E
+4F3B64283BFDDBCFA51331415CB78E03A73B3E592764F9CACE7BCD69C4B47714
+FDF3E3AE384DA9051DF522A59E3D9499C5DE0C352A880650348D18EAE23A737B
+39840E5B56127C297CDEF537241FC1A53AFF283F6393E74E1F02BEDFCDFD0667
+0BA98DEEE0CFDB5E0C03CA1CF5D2720283EB01CEFB1B79976D6F406FA389B59C
+789559CE3BF2ECB4A5CCFF2CFA855EA2FE6917ECCAC25438DADEC709706E0726
+772AB15D6DCAE1F36AB91EB583D1CFCBE8E007C04366CEFA905E9783C00D4B99
+CA4DE0AC8792A6585B8D471240B51F5BB638B2D63CD5AD9C13ECBDE314F28EF6
+4A4B32D3679BC0009B7845194BD0905712923F88555B9BB80E1957D9CF6378F3
+31AB292B0920D7A7F4D519F8C9A7CBE4988D1C26F9DA61BFD392CB474B4BB668
+FE77DCF953DE8B9DD1608CEC4A26F1AC5DF2C09873CC61B68850D29761D727E9
+912B5EBF7E6E57C503C22F18AB4FC094E3CA7DB7B0345276166EC5CF38C27DC1
+1F337229BA53EB197028FE6829933278953ADCD6FE73AA13204EC1795F25F477
+75A23ECC18D554268467EDF71A3E4642564F3FDC622B23D590994A4DACE02B6D
+0591E13AF6FA382313601A6FD7B6CFEF0179270D75C40635A064B255C14C8B85
+8DB554B30A064B7B7FAE922523E519AC871629C2A73F98EE0184306CE9609C7B
+FF06283A051E48D6E8EFC6B62FC1012264CBFC274C9BC28B12CAD77B43391514
+E3FC9EBA95ADD2481B8949EF4DCE0585BE0E8DCC3F564E4A2B5A00DCE2329377
+149933D27D2AC192CA70F4C78D759854BAADF229D20264E725D886263375CDE1
+7FC3C2FA2AEF0583BE68AC6C694E9C1D5D76273C9ED4786A6F0B0F4CB670F2E1
+05EB78958B038CBBE0BF6926DA3412FAA53269FA60C45E352E2F66000F9CF179
+570D01B796CAF9B2DEBCF35A759E102F589038EB06BC5D7047B9234FFC84C57D
+4710DC3148954E27A3EC7BB7D306943B0DEA92A21B52D33937ACAE51A7DA1C79
+9FED622157B532784C158D9B137741D3B32C70028FE99E54CAA98602E603692D
+E3FFDD148431BDFF8AFFC5FBB10F7F304A42410FB54868B41B2104A8500FFD64
+3437AFF9717E4814F90F742833EE0E9601ED93EFEA6CC174A07F57B7727D6AEF
+6C94EF4905258729023703188A6B69004D25EEA6F2FDA6357A0A83DD49FA3B1D
+6529FDDD8576C8D249B87A00994F315B2ADE21214AA9642A58D2331ED4B2A633
+4325503E9E4D98934EFB374CB5A1D9C76D03AFDE9829F5EA3B21CD685044AE1D
+26FBFAC83068B2AF4BB93841F1CE89A92BA7DCD5C58A020C003D01B389B302F3
+CE95588EDDBD8E6F2AD1FE66B1A27C9ECBBF0AB4A4E470CE288B7599DAD31E08
+C752251C2102B9B78DE589E2E0914A4DC2DF0BAD66A79B444DFA4624C9FED940
+9C49AF5127B6A534928ADA9E971B07245E3E7A5C4B34A30CA7A703BEE659CBA0
+E7ADB8EEC843BAAD46B8681AF4098DEADBE7B56ACC2C5187A961F105AFF18251
+5CB8C886FAEA453F6B9DAFF8AE2CF0FB6ACFDFC8726B657BC13C93F4F4AF0E5F
+1FD259DD724D7A4A9DEBE844A3E8AADCAB1A437DEC6A42BC0FA6CF19C0DA7777
+9393FE650CFEA5761EF824E946BCDE69B6B9DC72F228C34BF2D3A275FE1AB3C4
+B76649FE1791E3124858F8B634D0CC4C68E50CEFAF96C936F16270891BEACD72
+1A804EECD7AA06D8CF90D1FDDDB412B980CA2B8268EFA49328BC7E7C7AE016C4
+4E1DC48118D635CFE7FDBFE223B4A631A94645CE522988621B26858ECA7DC122
+3A1FC1B14750990FF721F1EB7ED1D8B447A51A0DB2C721409707245BC1BB6ADA
+9303713CBA7FA185052BBF254F5613EEFB5A8279212ABC39E340CDB7844459D2
+5DFB805531A4E1BFE7A377A0395FAFEB8CEBFFF8809EC547404986B6D7876752
+C9181E07C84E0114588452844020CF1028E5B782F7D3F2B716836B66C8E68A22
+F55EE41606E0A035FC109AB7A294EA3D504285F28D2B9054B9ADAE04093CCA6E
+3F768CE4E587F85E29496708CADA5BD7719D4650C67FB1458353687DFCFE3B6A
+7868B4BC7B9825A6372B13F455C454DC37B6807A9069D17E7E336360B10CCE14
+83861D6131993FE148A9BB9F7681DCFA477D5E3A3E82CE00650FCE40639992A6
+4D1206C42BB1A87BB3ABE72966C48F85F5237A7A1ACF7E4FD71105A65F0D1F01
+E01C7B7DEDC88198C7CCE8617E109080BFE1F2AAE6AFD476A71F4EE67EFB5692
+8F35045C3DFA8B18957D87923C66951080414A229F8C83B72A85CD060C6971B8
+1EB996B4E8F13536E3903BC49EEB3E736D5DC41C63356F0FE468CC0B872E44E5
+E7B78DAEF8C0F79D26F3EA6F08C80258429F21394937B03421F39035666B2A9F
+4EB75DFC2909F60D19669AEAF8933E1D5A7E9CC45ECC34D68854124B62D0FCC1
+05946FE9C0E872380756DFE431EE8B5941F03C7832C1BD08E8174216E4018821
+3EEC3E49097E8421D92785868785C6D883EA8181E820BEC8C39E30386B59F099
+B8BC4FBC1D22608FFA88C4DB42D79290FDCE5A68AE57F751CD8CC5AE6CD9181D
+C11FC078DF2933CE800AF554C9D857A58E29B60E01E77AB1703188488E4CBB01
+BC821D7254B0AE1B3DE113CD6584C18D89472BE9EBD1DFCCA15CE83F7C8D195E
+EA75DCA5316CE3CE6087F85B895F7DF73D15ABAB6DB710B478C17F1C17F7C770
+32A1E39FF1EAB4734D2BA37AED9A296BB5FE06E220871FEE08CB67E5F429930C
+84F23DCE0F3F0415775CA86C871CEB7BEBE68DA4D39780B12D11E2A8A49F2724
+95FCFB836C880BB3BD3EEAD4A4BD4416CE9EDBEAB4AFF4E0494EC8A4228A4BDA
+7B2DED10F7B1C46D13C121CC6ACB12664E492E8025C344A5F71A7B8B3BF099E3
+5BD0A9C72BCD1297C634CE18E5B7B857902EE403CB275AF0A6F0B986ED8B01ED
+3A9418AB0EC6386EBD13A3608BC0FD8DC7D55F7134CCE3C62BD499655DD03FBC
+FE82A10C9D4B9FADF7FF06A62A1C5FD3C6F4AD8195551F82D960062FF58B29E5
+ADE3A77BD9AD07A277DE8333DC431C18FB39FC035ACEA068170181DC571C374A
+69D5F07D0B64BFF4C3B79DE152A055A0EE5A18522D74E59FBF796017E9B4EC86
+6B108A9CA1386458B2B6AAB7909794942E70AE15D9543A87F2A8715A639BD2F8
+3EC20F8DCDD32D2228DB053BA5B1F54A733965332DF51F44C6B6291609E2CC46
+D80C8759EB5E1CE7FE3E945C2892FC1396AEA8BE5501AF3DEE22DAD887E7BB49
+2AC303D5A1009869E4ECC7F2C9B759BB1C2B441C866473C67B6F246E5E81EC55
+6C0E1E117440A4C71ED8F77FF9FE77601C8B1BD1331EC06157FBDC52DBC85A9A
+8B6F0A7D578DBA4923CABB923D6E87A6AFEEAD714AEB730930B1A08C3368CEC0
+6811253A57630C1B25C4148FDBEF94F6B5DF38EBB862651780AF468127EB084A
+914BE8CBD4E96557B2718F1F2623DA3DCC3391CC68D71CC1545F8D3082736969
+D8501656BA4A689D41D2310F4B7B36F271EF16927CC828C1A8B5467D26250BED
+A1C8A8BAE59B5C657BCDB7350D728B21DDF1E848D9482228CD120C85FC9ACDDB
+978AC509F933470EDB1A31CDA4850C368D8FF7C1669CC62C286979AE74F07FFB
+E2FDA0869C0D5884B9E48457EC19EE3E95B4DA9605D611DB1A5CDC2487A7CD0A
+7A0CCDB7BDF4B032B62E8551C4B948025F22404CCB18801CF9FDAE0C9C777B73
+A25008CF809712EBCBB770B250EA9347C864064AA88F942286FE1BD04E99A385
+B2DE0EFA3DC20FA84E15AF6B4CD6ACDAF67717827CAFB6BEC5C23552566C4B3E
+2DF783F09EE7E9872D1892ADC49BF9103E1B705EBCE07F7041BB29C0950CE6C1
+BC719ADAFAB7BA379DC44BF0EB42A306384BEE1C2266F509063A91F989AFF994
+DC94290DDCE511D731F2D1016D2076377CD41A44EBB569AE1E01D5B8253F58B6
+1D834CF2437B10CF22F9EE9BAC3C942D5565E8807C5C0005E9C764531DA374A0
+D3D6343FCAAC903C5F6845ABF15651D91EAF66463ED51E098BF31C911050A7EA
+826B8FCCA42C2664FD31F2D37A930F6BCCA2BBAEE925B232C005107628BCCC2F
+D8EC132E205A888D79ACC0BF5651EF2BC73003144DCA4D30F2E3FCD80B1A93F1
+D177C1F556BFB1A925F52E82B9E3CFFCA4C6683F5EA237AB81DF8C533DEB2EA6
+6263DF951938A62AF2B05BF8D1A5644DAE0125899B6438D5223944C9FCC8076A
+5CAB809BEC2EA32016FFF0A2D69EAA2F0E85ABA5116D3A18E6A2D01A1F525144
+94502CFF746D8CC1201EEEAEE04885C15D66F62E54ADEAA008C53F5550F76C94
+62BE7AC0BFD4DA723E8A6291B14E2CFF4F59965A39EA256726D296F1DA987995
+2E1BF72D17924B88BC285F1799C930FDE1C701ACF32E3EFAB5CBF14084DBEDBD
+FDE3711FF58C0B7DBDAAEACAE9869559767C4AD35820D2B2569E8A7E1884E363
+E597F6956A036C65BD1F36085743AAF8400F3028CE806F4BA722300DA8C16ED0
+2561339100E28E07F7F372FA9676047B471777292045AECB35471BFB02EE0754
+FD2B321388A7D1EBE5DBCF70E9A1F144C80BEC5FA78277C16A9073C6D83B19FC
+1B2817027169660B8BA2EB08445BE1C66EF2135E453F41FA094E6AB4D505187E
+C67821FA59C9322253100E4422D593627BEFC4C30296ABEACC704FCFEB7EA562
+12C4D93839F26DD0133DF5E839C8D32AC273B2923B29EDED7436FA9DE8F907FF
+B6C1A15248DA6548C53C2506CD9E99B627BED7C518988ADAEB7BDF5233DD9DC0
+F68608079220AC2BF3AC730605E782132640BF4C869A9983AA3861C474DF9F46
+5A0644313917D426B1408AB392199A758DB4A15FC2AA965BFB0854F4698E3347
+368E40396715620B5D7A21FFE9C7636DAAC7E4B0DD44D9D6EE6FFAE47B99661F
+7CD3601FCCCB4F0489996F6E1F510F79192F50CABB38C51A6A3F954C2748A0AD
+A69221E7ACAB681AC81AB52EC969D5B8DA96BD6B34145E52DFE419BA5A825561
+4D2B2D8B32376D17DE4AAFD72BB54955F68BA791E01957FFD02BEE0F4BEB00E9
+C829B6682E6B6F4454FD3B79C102C2CC60BB384878DA057CDD1493E0F8A5A15F
+8000295338DDCFFFBCFC44F27C2DFB07FD0ECB0018C192EFC34A6DC1F9176851
+3E0328B62E589154241721E0541962765F0190A9D17CF219F663125288AE196E
+CF6F784A7A635D8CFF6A76D0E11465EB8A63C2A4D4E9A5C283EDDAA489C7FBD2
+73CF2C91A0A1C33110F88D5B6D27A0B352A6B9E10EBEBDB3B826EEB50841554C
+8B69094C65555429252AF4D3B924CF411BEB9AEB235429DE4936E7798A8D610C
+377E294A19B1DBD9CDF8A63F6D7CDCE28B72DB4C7F0F6EA1F6DC8F4686B3F1E3
+B8C67AA7370D607DB6DD0263393E6486AC09CF6B489C45C9B2E8B2C72891D307
+488A58E440B956317C1D5FB8F98930AF076818780D25EA2C0D0819CD7E5CEB7C
+497981D54B1D8F8E62BB07B2F5242883CF314331A81BE11DB375B895212B5A83
+4E68377DC532DE6C9F639474F518B60CDB5CFB9CD3DD963BD720CDAABC82E7FD
+0D540442FA9763488B77A0592FEF7AFFBB40B80CD0F42CE73615D7190219ACB5
+1BDABAFD4E51DEB4AB0C296738AFCAD36E57ACA30CCDA22B79E67C3CD89AF603
+5EDAC77A324B6A0BB4C89B7BB17EF43A1BAACDCC8A3E626B8B11E8DE73BFFE07
+45210F8BE4E530623890F4039B65117F0523D9261988F1EDA864AEB2B37528C4
+D5C6A0BE0BBD170E505451C53B381FBD3ECB7A329F7E6501BEBDA228440CFE12
+768F5FC9DD948C6E92060B64465DF451ABA0BBEFA8D8C1CEC434AB82FA978967
+3A01813BBC9147105F2C49504CF9AA9CFCEE4A976DA3ADA0D6207DF43501E06F
+5226B6B90433790AB24009ED005F5CC228F05E221485E475389A253124A49074
+2C3983517CB731B50F2E4003B1E25F648794A9AD8E64BFEE2DA083B32EE2D0F9
+2CE8820EEBA9B91E7D1561D8B4FC45ED66C95D364524FE7CBCF7B16EE97DB739
+B9B45DDB8C45918B0664F6BE537AE14671D8AEC2F4807341ABBFEA7A1CD63CDC
+CFDCEED3DE1035AC803AF46305983BD156B089ADD0A81CD9988280A9E16BD900
+A65A332DE5F3A2E2433DB662255FD31580C88854E754817125B059F10000A1CE
+441E40ED502BA7F620E21F6FA85F011F281DB3CB63723A8A66C4F1288170351A
+042CEDD611AF550E235E9ED1BB2E878655D68BA7F7602E84237C52F99D95DBF9
+FF8F68E98C081209390368B65E4F94587F9E0DD527146A592D807DA4D377C0C9
+F2DBA29080842E6D3F7F34E11454BF54BD9F312308A73CBF464C0758E517DB00
+73F494D29CF03D40FB6842E2CA8C8E7309500F35F47DF50847CF47AE5FA60225
+F468DB13E79532AAA4272A45F1A55CBF7E0C01B7A54D5AD1186BD1D73E602162
+01E24798F5BFA86787A5DA2695E3354EB25B7DB726FAB3A17FA09A6B212F051F
+F6FB3215A24A05B3D3F4F93634B4FFF4960BE17644A981B9FE17B586F952E4C8
+7506F4F0590EC85128AFF5C7CEFFD6BCA39261E0C5275D8C8B03A5CB52C7D5CF
+B9183782E12AA1184373C41EF0E5E759EFF61EB627ABFCA8C90D2A1DAEDD7422
+1CFFDAE95479ED216468ADB29ECD32654FF799C1EB92C64A844A55BC52D513C4
+DB2794F2D436D4F9A224CB760781143C61A92161D563F0AFA6842D61E96D8FC4
+8353102B2520DD96B25E41F968CDE061E80BD0FA0820D7B98471FAB1889293E8
+5A0D903B6572B1163998B02432AE8D020304F200FE743B5AA6E0C0B7730CB260
+06B5EE9FCDF4A4BFF2C8E523703565EC7DD6CF077A0CF27A80C6ADF54148F28F
+2B774E35E1FEF541418F38DD2556FA01BC257076AA9872B6456C6F5C959BE404
+CB6673B29D63868CDBD199D643EEF0D59DB858FBFD759C812C7EEC46720217EC
+295543072288962D4063A1F08030BCC6EA1EFA3DA5FF240F216C90322D34FCBA
+9522FF5623A082B828AC9C2EA9666A1C0C33725502F86AEF34E884E17160291C
+8659DF678716331930EFAA7096AA26E6285BD4CA81B8890D48378B62867F7928
+3D78C20B5655BC15C81961A0238043EE85E09247E1847E4534F0ADAB4B51D39A
+99944191109D0FFD4809343E39FBE36B05B947C4EFF2CB26CAB8C540C7D215D4
+D3E4B0C116851A9B4858DBE7BF9E19975757A59AFD6DDE4285B546020123D0AA
+C03A073004396E54571D0DBB593DCE2E4C29A375B8001970CB88E500E6AC8628
+B0D0E414CDCD7F5AC164D1B03795442B7DEC0FEFE0318C327E766DB06B112BDB
+18B06908B760B4804A5F55881AEEBA79704454852D7EF4C75A58BE0F02CA46B2
+E4183D4326AE732D5105DBD50E55DE2BC2406B66589F711A7CCF4CBC3C95AE62
+BCBCA54F63440A6A2EF1F7897FFFA4D1D479769137E06EDA52707ED2536359DC
+D7A54EF6E1BF5FF917AC2E499AD9C4EA1B7D81D03C9F14AAA9D85E6951712E3D
+8E9CB2370FF6D068A9D80203247AE015E4E1C9A8C252DF6F287A1B2AE74607DC
+96A63A846C24F3465CDE3D7C54A11D35A15EB5BA9943AFDBF9414CF00CC1C3AC
+512787218DE526D4549F4506279CD297DBC84A5CCF67BC922C4F158810558805
+344A7F209E977E13E700387ABDEBD9C26155747A9679E5D0B15A8820FD1E97F4
+478DCEA900DAC3751439EB73DE0D0AF49F1AF0606511E3812D81AD585AA7EEAA
+13CD7EC33D9F6A90370D5198184F47B75E6F0DFE40F0AFD2BFDBE46B2F4AA233
+47622B9B863E728096BDC9559CF0FF5F1796C50258E75D90A4AFBAC4A17EB9C4
+466C58C9618BDA37967F172EF7DFA4614B41F05838AFC2E31DB21A8ABBB903E8
+7F5BCF4E4A1E0BB48BA96C999483054FAA7086EED4F329B15C73AF7A48B4E046
+54DBE0B7BDBB377D74CF97B8184B10D3EAE35665140702D3FDC76F25DDABA545
+54B2A10C965315DDC1F4BAF074984881FBF5EAA91355FAAB57CD2B35A009FAAF
+B509C32E0DE465688F55A4BD86295B4CF8DE632D1CF1ED8FC9A3B443BB11B2C4
+26D566465ADD22C061EABD8C48430BA23290DC8A22FE12A49EF82C560EC2790A
+9C87CA983B173A5CAF4B89EA9700A751546CEFAEA91F7FDD678CB77929DDD5B9
+4A405EC6BC3A4823915A3CC58400966A64B92D23DDF891EC8D0AAAF2A4AA6CC0
+0AC53F6FD876A44CC621307CB9F34F0380B991A55FFE1C9FA8775BB842B0C89F
+DAF0D32FE956947EBE97D5703582AAEF3D4DFA918F028636F80920DDE2D3FEBF
+ED998E530D59CC919A2DBF6DF91192097B160C6168310BCD1F8600C18B3DC46E
+A899979F762C1426ED046D94486A149B08B476A2A67DAFFE87C812CC84A5A7F2
+FFA96E4712592AE0F3AEF41983B19FEDAC029EB6E99D130856B2E7516F192783
+9A57B32A047C95CFDEEF612FB006C07E49AA0A9052232BE5CB243C8D9078B077
+0BD19CDB8AF2C7F56FDF7BD826E1D8ED52D7D994EAAE31661302651651EAAAED
+DB4C8E62F9793539BC54E33E682268A10190A1AD8C30359821A26C178E3EFE20
+8BB0F168DFBAADFD297737640B7CEE6BD6AD96AF38570490AD7C7479D2A42296
+9BE596CB48A0DDE1EDF46FCBEE7C62C3F2B3FC989371D057EFE951AFCCC84CD6
+BA834EEFD27B14F9BE22BE047892D9DB051A11756ECEBB27CB8F1A1C516F0B27
+EDE6A8FFC9645B383C6B9F2C5D1EF5C6B9D21450BB199F99B611A6124E1868CE
+7CAFA0A287ADFFD2C8F28A8E68DE6F77FAA0256F6D3432FC886BD17658F0C0C7
+26879EBDD3D021D6FD5C20DB7DE49CB11E85F727C6CFFD188563874473D3E90B
+6171BE1A410B74BEA342360C0C95D8963E03C1F1816CE5E75531FFD42D9EB334
+CC2118C94269E229AA825E1750DFC6CA12F62875E3CFA4883B28E307EDC2DE52
+10EC5F0C2CD03A0B796E34D71CE901438D59288ED1A4BF063B2BB042DD9A0863
+F356D1AE896CA6C9DE32D0717E880AAD1440E8E1C34E7BA81DD4C65290638369
+6E37E74BDA09AE2AB1FA8DE2CB27A88D43DCEF77DABE29526C006541EB2843BB
+E83ECED0E872136662D81295D55F860A6C2183DCEA90D9FE702F510C5B62BAD3
+8834110293318956D1724C07794A6F8D6A312118333B5DA3AE05DB7C773EE7AD
+EA36A38FC4EBB21CF46E16A33B76D50CA6789AC16117CB1254C1FDFE5F51662F
+E442D9C52AA971C031FE337741E63DA8C1D544E68F0F80CC6D2CF141EA89638F
+9D14F1A63DA1503AB23BF1D7B19E5E0E543660F3ABACBCF3D0FD3F288A8EB696
+B1EF39C30042BFC4A899E4B528B38E8EEF04DBDBF072C31FF0D7A4F8A406F6F9
+6D40D86C613305B82BC1BCE1D29152D63FF0277248E618C42AE5F35B02293F3A
+981ABB4CF0D5349944F5EA5AC9BE4D7F86E18AED6548B98AB6F63E046ED4D1A4
+98BD87B5CFC7C541E3DC974554EF88290E00FF088A42363A74B6B2B5CD073C72
+917AB7C15AC443337F5552C183AC8271D7584E952E3C83A2205AB00E16A974B7
+0D4B908402BC16FDE747592952B5D2105E223428F1DAF74C85879CF74CA6D181
+7722E820B30CE7FC492E67C3D29B22D998AEEADDD054674D71C98E720CFEDCFE
+165BD34889992AF05778FE73C99087C7CC6288847D879EC77C21C73E5AEC1D05
+08BCEB3689CC9D7E197F95087AF8B16DBFD1BDC1CD450948237C54C409A9FE85
+BF0385545954105364DF6AFE293C36E236616A981C2B1A2311F9338426256A69
+F7A896D9BA6530622D1191E82317DCAAD8622B51DA357014203665315E09406A
+691EE4D94B6D84589DD8D3A8B594455F66A74824F4739C5F5D8E956525CF9273
+05E3094E4CC0FE16FC5F0D68556CB0120AA431737837CF774B06BD17D6287781
+350DB06055A3BFA5E7A0253136CFC871A26F1477B3C6AC4D0C54DBB2D5BEFDE6
+A7E4914ED195CEBBFF8E1445C7EA36875770631D5E417E7CD6EAE8C1B13441EC
+F62CE056CFB2DC8368F4C0B2D65AFACD82E07324C3F8904CB71AF2E85CC98116
+9A7F9394ADAD6B8107D6358E7B465E454D058B78BE2A55D0B937561535265BB1
+4184F8D7723BC0F7CA7B5334009C7624D30E846B3DA4CC77CF54364B34B2F25E
+77664C76F12462C5B2D2EC2178BDAA2C35011DCA5E094DBEA5BFB8342BBD9677
+FF493BA9B30F2F8D1250D4B1D5B51BB6219C673FD0145DD86900398F796B8AE8
+5868D33B8E71ADB374DA3D312FAABE8B32276D537966758C57A18AD3A8890806
+1FAB4F9F6A5FC613EF38CE39A1567E520F779E98
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -4293,27 +4285,27 @@ rf /Fn 197[33 58[{}1 119.552 /CMMI12 rf /Fo 134[85 85
 21[91 17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fq 134[48
 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45
 28 40 51 40 51 45 8[68 93 1[68 66 51 67 1[62 71 68 83
-57 71 1[33 68 71 59 62 69 66 64 68 13[45 45 45 3[30 2[45
-27[76 1[51 53 11[{}54 90.9091 /CMSL10 rf /Fr 134[71 71
-97 71 75 52 53 55 1[75 67 75 112 37 71 41 37 75 67 41
-61 75 60 75 65 3[37 1[37 1[102 102 139 102 103 94 75
-100 101 92 101 105 128 81 105 69 50 105 106 85 88 103
-97 96 102 105 64 4[37 67 67 67 67 67 67 67 67 67 67 1[37
-45 37 1[67 5[67 112 1[41 20[75 78 11[{}73 119.552 /CMBX12
-rf /Fs 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48
+57 71 1[33 68 71 59 62 69 66 64 68 13[45 45 45 3[30 30[76
+1[51 53 11[{}53 90.9091 /CMSL10 rf /Fr 134[71 71 97 71
+75 52 53 55 1[75 67 75 112 37 71 41 37 75 67 41 61 75
+60 75 65 3[37 1[37 1[102 102 139 102 103 94 75 100 101
+92 101 105 128 81 105 69 50 105 106 85 88 103 97 96 102
+105 64 4[37 67 67 67 67 67 67 67 67 67 67 1[37 45 37
+1[67 5[67 112 1[41 20[75 78 11[{}73 119.552 /CMBX12 rf
+/Fs 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 33[{}93 90.9091 /CMTT10 rf /Ft
-131[91 45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25
-48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68
-68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71
-59 62 69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45
-45 45 45 45 45 25 30 25 2[35 35 25 71 76 45 1[45 25 18[76
-51 51 53 11[{}88 90.9091 /CMR10 rf /Fu 138[108 1[76 79
-3[108 1[54 3[108 1[59 88 1[86 1[94 14[144 4[184 10[138
-66[{}13 172.154 /CMBX12 rf end
+48 48 48 48 48 48 48 33[{}93 90.9091 /CMTT10 rf /Ft 131[91
+45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28
+25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93
+68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62
+69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45
+45 45 45 25 30 25 2[35 35 25 71 76 45 1[45 25 18[76 51
+51 53 11[{}88 90.9091 /CMR10 rf /Fu 138[108 1[76 79 3[108
+1[54 3[108 1[59 88 1[86 1[94 14[144 4[184 10[138 66[{}13
+172.154 /CMBX12 rf end
 %%EndProlog
 %%BeginSetup
 %%Feature: *Resolution 600dpi
@@ -4327,7 +4319,7 @@ letter
 TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
 b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.2,)g(for)f
-Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3367 1697 y(July)f(2010)150
+Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3217 1697 y(Octob)s(er)f(2010)150
 4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
@@ -4335,21 +4327,21 @@ b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
 (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.2,)c(21)f(July)f
-(2010\).)150 3133 y(This)35 b(is)h(Edition)g(4.2,)j(last)d(up)s(dated)f
-(21)i(July)e(2010,)k(of)d Fq(The)g(GNU)g(Bash)g(Reference)h(Man)m(ual)p
-Ft(,)h(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8 b(ersion)31
-b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377
-y Fp(\015)f Ft(1988{2010)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
-b(oundation,)31 b(Inc.)150 3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to)
-f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
-(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f
-(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
-(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
-b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
-(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
-b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
-b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.2,)c(20)f(Octob)s(er)f
+(2010\).)150 3133 y(This)35 b(is)g(Edition)h(4.2,)i(last)f(up)s(dated)d
+(20)i(Octob)s(er)g(2010,)j(of)c Fq(The)h(GNU)g(Bash)f(Reference)i(Man)m
+(ual)p Ft(,)150 3243 y(for)30 b Fs(Bash)p Ft(,)g(V)-8
+b(ersion)31 b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602 3374
+y(c)577 3377 y Fp(\015)f Ft(1988{2010)35 b(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150 3512
+y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
+(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
+3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
+(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
+h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
+(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
+(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
+b(ersion)39 b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -5750,14 +5742,14 @@ Fq(NAME)5 b Ft([1].)150 3659 y(This)31 b(pip)s(e)g(is)h(established)g
 b(page)e(27\).)39 b(The)21 b(\014le)h(descriptors)g(can)g(b)s(e)f
 (utilized)i(as)f(argumen)m(ts)h(to)f(shell)g(commands)150
 3878 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h
-(expansions.)275 4019 y(The)f(pro)s(cess)h(id)f(of)h(the)g(shell)h(spa)
-m(wned)e(to)i(execute)g(the)f(copro)s(cess)h(is)f(a)m(v)-5
-b(ailable)32 b(as)e(the)g(v)-5 b(alue)31 b(of)150 4128
-y(the)26 b(v)-5 b(ariable)26 b Fq(NAME)p 931 4128 28
-4 v 46 w Ft(PID.)g(The)f Fs(wait)g Ft(builtin)g(command)g(ma)m(y)h(b)s
-(e)f(used)g(to)i(w)m(ait)f(for)g(the)g(copro)s(cess)150
-4238 y(to)31 b(terminate.)275 4378 y(The)e(return)h(status)g(of)h(a)g
-(copro)s(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t
+(expansions.)275 4019 y(The)d(pro)s(cess)h(ID)h(of)f(the)h(shell)f(spa)
+m(wned)g(to)h(execute)h(the)e(copro)s(cess)h(is)f(a)m(v)-5
+b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 4128
+y(the)d(v)-5 b(ariable)26 b Fq(NAME)p 931 4128 28 4 v
+46 w Ft(PID.)g(The)f Fs(wait)g Ft(builtin)g(command)g(ma)m(y)h(b)s(e)f
+(used)g(to)i(w)m(ait)f(for)g(the)g(copro)s(cess)150 4238
+y(to)31 b(terminate.)275 4378 y(The)e(return)h(status)g(of)h(a)g(copro)
+s(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t
 Ft(.)150 4583 y Fj(3.2.6)63 b(GNU)41 b(P)m(arallel)150
 4730 y Ft(GNU)36 b(P)m(arallel,)k(as)c(its)g(name)g(suggests,)i(can)e
 (b)s(e)f(used)g(to)h(build)f(and)g(run)g(commands)g(in)h(parallel.)150
@@ -6003,23 +5995,24 @@ b(ariable)31 b(or)150 3557 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g
 (can)h(b)s(e)e(used)g(to)i(app)s(end)d(to)150 3667 y(or)36
 b(add)g(to)h(the)f(v)-5 b(ariable's)37 b(previous)f(v)-5
 b(alue.)59 b(When)36 b(`)p Fs(+=)p Ft(')g(is)g(applied)g(to)h(a)g(v)-5
-b(ariable)37 b(for)f(whic)m(h)g(the)150 3777 y(in)m(teger)k(attribute)e
-(has)g(b)s(een)g(set,)j Fq(v)-5 b(alue)44 b Ft(is)38
-b(ev)-5 b(aluated)39 b(as)g(an)f(arithmetic)h(expression)f(and)g(added)
-150 3886 y(to)e(the)f(v)-5 b(ariable's)36 b(curren)m(t)f(v)-5
-b(alue,)37 b(whic)m(h)e(is)g(also)h(ev)-5 b(aluated.)56
-b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g(arra)m(y)150
-3996 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f(assignmen)m(t)j(\(see)
-f(Section)h(6.7)f([Arra)m(ys],)i(page)f(82\),)h(the)e(v)-5
-b(ariable's)25 b(v)-5 b(alue)150 4105 y(is)32 b(not)f(unset)h(\(as)g
-(it)g(is)f(when)g(using)g(`)p Fs(=)p Ft('\),)i(and)e(new)g(v)-5
-b(alues)32 b(are)g(app)s(ended)d(to)k(the)f(arra)m(y)g(b)s(eginning)150
-4215 y(at)27 b(one)f(greater)i(than)e(the)g(arra)m(y's)h(maxim)m(um)f
-(index)g(\(for)g(indexed)g(arra)m(ys\),)i(or)e(added)g(as)g(additional)
-150 4325 y(k)m(ey-v)-5 b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e)
-j(arra)m(y)-8 b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5
-b(alued)34 b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b
-Ft(is)150 4434 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
+b(ariable)37 b(for)f(whic)m(h)g(the)150 3777 y Fq(in)m(teger)46
+b Ft(attribute)38 b(has)f(b)s(een)g(set,)k Fq(v)-5 b(alue)43
+b Ft(is)38 b(ev)-5 b(aluated)39 b(as)f(an)f(arithmetic)i(expression)f
+(and)f(added)150 3886 y(to)f(the)f(v)-5 b(ariable's)36
+b(curren)m(t)f(v)-5 b(alue,)37 b(whic)m(h)e(is)g(also)h(ev)-5
+b(aluated.)56 b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g
+(arra)m(y)150 3996 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f
+(assignmen)m(t)j(\(see)f(Section)h(6.7)f([Arra)m(ys],)i(page)f(82\),)h
+(the)e(v)-5 b(ariable's)25 b(v)-5 b(alue)150 4105 y(is)32
+b(not)f(unset)h(\(as)g(it)g(is)f(when)g(using)g(`)p Fs(=)p
+Ft('\),)i(and)e(new)g(v)-5 b(alues)32 b(are)g(app)s(ended)d(to)k(the)f
+(arra)m(y)g(b)s(eginning)150 4215 y(at)27 b(one)f(greater)i(than)e(the)
+g(arra)m(y's)h(maxim)m(um)f(index)g(\(for)g(indexed)g(arra)m(ys\),)i
+(or)e(added)g(as)g(additional)150 4325 y(k)m(ey-v)-5
+b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8
+b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5 b(alued)34
+b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b Ft(is)150
+4434 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
 b(ariable's)31 b(v)-5 b(alue.)150 4645 y Fj(3.4.1)63
 b(P)m(ositional)41 b(P)m(arameters)150 4792 y Ft(A)28
 b Fq(p)s(ositional)h(parameter)35 b Ft(is)28 b(a)g(parameter)g(denoted)
@@ -6328,14 +6321,14 @@ b(ariable;)34 b(this)e(v)-5 b(ariable)33 b(is)g(then)f(expanded)f(and)h
 3272 y(of)h(the)f(substitution,)i(rather)e(than)g(the)h(v)-5
 b(alue)34 b(of)g Fq(parameter)40 b Ft(itself.)51 b(This)33
 b(is)g(kno)m(wn)g(as)h Fs(indirect)150 3381 y(expansion)p
-Ft(.)45 b(The)32 b(exceptions)i(to)g(this)e(are)h(the)g(expansions)g
-(of)g($)p Fs({)p Ft(!)p Fq(pre\014x*)8 b Fs(})31 b Ft(and)i($)p
-Fs({)p Ft(!)p Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})33
-b Ft(de-)150 3491 y(scrib)s(ed)h(b)s(elo)m(w.)56 b(The)35
-b(exclamation)j(p)s(oin)m(t)d(m)m(ust)g(immediately)i(follo)m(w)g(the)e
-(left)i(brace)e(in)g(order)g(to)150 3601 y(in)m(tro)s(duce)30
-b(indirection.)275 3748 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)
-m(w,)i Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
+Ft(.)k(The)30 b(exceptions)h(to)h(this)e(are)h(the)f(expansions)g(of)h
+($)p Fs({)p Ft(!)p Fq(pre\014x)150 3491 y Fs(})36 b Ft(and)f($)p
+Fs({)p Ft(!)p Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})37
+b Ft(describ)s(ed)e(b)s(elo)m(w.)58 b(The)36 b(exclamation)i(p)s(oin)m
+(t)e(m)m(ust)g(immediately)h(follo)m(w)h(the)150 3601
+y(left)31 b(brace)g(in)f(order)g(to)h(in)m(tro)s(duce)f(indirection.)
+275 3748 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
+Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
 (parameter)e(expansion,)150 3857 y(command)30 b(substitution,)g(and)g
 (arithmetic)i(expansion.)275 4004 y(When)h(not)h(p)s(erforming)e
 (substring)h(expansion,)h(using)f(the)h(form)f(describ)s(ed)g(b)s(elo)m
@@ -7663,7 +7656,7 @@ b(set)h(of)f(parameters)h(is)f(to)i(b)s(e)d(used.)630
 Fs(getopts)39 b Ft(exits)j(with)f(a)h(return)e(v)-5 b(alue)630
 3821 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
 Ft(is)h(set)h(to)g(the)g(index)f(of)g(the)h(\014rst)f(non-option)g
-(argumen)m(t,)630 3931 y(and)g Fs(name)f Ft(is)h(set)h(to)g(`)p
+(argumen)m(t,)630 3931 y(and)g Fq(name)35 b Ft(is)c(set)g(to)g(`)p
 Fs(?)p Ft('.)630 4064 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
 (ositional)g(parameters,)g(but)e(if)i(more)f(argumen)m(ts)h(are)630
 4174 y(giv)m(en)h(in)f Fq(args)t Ft(,)h Fs(getopts)e
@@ -8708,9 +8701,9 @@ b Fs(set)35 b Ft(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150
 (p)s(ositional)h(parameters,)h(or)e(to)h(displa)m(y)f(the)g(names)h
 (and)150 665 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
 834 y Fs(set)870 972 y(set)47 b([--abefhkmnptuvxBCEHPT])41
-b([-o)47 b Fi(option)11 b Fs(])46 b([)p Fi(argument)55
-b Fs(...])870 1082 y(set)47 b([+abefhkmnptuvxBCEHPT])42
-b([+o)47 b Fi(option)11 b Fs(])45 b([)p Fi(argument)56
+b([-o)47 b Fi(option-name)11 b Fs(])44 b([)p Fi(argument)56
+b Fs(...)o(])870 1082 y(set)47 b([+abefhkmnptuvxBCEHPT])42
+b([+o)47 b Fi(option-name)11 b Fs(])43 b([)p Fi(argument)56
 b Fs(...)o(])630 1219 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
 (are)g(supplied,)g Fs(set)f Ft(displa)m(ys)g(the)h(names)g(and)f(v)-5
 b(alues)23 b(of)g(all)630 1329 y(shell)j(v)-5 b(ariables)27
@@ -9024,26 +9017,27 @@ b(This)30 b(allo)m(ws)i(easy)g(re-editing)g(of)f(m)m(ulti-line)1110
 894 y(commands.)630 1052 y Fs(compat31)96 b Ft(If)27
 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
 m(ersion)h(3.1)h(with)e(resp)s(ect)1110 1161 y(to)k(quoted)g(argumen)m
-(ts)f(to)h(the)g(conditional)h(command's)e(=)p Fs(~)g
-Ft(op)s(erator.)630 1319 y Fs(compat32)96 b Ft(If)27
+(ts)f(to)h(the)g(conditional)h(command's)e(`)p Fs(=~)p
+Ft(')g(op)s(erator.)630 1319 y Fs(compat32)96 b Ft(If)27
 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
 m(ersion)h(3.2)h(with)e(resp)s(ect)1110 1428 y(to)22
 b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f(using)g(the)i
-(conditional)g(com-)1110 1538 y(mand's)30 b Fs(<)g Ft(and)f
-Fs(>)h Ft(op)s(erators.)630 1695 y Fs(compat40)96 b Ft(If)27
-b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
-m(ersion)h(4.0)h(with)e(resp)s(ect)1110 1805 y(to)22
-b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f(using)g(the)i
-(conditional)g(com-)1110 1914 y(mand's)j Fs(<)g Ft(and)g
-Fs(>)g Ft(op)s(erators)h(and)f(the)g(e\013ect)i(of)f(in)m(terrupting)f
-(a)h(command)1110 2024 y(list.)630 2181 y Fs(compat41)96
-b Ft(If)27 b(set,)i(Bash,)g(when)e(in)g(p)s(osix)g(mo)s(de,)h(treats)h
-(a)f(single)g(quote)h(in)e(a)h(double-)1110 2291 y(quoted)46
-b(parameter)h(expansion)f(as)g(a)h(sp)s(ecial)f(c)m(haracter.)90
-b(The)45 b(single)1110 2400 y(quotes)34 b(m)m(ust)g(matc)m(h)h(\(an)f
-(ev)m(en)h(n)m(um)m(b)s(er\))e(and)g(the)h(c)m(haracters)h(b)s(et)m(w)m
-(een)1110 2510 y(the)40 b(single)g(quotes)g(are)g(considered)g(quoted.)
-69 b(This)38 b(is)i(the)g(b)s(eha)m(vior)g(of)1110 2619
+(conditional)g(com-)1110 1538 y(mand's)30 b(`)p Fs(<)p
+Ft(')g(and)g(`)p Fs(>)p Ft(')g(op)s(erators.)630 1695
+y Fs(compat40)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)
+m(vior)f(to)i(that)f(of)f(v)m(ersion)h(4.0)h(with)e(resp)s(ect)1110
+1805 y(to)22 b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f
+(using)g(the)i(conditional)g(com-)1110 1914 y(mand's)33
+b(`)p Fs(<)p Ft(')h(and)f(`)p Fs(>)p Ft(')h(op)s(erators)g(and)f(the)h
+(e\013ect)h(of)f(in)m(terrupting)g(a)g(com-)1110 2024
+y(mand)c(list.)630 2181 y Fs(compat41)96 b Ft(If)27 b(set,)i(Bash,)g
+(when)e(in)g(p)s(osix)g(mo)s(de,)h(treats)h(a)f(single)g(quote)h(in)e
+(a)h(double-)1110 2291 y(quoted)46 b(parameter)h(expansion)f(as)g(a)h
+(sp)s(ecial)f(c)m(haracter.)90 b(The)45 b(single)1110
+2400 y(quotes)34 b(m)m(ust)g(matc)m(h)h(\(an)f(ev)m(en)h(n)m(um)m(b)s
+(er\))e(and)g(the)h(c)m(haracters)h(b)s(et)m(w)m(een)1110
+2510 y(the)40 b(single)g(quotes)g(are)g(considered)g(quoted.)69
+b(This)38 b(is)i(the)g(b)s(eha)m(vior)g(of)1110 2619
 y Fl(posix)f Ft(mo)s(de)g(through)g(v)m(ersion)h(4.1.)69
 b(The)39 b(default)g(Bash)h(b)s(eha)m(vior)g(re-)1110
 2729 y(mains)30 b(as)h(in)f(previous)g(v)m(ersions.)630
@@ -9256,65 +9250,66 @@ eop end
 %%Page: 63 69
 TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41
 b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fo(5)80
-b(Shell)53 b(V)-13 b(ariables)150 559 y Ft(This)21 b(c)m(hapter)i
+b(Shell)53 b(V)-13 b(ariables)150 541 y Ft(This)21 b(c)m(hapter)i
 (describ)s(es)e(the)i(shell)f(v)-5 b(ariables)23 b(that)f(Bash)h(uses.)
 37 b(Bash)23 b(automatically)h(assigns)f(default)150
-668 y(v)-5 b(alues)31 b(to)g(a)g(n)m(um)m(b)s(er)e(of)h(v)-5
-b(ariables.)150 914 y Fr(5.1)68 b(Bourne)45 b(Shell)g(V)-11
-b(ariables)150 1073 y Ft(Bash)30 b(uses)g(certain)h(shell)g(v)-5
+651 y(v)-5 b(alues)31 b(to)g(a)g(n)m(um)m(b)s(er)e(of)h(v)-5
+b(ariables.)150 888 y Fr(5.1)68 b(Bourne)45 b(Shell)g(V)-11
+b(ariables)150 1047 y Ft(Bash)30 b(uses)g(certain)h(shell)g(v)-5
 b(ariables)31 b(in)f(the)g(same)h(w)m(a)m(y)g(as)g(the)f(Bourne)g
-(shell.)41 b(In)30 b(some)g(cases,)i(Bash)150 1183 y(assigns)f(a)f
+(shell.)41 b(In)30 b(some)g(cases,)i(Bash)150 1157 y(assigns)f(a)f
 (default)h(v)-5 b(alue)31 b(to)g(the)f(v)-5 b(ariable.)150
-1355 y Fs(CDPATH)192 b Ft(A)39 b(colon-separated)i(list)e(of)g
+1320 y Fs(CDPATH)192 b Ft(A)39 b(colon-separated)i(list)e(of)g
 (directories)h(used)f(as)g(a)g(searc)m(h)h(path)e(for)h(the)g
-Fs(cd)f Ft(builtin)630 1464 y(command.)150 1632 y Fs(HOME)288
+Fs(cd)f Ft(builtin)630 1430 y(command.)150 1592 y Fs(HOME)288
 b Ft(The)23 b(curren)m(t)h(user's)f(home)g(directory;)k(the)d(default)g
 (for)f(the)h Fs(cd)f Ft(builtin)g(command.)38 b(The)630
-1742 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37
+1702 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37
 b(is)g(also)g(used)e(b)m(y)h(tilde)h(expansion)f(\(see)i(Section)f
-(3.5.2)h([Tilde)630 1852 y(Expansion],)30 b(page)h(20\).)150
-2020 y Fs(IFS)336 b Ft(A)25 b(list)i(of)e(c)m(haracters)i(that)f
+(3.5.2)h([Tilde)630 1811 y(Expansion],)30 b(page)h(20\).)150
+1973 y Fs(IFS)336 b Ft(A)25 b(list)i(of)e(c)m(haracters)i(that)f
 (separate)g(\014elds;)h(used)e(when)f(the)i(shell)f(splits)h(w)m(ords)e
-(as)i(part)630 2129 y(of)31 b(expansion.)150 2297 y Fs(MAIL)288
-b Ft(If)26 b(this)f(parameter)i(is)f(set)g(to)h(a)g(\014lename)f(and)f
-(the)h Fs(MAILPATH)e Ft(v)-5 b(ariable)27 b(is)f(not)g(set,)i(Bash)630
-2407 y(informs)i(the)g(user)g(of)g(the)h(arriv)-5 b(al)31
-b(of)f(mail)h(in)f(the)h(sp)s(eci\014ed)f(\014le.)150
-2575 y Fs(MAILPATH)96 b Ft(A)33 b(colon-separated)i(list)f(of)f
+(as)i(part)630 2083 y(of)31 b(expansion.)150 2245 y Fs(MAIL)288
+b Ft(If)44 b(this)g(parameter)h(is)g(set)g(to)g(a)f(\014lename)h(or)f
+(directory)h(name)g(and)f(the)g Fs(MAILPATH)630 2355
+y Ft(v)-5 b(ariable)32 b(is)e(not)h(set,)h(Bash)f(informs)f(the)h(user)
+f(of)h(the)g(arriv)-5 b(al)31 b(of)g(mail)g(in)g(the)g(sp)s(eci\014ed)
+630 2464 y(\014le)f(or)h(Maildir-format)g(directory)-8
+b(.)150 2627 y Fs(MAILPATH)96 b Ft(A)33 b(colon-separated)i(list)f(of)f
 (\014lenames)h(whic)m(h)f(the)g(shell)g(p)s(erio)s(dically)h(c)m(hec)m
-(ks)g(for)f(new)630 2684 y(mail.)60 b(Eac)m(h)37 b(list)g(en)m(try)g
+(ks)g(for)f(new)630 2736 y(mail.)60 b(Eac)m(h)37 b(list)g(en)m(try)g
 (can)g(sp)s(ecify)f(the)h(message)h(that)f(is)g(prin)m(ted)f(when)f
-(new)h(mail)630 2794 y(arriv)m(es)29 b(in)g(the)g(mail)g(\014le)g(b)m
+(new)h(mail)630 2846 y(arriv)m(es)29 b(in)g(the)g(mail)g(\014le)g(b)m
 (y)g(separating)g(the)g(\014le)g(name)g(from)f(the)h(message)h(with)e
-(a)i(`)p Fs(?)p Ft('.)630 2903 y(When)i(used)f(in)h(the)g(text)i(of)e
+(a)i(`)p Fs(?)p Ft('.)630 2955 y(When)i(used)f(in)h(the)g(text)i(of)e
 (the)g(message,)i Fs($_)e Ft(expands)f(to)i(the)f(name)g(of)h(the)f
-(curren)m(t)630 3013 y(mail)f(\014le.)150 3181 y Fs(OPTARG)192
+(curren)m(t)630 3065 y(mail)f(\014le.)150 3227 y Fs(OPTARG)192
 b Ft(The)30 b(v)-5 b(alue)31 b(of)f(the)h(last)g(option)g(argumen)m(t)g
 (pro)s(cessed)f(b)m(y)g(the)g Fs(getopts)f Ft(builtin.)150
-3349 y Fs(OPTIND)192 b Ft(The)30 b(index)g(of)g(the)h(last)g(option)g
+3389 y Fs(OPTIND)192 b Ft(The)30 b(index)g(of)g(the)h(last)g(option)g
 (argumen)m(t)g(pro)s(cessed)f(b)m(y)g(the)g Fs(getopts)f
-Ft(builtin.)150 3517 y Fs(PATH)288 b Ft(A)32 b(colon-separated)i(list)f
+Ft(builtin.)150 3552 y Fs(PATH)288 b Ft(A)32 b(colon-separated)i(list)f
 (of)f(directories)h(in)e(whic)m(h)h(the)g(shell)g(lo)s(oks)h(for)f
-(commands.)45 b(A)630 3626 y(zero-length)e(\(n)m(ull\))g(directory)f
+(commands.)45 b(A)630 3661 y(zero-length)e(\(n)m(ull\))g(directory)f
 (name)g(in)g(the)g(v)-5 b(alue)42 b(of)g Fs(PATH)f Ft(indicates)i(the)f
-(curren)m(t)630 3736 y(directory)-8 b(.)49 b(A)33 b(n)m(ull)f
+(curren)m(t)630 3771 y(directory)-8 b(.)49 b(A)33 b(n)m(ull)f
 (directory)i(name)e(ma)m(y)i(app)s(ear)e(as)h(t)m(w)m(o)h(adjacen)m(t)g
-(colons,)g(or)f(as)g(an)630 3846 y(initial)f(or)e(trailing)h(colon.)150
-4014 y Fs(PS1)336 b Ft(The)35 b(primary)f(prompt)h(string.)55
+(colons,)g(or)f(as)g(an)630 3880 y(initial)f(or)e(trailing)h(colon.)150
+4042 y Fs(PS1)336 b Ft(The)35 b(primary)f(prompt)h(string.)55
 b(The)35 b(default)h(v)-5 b(alue)35 b(is)h(`)p Fs(\\s-\\v\\$)28
-b Ft('.)56 b(See)36 b(Section)g(6.9)630 4123 y([Prin)m(ting)28
+b Ft('.)56 b(See)36 b(Section)g(6.9)630 4152 y([Prin)m(ting)28
 b(a)g(Prompt],)g(page)h(84,)g(for)e(the)h(complete)h(list)g(of)e(escap)
-s(e)h(sequences)g(that)h(are)630 4233 y(expanded)h(b)s(efore)g
-Fs(PS1)f Ft(is)h(displa)m(y)m(ed.)150 4401 y Fs(PS2)336
+s(e)h(sequences)g(that)h(are)630 4262 y(expanded)h(b)s(efore)g
+Fs(PS1)f Ft(is)h(displa)m(y)m(ed.)150 4424 y Fs(PS2)336
 b Ft(The)30 b(secondary)g(prompt)g(string.)41 b(The)29
 b(default)i(v)-5 b(alue)31 b(is)f(`)p Fs(>)g Ft('.)150
-4646 y Fr(5.2)68 b(Bash)45 b(V)-11 b(ariables)150 4805
+4661 y Fr(5.2)68 b(Bash)45 b(V)-11 b(ariables)150 4820
 y Ft(These)45 b(v)-5 b(ariables)46 b(are)g(set)g(or)f(used)f(b)m(y)h
 (Bash,)50 b(but)44 b(other)i(shells)f(do)h(not)f(normally)h(treat)g
-(them)150 4915 y(sp)s(ecially)-8 b(.)275 5058 y(A)24
+(them)150 4929 y(sp)s(ecially)-8 b(.)275 5067 y(A)24
 b(few)g(v)-5 b(ariables)24 b(used)g(b)m(y)f(Bash)i(are)f(describ)s(ed)f
 (in)h(di\013eren)m(t)g(c)m(hapters:)38 b(v)-5 b(ariables)25
-b(for)f(con)m(trolling)150 5168 y(the)31 b(job)f(con)m(trol)h
+b(for)f(con)m(trolling)150 5176 y(the)31 b(job)f(con)m(trol)h
 (facilities)i(\(see)e(Section)g(7.3)h([Job)e(Con)m(trol)h(V)-8
 b(ariables],)32 b(page)g(94\).)150 5340 y Fs(BASH)288
 b Ft(The)30 b(full)g(pathname)g(used)g(to)h(execute)h(the)e(curren)m(t)
@@ -9334,20 +9329,20 @@ b(ariable)36 b(is)f(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)630
 737 y(starts)25 b(up,)f(eac)m(h)i(shell)e(option)h(in)e(the)i(list)g
 (will)f(b)s(e)g(enabled)g(b)s(efore)g(reading)g(an)m(y)g(startup)630
 847 y(\014les.)41 b(This)29 b(v)-5 b(ariable)31 b(is)g(readonly)-8
-b(.)150 998 y Fs(BASHPID)144 b Ft(Expands)36 b(to)j(the)f(pro)s(cess)g
-(id)f(of)h(the)g(curren)m(t)g(Bash)g(pro)s(cess.)63 b(This)37
-b(di\013ers)g(from)h Fs($$)630 1107 y Ft(under)31 b(certain)j
+b(.)150 998 y Fs(BASHPID)144 b Ft(Expands)35 b(to)i(the)f(pro)s(cess)f
+(ID)i(of)f(the)g(curren)m(t)g(Bash)g(pro)s(cess.)58 b(This)35
+b(di\013ers)h(from)g Fs($$)630 1107 y Ft(under)31 b(certain)j
 (circumstances,)h(suc)m(h)e(as)g(subshells)f(that)i(do)f(not)g(require)
 g(Bash)g(to)h(b)s(e)630 1217 y(re-initialized.)150 1367
 y Fs(BASH_ALIASES)630 1477 y Ft(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d
 (v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f
-(in)m(ternal)h(list)630 1587 y(of)g(aliases)h(as)f(main)m(tained)g(b)m
-(y)g(the)f Fs(alias)g Ft(builtin)g(\(see)h(Section)h(4.1)f([Bourne)g
-(Shell)630 1696 y(Builtins],)36 b(page)e(37\).)53 b(Elemen)m(ts)35
-b(added)e(to)i(this)e(arra)m(y)i(app)s(ear)e(in)h(the)g(alias)h(list;)i
-(un-)630 1806 y(setting)31 b(arra)m(y)g(elemen)m(ts)h(cause)f(aliases)h
-(to)f(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(alias)g(list.)150
-1956 y Fs(BASH_ARGC)630 2066 y Ft(An)f(arra)m(y)h(v)-5
+(in)m(ternal)h(list)630 1587 y(of)c(aliases)h(as)f(main)m(tained)g(b)m
+(y)g(the)g Fs(alias)e Ft(builtin.)59 b(\(see)37 b(Section)h(4.1)f
+([Bourne)g(Shell)630 1696 y(Builtins],)f(page)e(37\).)53
+b(Elemen)m(ts)35 b(added)e(to)i(this)e(arra)m(y)i(app)s(ear)e(in)h(the)
+g(alias)h(list;)i(un-)630 1806 y(setting)31 b(arra)m(y)g(elemen)m(ts)h
+(cause)f(aliases)h(to)f(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(alias)g
+(list.)150 1956 y Fs(BASH_ARGC)630 2066 y Ft(An)f(arra)m(y)h(v)-5
 b(ariable)31 b(whose)f(v)-5 b(alues)31 b(are)g(the)f(n)m(um)m(b)s(er)g
 (of)g(parameters)h(in)f(eac)m(h)h(frame)g(of)630 2176
 y(the)26 b(curren)m(t)f(bash)g(execution)i(call)g(stac)m(k.)41
@@ -9559,9 +9554,9 @@ b(.)47 b(If)32 b Fs(DIRSTACK)e Ft(is)i(unset,)g(it)h(loses)g(its)g(sp)s
 1718 y(subsequen)m(tly)d(reset.)150 1880 y Fs(EMACS)240
 b Ft(If)31 b(Bash)h(\014nds)d(this)j(v)-5 b(ariable)32
 b(in)f(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)f(starts)h(with)f
-(v)-5 b(alue)630 1990 y(`)p Fs(t)p Ft(',)38 b(it)e(assumes)g(that)g
-(the)h(shell)f(is)g(running)e(in)i(an)g(emacs)g(shell)h(bu\013er)e(and)
-g(disables)630 2099 y(line)c(editing.)150 2261 y Fs(ENV)336
+(v)-5 b(alue)630 1990 y(`)p Fs(t)p Ft(',)36 b(it)f(assumes)f(that)h
+(the)g(shell)f(is)h(running)e(in)h(an)g(Emacs)h(shell)g(bu\013er)e(and)
+h(disables)630 2099 y(line)d(editing.)150 2261 y Fs(ENV)336
 b Ft(Similar)35 b(to)g Fs(BASH_ENV)p Ft(;)h(used)e(when)g(the)h(shell)g
 (is)g(in)m(v)m(ok)m(ed)h(in)e Fl(posix)h Ft(Mo)s(de)g(\(see)g(Sec-)630
 2371 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(86\).)150
@@ -10247,24 +10242,25 @@ Ft(v)-5 b(ariable)150 3007 y(and)30 b(commands)g(are)g(read)h(and)e
 (read.)150 3343 y Fj(In)m(v)m(ok)m(ed)40 b(b)m(y)g(remote)h(shell)h
 (daemon)150 3490 y Ft(Bash)36 b(attempts)h(to)g(determine)f(when)f(it)i
 (is)f(b)s(eing)g(run)e(with)i(its)g(standard)g(input)f(connected)i(to)g
-(a)150 3600 y(a)e(net)m(w)m(ork)h(connection,)h(as)e(if)g(b)m(y)g(the)g
-(remote)g(shell)g(daemon,)i(usually)d Fs(rshd)p Ft(,)h(or)g(the)g
-(secure)g(shell)150 3709 y(daemon)41 b Fs(sshd)p Ft(.)70
-b(If)40 b(Bash)h(determines)f(it)h(is)g(b)s(eing)f(run)f(in)i(this)f
-(fashion,)j(it)e(reads)g(and)f(executes)150 3819 y(commands)26
-b(from)f(`)p Fs(~/.bashrc)p Ft(',)g(if)i(that)f(\014le)g(exists)h(and)f
-(is)g(readable.)40 b(It)26 b(will)g(not)g(do)g(this)g(if)g(in)m(v)m(ok)
-m(ed)150 3929 y(as)g Fs(sh)p Ft(.)39 b(The)25 b(`)p Fs(--norc)p
-Ft(')g(option)h(ma)m(y)g(b)s(e)f(used)g(to)i(inhibit)e(this)h(b)s(eha)m
-(vior,)h(and)e(the)h(`)p Fs(--rcfile)p Ft(')e(option)150
-4038 y(ma)m(y)33 b(b)s(e)g(used)f(to)h(force)h(another)f(\014le)g(to)g
-(b)s(e)g(read,)g(but)f Fs(rshd)g Ft(do)s(es)h(not)g(generally)h(in)m(v)
-m(ok)m(e)h(the)e(shell)150 4148 y(with)d(those)h(options)g(or)f(allo)m
-(w)i(them)e(to)h(b)s(e)f(sp)s(eci\014ed.)150 4374 y Fj(In)m(v)m(ok)m
-(ed)40 b(with)g(unequal)h(e\013ectiv)m(e)e(and)i(real)g
-Fg(uid/gid)p Fj(s)150 4521 y Ft(If)34 b(Bash)h(is)g(started)g(with)f
-(the)h(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)
-g(real)g(user)f(\(group\))h(id,)150 4631 y(and)26 b(the)i
+(a)150 3600 y(net)m(w)m(ork)h(connection,)j(as)c(when)g(executed)h(b)m
+(y)f(the)h(remote)g(shell)g(daemon,)h(usually)e Fs(rshd)p
+Ft(,)h(or)g(the)150 3709 y(secure)c(shell)f(daemon)h
+Fs(sshd)p Ft(.)49 b(If)33 b(Bash)g(determines)h(it)g(is)f(b)s(eing)g
+(run)f(in)i(this)f(fashion,)h(it)g(reads)g(and)150 3819
+y(executes)42 b(commands)e(from)g(`)p Fs(~/.bashrc)p
+Ft(',)h(if)g(that)g(\014le)f(exists)i(and)e(is)g(readable.)72
+b(It)40 b(will)h(not)g(do)150 3929 y(this)35 b(if)g(in)m(v)m(ok)m(ed)i
+(as)f Fs(sh)p Ft(.)55 b(The)34 b(`)p Fs(--norc)p Ft(')g(option)i(ma)m
+(y)g(b)s(e)f(used)f(to)i(inhibit)f(this)g(b)s(eha)m(vior,)i(and)e(the)
+150 4038 y(`)p Fs(--rcfile)p Ft(')25 b(option)i(ma)m(y)g(b)s(e)f(used)g
+(to)i(force)f(another)g(\014le)g(to)g(b)s(e)f(read,)i(but)e
+Fs(rshd)f Ft(do)s(es)i(not)g(generally)150 4148 y(in)m(v)m(ok)m(e)32
+b(the)f(shell)f(with)h(those)f(options)h(or)f(allo)m(w)i(them)f(to)g(b)
+s(e)e(sp)s(eci\014ed.)150 4374 y Fj(In)m(v)m(ok)m(ed)40
+b(with)g(unequal)h(e\013ectiv)m(e)e(and)i(real)g Fg(uid/gid)p
+Fj(s)150 4521 y Ft(If)34 b(Bash)h(is)g(started)g(with)f(the)h
+(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)g
+(real)g(user)f(\(group\))h(id,)150 4631 y(and)26 b(the)i
 Fs(-p)e Ft(option)h(is)g(not)h(supplied,)e(no)h(startup)g(\014les)g
 (are)g(read,)h(shell)f(functions)g(are)g(not)g(inherited)150
 4740 y(from)41 b(the)g(en)m(vironmen)m(t,)j(the)d Fs(SHELLOPTS)p
@@ -10574,30 +10570,31 @@ b(is)g(ev)-5 b(aluated)38 b(as)e(an)g(arithmetic)h(expression)f(when)f
 (it)h(is)g(referenced,)i(or)150 1909 y(when)31 b(a)i(v)-5
 b(ariable)33 b(whic)m(h)f(has)g(b)s(een)f(giv)m(en)j(the)e
 Fq(in)m(teger)40 b Ft(attribute)33 b(using)f(`)p Fs(declare)d(-i)p
-Ft(')i(is)i(assigned)150 2019 y(a)k(v)-5 b(alue.)58 b(A)36
-b(n)m(ull)g(v)-5 b(alue)37 b(ev)-5 b(aluates)38 b(to)f(0.)58
-b(A)36 b(shell)h(v)-5 b(ariable)36 b(need)g(not)h(ha)m(v)m(e)g(its)g
-(in)m(teger)g(attribute)150 2128 y(turned)29 b(on)h(to)i(b)s(e)d(used)h
-(in)g(an)g(expression.)275 2256 y(Constan)m(ts)41 b(with)g(a)h(leading)
-f(0)h(are)g(in)m(terpreted)f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)72
-b(A)41 b(leading)h(`)p Fs(0x)p Ft(')f(or)g(`)p Fs(0X)p
-Ft(')150 2366 y(denotes)31 b(hexadecimal.)42 b(Otherwise,)30
-b(n)m(um)m(b)s(ers)f(tak)m(e)j(the)f(form)f([)p Fq(base)5
-b Fs(#)p Ft(])p Fq(n)p Ft(,)31 b(where)f(the)g(optional)i
-Fq(base)150 2476 y Ft(is)d(a)h(decimal)g(n)m(um)m(b)s(er)e(b)s(et)m(w)m
-(een)h(2)h(and)e(64)i(represen)m(ting)g(the)f(arithmetic)i(base,)e(and)
-g Fq(n)g Ft(is)g(a)g(n)m(um)m(b)s(er)150 2585 y(in)41
-b(that)i(base.)74 b(If)42 b Fq(base)5 b Fs(#)41 b Ft(is)h(omitted,)k
-(then)41 b(base)h(10)g(is)g(used.)74 b(The)41 b(digits)h(greater)h
-(than)e(9)i(are)150 2695 y(represen)m(ted)38 b(b)m(y)f(the)h(lo)m(w)m
-(ercase)j(letters,)g(the)d(upp)s(ercase)f(letters,)k(`)p
-Fs(@)p Ft(',)f(and)d(`)p Fs(_)p Ft(',)j(in)d(that)i(order.)62
-b(If)150 2804 y Fq(base)28 b Ft(is)22 b(less)h(than)f(or)h(equal)f(to)i
-(36,)h(lo)m(w)m(ercase)g(and)c(upp)s(ercase)h(letters)i(ma)m(y)f(b)s(e)
-e(used)h(in)m(terc)m(hangeably)150 2914 y(to)31 b(represen)m(t)g(n)m
-(um)m(b)s(ers)d(b)s(et)m(w)m(een)j(10)h(and)d(35.)275
-3042 y(Op)s(erators)44 b(are)h(ev)-5 b(aluated)46 b(in)f(order)f(of)h
-(precedence.)85 b(Sub-expressions)44 b(in)g(paren)m(theses)i(are)150
+Ft(')i(is)i(assigned)150 2019 y(a)j(v)-5 b(alue.)58 b(A)36
+b(n)m(ull)f(v)-5 b(alue)37 b(ev)-5 b(aluates)37 b(to)g(0.)57
+b(A)36 b(shell)g(v)-5 b(ariable)37 b(need)e(not)h(ha)m(v)m(e)h(its)f
+Fq(in)m(teger)44 b Ft(attribute)150 2128 y(turned)29
+b(on)h(to)i(b)s(e)d(used)h(in)g(an)g(expression.)275
+2256 y(Constan)m(ts)41 b(with)g(a)h(leading)f(0)h(are)g(in)m(terpreted)
+f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)72 b(A)41 b(leading)h(`)p
+Fs(0x)p Ft(')f(or)g(`)p Fs(0X)p Ft(')150 2366 y(denotes)31
+b(hexadecimal.)42 b(Otherwise,)30 b(n)m(um)m(b)s(ers)f(tak)m(e)j(the)f
+(form)f([)p Fq(base)5 b Fs(#)p Ft(])p Fq(n)p Ft(,)31
+b(where)f(the)g(optional)i Fq(base)150 2476 y Ft(is)d(a)h(decimal)g(n)m
+(um)m(b)s(er)e(b)s(et)m(w)m(een)h(2)h(and)e(64)i(represen)m(ting)g(the)
+f(arithmetic)i(base,)e(and)g Fq(n)g Ft(is)g(a)g(n)m(um)m(b)s(er)150
+2585 y(in)41 b(that)i(base.)74 b(If)42 b Fq(base)5 b
+Fs(#)41 b Ft(is)h(omitted,)k(then)41 b(base)h(10)g(is)g(used.)74
+b(The)41 b(digits)h(greater)h(than)e(9)i(are)150 2695
+y(represen)m(ted)38 b(b)m(y)f(the)h(lo)m(w)m(ercase)j(letters,)g(the)d
+(upp)s(ercase)f(letters,)k(`)p Fs(@)p Ft(',)f(and)d(`)p
+Fs(_)p Ft(',)j(in)d(that)i(order.)62 b(If)150 2804 y
+Fq(base)28 b Ft(is)22 b(less)h(than)f(or)h(equal)f(to)i(36,)h(lo)m(w)m
+(ercase)g(and)c(upp)s(ercase)h(letters)i(ma)m(y)f(b)s(e)e(used)h(in)m
+(terc)m(hangeably)150 2914 y(to)31 b(represen)m(t)g(n)m(um)m(b)s(ers)d
+(b)s(et)m(w)m(een)j(10)h(and)d(35.)275 3042 y(Op)s(erators)44
+b(are)h(ev)-5 b(aluated)46 b(in)f(order)f(of)h(precedence.)85
+b(Sub-expressions)44 b(in)g(paren)m(theses)i(are)150
 3152 y(ev)-5 b(aluated)32 b(\014rst)d(and)h(ma)m(y)h(o)m(v)m(erride)g
 (the)g(precedence)g(rules)f(ab)s(o)m(v)m(e.)150 3371
 y Fr(6.6)68 b(Aliases)150 3531 y Fq(Aliases)41 b Ft(allo)m(w)d(a)f
@@ -11103,136 +11100,129 @@ b(redirection)d(errors,)i(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e
 b(name,)h(and)f(so)g(on.)p eop end
 %%Page: 88 94
 TeXDict begin 88 93 bop 150 -116 a Ft(88)2572 b(Bash)31
-b(Reference)g(Man)m(ual)154 299 y(23.)61 b(If)34 b Fs(CDPATH)f
-Ft(is)h(set,)i(the)f Fs(cd)f Ft(builtin)g(will)g(not)h(implicitly)h
-(app)s(end)c(the)j(curren)m(t)f(directory)h(to)g(it.)330
-408 y(This)29 b(means)g(that)h Fs(cd)f Ft(will)h(fail)g(if)g(no)f(v)-5
-b(alid)30 b(directory)g(name)f(can)h(b)s(e)f(constructed)h(from)f(an)m
-(y)h(of)330 518 y(the)i(en)m(tries)g(in)f Fs($CDPATH)p
-Ft(,)e(ev)m(en)j(if)g(the)f(a)h(directory)g(with)f(the)g(same)h(name)f
-(as)h(the)g(name)f(giv)m(en)330 628 y(as)g(an)f(argumen)m(t)h(to)g
-Fs(cd)f Ft(exists)h(in)f(the)g(curren)m(t)g(directory)-8
-b(.)154 762 y(24.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h
-(with)e(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32
-b(assignmen)m(t)g(error)e(o)s(ccurs)330 871 y(when)38
-b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)h(statemen)m
-(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
-981 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
+b(Reference)g(Man)m(ual)154 299 y(23.)61 b(A)31 b(non-in)m(teractiv)m
+(e)j(shell)d(exits)h(with)e(an)h(error)g(status)g(if)g(a)g(v)-5
+b(ariable)32 b(assignmen)m(t)g(error)e(o)s(ccurs)330
+408 y(when)38 b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)
+h(statemen)m(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
+518 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
 (assign)f(a)h(v)-5 b(alue)31 b(to)g(a)g(readonly)f(v)-5
-b(ariable.)154 1115 y(25.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e
-(exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5
-b(ariable)44 b(in)f(a)g Fs(for)330 1224 y Ft(statemen)m(t)32
+b(ariable.)154 645 y(24.)61 b(A)28 b(non-in)m(teractiv)m(e)j(shell)e
+(exists)f(with)g(an)g(error)g(status)h(if)f(a)g(v)-5
+b(ariable)29 b(assignmen)m(t)g(error)f(o)s(ccurs)330
+755 y(in)i(an)g(assignmen)m(t)i(statemen)m(t)g(preceding)e(a)h(sp)s
+(ecial)g(builtin,)f(but)g(not)g(with)h(an)m(y)f(other)h(simple)330
+864 y(command.)154 991 y(25.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)
+e(exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5
+b(ariable)44 b(in)f(a)g Fs(for)330 1101 y Ft(statemen)m(t)32
 b(or)f(the)f(selection)i(v)-5 b(ariable)32 b(in)e(a)g
 Fs(select)f Ft(statemen)m(t)j(is)f(a)f(readonly)h(v)-5
-b(ariable.)154 1358 y(26.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)
-f(a)m(v)-5 b(ailable.)154 1492 y(27.)61 b(Assignmen)m(t)23
+b(ariable.)154 1228 y(26.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)
+f(a)m(v)-5 b(ailable.)154 1354 y(27.)61 b(Assignmen)m(t)23
 b(statemen)m(ts)h(preceding)e Fl(posix)f Ft(sp)s(ecial)i(builtins)f(p)s
-(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 1602
-y(after)31 b(the)f(builtin)g(completes.)154 1736 y(28.)61
+(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 1464
+y(after)31 b(the)f(builtin)g(completes.)154 1591 y(28.)61
 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f(function)g
 (calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)330
-1845 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
+1700 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
 Fl(posix)e Ft(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g
-(executed.)154 1979 y(29.)61 b(The)38 b Fs(export)f Ft(and)g
+(executed.)154 1827 y(29.)61 b(The)38 b Fs(export)f Ft(and)g
 Fs(readonly)f Ft(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in)
-g(the)h(format)g(re-)330 2089 y(quired)30 b(b)m(y)g Fl(posix)p
-Ft(.)154 2223 y(30.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g
+g(the)h(format)g(re-)330 1937 y(quired)30 b(b)m(y)g Fl(posix)p
+Ft(.)154 2064 y(30.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g
 (signal)i(names)e(without)g(the)h(leading)g Fs(SIG)p
-Ft(.)154 2357 y(31.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
+Ft(.)154 2191 y(31.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
 (c)m(hec)m(k)h(the)g(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e
-(signal)i(sp)s(eci\014cation)330 2466 y(and)30 b(rev)m(ert)i(the)e
+(signal)i(sp)s(eci\014cation)330 2300 y(and)30 b(rev)m(ert)i(the)e
 (signal)i(handling)e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g
-(is,)g(unless)f(that)h(argumen)m(t)330 2576 y(consists)e(solely)g(of)g
+(is,)g(unless)f(that)h(argumen)m(t)330 2410 y(consists)e(solely)g(of)g
 (digits)g(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38
 b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
-2685 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+2519 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
 (osition,)f(they)g(should)f(use)h(`)p Fs(-)p Ft(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 2819 y(32.)61 b(The)21 b Fs(.)h Ft(and)f
+f(argumen)m(t.)154 2646 y(32.)61 b(The)21 b Fs(.)h Ft(and)f
 Fs(source)f Ft(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f
 (directory)h(for)g(the)g(\014lename)f(argumen)m(t)330
-2929 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
-Fs(PATH)p Ft(.)154 3063 y(33.)61 b(Subshells)20 b(spa)m(wned)h(to)h
+2756 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
+Fs(PATH)p Ft(.)154 2883 y(33.)61 b(Subshells)20 b(spa)m(wned)h(to)h
 (execute)g(command)g(substitutions)f(inherit)g(the)g(v)-5
 b(alue)22 b(of)g(the)f(`)p Fs(-e)p Ft(')g(option)330
-3173 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
+2992 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
 b(not)i(in)e Fl(posix)g Ft(mo)s(de,)i(Bash)f(clears)h(the)f(`)p
-Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 3282 y(subshells.)154
-3416 y(34.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e
-(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 3550
+Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 3102 y(subshells.)154
+3229 y(34.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e
+(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 3356
 y(35.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias)
 g(de\014nitions,)i(it)d(do)s(es)g(not)g(displa)m(y)h(them)f(with)g(a)
-330 3660 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
-Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3794 y(36.)61
+330 3465 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
+Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3592 y(36.)61
 b(When)40 b(the)g Fs(set)f Ft(builtin)h(is)g(in)m(v)m(ok)m(ed)h
 (without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g
-(function)330 3903 y(names)30 b(and)g(de\014nitions.)154
-4037 y(37.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
+(function)330 3702 y(names)30 b(and)g(de\014nitions.)154
+3829 y(37.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
 m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37
-b(v)-5 b(alues)37 b(without)330 4147 y(quotes,)26 b(unless)d(they)i
+b(v)-5 b(alues)37 b(without)330 3938 y(quotes,)26 b(unless)d(they)i
 (con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result)
-g(con)m(tains)i(nonprin)m(ting)330 4256 y(c)m(haracters.)154
-4390 y(38.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
+g(con)m(tains)i(nonprin)m(ting)330 4048 y(c)m(haracters.)154
+4175 y(38.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
 (ed)i(in)d Fq(logical)41 b Ft(mo)s(de,)36 b(and)f(the)g(pathname)g
-(constructed)g(from)330 4500 y Fs($PWD)i Ft(and)h(the)h(directory)f
+(constructed)g(from)330 4284 y Fs($PWD)i Ft(and)h(the)h(directory)f
 (name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g
-(an)f(existing)330 4609 y(directory)-8 b(,)32 b Fs(cd)d
+(an)f(existing)330 4394 y(directory)-8 b(,)32 b Fs(cd)d
 Ft(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f
-Fq(ph)m(ysical)j Ft(mo)s(de.)154 4743 y(39.)61 b(When)20
-b(the)h Fs(pwd)e Ft(builtin)h(is)g(supplied)g(the)g(`)p
-Fs(-P)p Ft(')g(option,)j(it)e(resets)g Fs($PWD)e Ft(to)i(a)g(pathname)f
-(con)m(taining)330 4853 y(no)30 b(symlinks.)154 4987
-y(40.)61 b(The)36 b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f
-(v)-5 b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)
-m(t)f(directory)-8 b(,)330 5096 y(ev)m(en)31 b(if)f(it)h(is)g(not)f
-(ask)m(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h(`)p
-Fs(-P)p Ft(')f(option.)154 5230 y(41.)61 b(When)35 b(listing)g(the)g
+Fq(ph)m(ysical)j Ft(mo)s(de.)154 4521 y(39.)61 b(The)36
+b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5
+b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)m(t)f
+(directory)-8 b(,)330 4631 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m
+(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h(`)p
+Fs(-P)p Ft(')f(option.)154 4757 y(40.)61 b(When)35 b(listing)g(the)g
 (history)-8 b(,)36 b(the)f Fs(fc)g Ft(builtin)f(do)s(es)g(not)h
-(include)g(an)f(indication)i(of)f(whether)f(or)330 5340
-y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)p
-eop end
+(include)g(an)f(indication)i(of)f(whether)f(or)330 4867
+y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
+4994 y(41.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
+Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 5121 y(42.)61 b(The)37
+b Fs(type)g Ft(and)g Fs(command)f Ft(builtins)i(will)g(not)g(rep)s(ort)
+f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330
+5230 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
+(execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named)
+g(\014le)330 5340 y(found)i(in)h Fs($PATH)p Ft(.)p eop
+end
 %%Page: 89 95
 TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(89)154 299 y(42.)61
-b(The)30 b(default)g(editor)h(used)f(b)m(y)g Fs(fc)g
-Ft(is)g Fs(ed)p Ft(.)154 433 y(43.)61 b(The)37 b Fs(type)g
-Ft(and)g Fs(command)f Ft(builtins)i(will)g(not)g(rep)s(ort)f(a)i
-(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330
-543 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g(execute)
-g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named)g(\014le)
-330 653 y(found)i(in)h Fs($PATH)p Ft(.)154 787 y(44.)61
+b(Bash)30 b(F)-8 b(eatures)2484 b(89)154 299 y(43.)61
 b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the)
 e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p Fs(v)p
-Ft(')f(command)g(is)g(run,)330 897 y(instead)e(of)f(c)m(hec)m(king)i
-Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 1031 y(45.)61
+Ft(')f(command)g(is)g(run,)330 408 y(instead)e(of)f(c)m(hec)m(king)i
+Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 543 y(44.)61
 b(When)41 b(the)g Fs(xpg_echo)e Ft(option)i(is)g(enabled,)j(Bash)d(do)s
 (es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330
-1141 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
+653 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
 b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e)
-g(c)m(haracters)h(are)330 1250 y(con)m(v)m(erted.)154
-1385 y(46.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m
+g(c)m(haracters)h(are)330 762 y(con)m(v)m(erted.)154
+897 y(45.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m
 (k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h(`)p Fs(-c)p
-Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 1519 y(47.)61
+Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 1031 y(46.)61
 b(The)39 b(arriv)-5 b(al)41 b(of)f Fs(SIGCHLD)e Ft(when)h(a)h(trap)g
 (is)g(set)h(on)f Fs(SIGCHLD)e Ft(do)s(es)h(not)h(in)m(terrupt)g(the)g
-Fs(wait)330 1629 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f
+Fs(wait)330 1141 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f
 (immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j
-(for)f(eac)m(h)330 1738 y(c)m(hild)31 b(that)g(exits.)275
-1898 y(There)j(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)
+(for)f(eac)m(h)330 1250 y(c)m(hild)31 b(that)g(exits.)275
+1410 y(There)j(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)
 g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)
-150 2007 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
-2142 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
+150 1519 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
+1654 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
 Fs($EDITOR)c Ft(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h
-(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 2252 y(rather)g(than)g(defaulting)
+(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 1763 y(rather)g(than)g(defaulting)
 h(directly)g(to)g Fs(ed)p Ft(.)40 b Fs(fc)30 b Ft(uses)g
-Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 2386 y(2.)61
+Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 1898 y(2.)61
 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g
 Fs(xpg_echo)e Ft(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g
-Fs(echo)f Ft(builtin)330 2496 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
-2655 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
+Fs(echo)f Ft(builtin)330 2007 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
+2167 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
 Fl(posix)p Ft(-conforman)m(t)h(b)m(y)f(default,)77 b(b)m(y)66
-b(sp)s(ecifying)h(the)150 2765 y(`)p Fs(--enable-strict-posix-def)o
+b(sp)s(ecifying)h(the)150 2276 y(`)p Fs(--enable-strict-posix-def)o
 (ault)o Ft(')i(to)76 b Fs(configure)c Ft(when)i(building)g(\(see)i
-(Section)f(10.8)150 2874 y([Optional)31 b(F)-8 b(eatures],)32
+(Section)f(10.8)150 2386 y([Optional)31 b(F)-8 b(eatures],)32
 b(page)f(131\).)p eop end
 %%Page: 90 96
 TeXDict begin 90 95 bop eop end
@@ -11535,9 +11525,9 @@ Fs(--noediting)p Ft(')d(option)k(is)e(supplied)g(at)h(shell)g(in)m(v)m
 (o)s(cation.)42 b(Line)26 b(editing)150 1078 y(is)i(also)h(used)e(when)
 h(using)f(the)h(`)p Fs(-e)p Ft(')g(option)h(to)g(the)f
 Fs(read)f Ft(builtin)h(command)f(\(see)i(Section)g(4.2)h([Bash)150
-1188 y(Builtins],)37 b(page)f(43\).)57 b(By)36 b(default,)h(the)e(line)
-h(editing)g(commands)f(are)h(similar)f(to)i(those)e(of)h(emacs.)150
-1297 y(A)f(vi-st)m(yle)h(line)f(editing)g(in)m(terface)h(is)e(also)i(a)
+1188 y(Builtins],)36 b(page)f(43\).)52 b(By)35 b(default,)g(the)f(line)
+h(editing)f(commands)g(are)h(similar)f(to)h(those)f(of)g(Emacs.)150
+1297 y(A)h(vi-st)m(yle)h(line)f(editing)g(in)m(terface)h(is)e(also)i(a)
 m(v)-5 b(ailable.)55 b(Line)34 b(editing)h(can)g(b)s(e)f(enabled)g(at)h
 (an)m(y)g(time)150 1407 y(using)28 b(the)i(`)p Fs(-o)g(emacs)p
 Ft(')d(or)i(`)p Fs(-o)h(vi)p Ft(')f(options)g(to)h(the)f
@@ -12046,239 +12036,244 @@ Ft(',)i(the)e(leading)g(`)p Fs(.)p Ft(')f(m)m(ust)g(b)s(e)g(supplied)f
 Fs(on)p Ft(')g(b)m(y)1110 5340 y(default.)p eop end
 %%Page: 102 108
 TeXDict begin 102 107 bop 150 -116 a Ft(102)2527 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(output-meta)1110
-408 y Ft(If)k(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(will)g(displa)m
-(y)f(c)m(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110
-518 y(set)h(directly)g(rather)f(than)g(as)h(a)g(meta-pre\014xed)f
-(escap)s(e)h(sequence.)59 b(The)1110 628 y(default)31
-b(is)f(`)p Fs(off)p Ft('.)630 800 y Fs(page-completions)1110
-909 y Ft(If)j(set)i(to)f(`)p Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in)
-m(ternal)h Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-1019 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
+b(Reference)g(Man)m(ual)630 299 y Fs(menu-complete-display-pr)o(efix)
+1110 408 y Ft(If)i(set)h(to)g(`)p Fs(on)p Ft(',)h(men)m(u)e(completion)
+i(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110
+518 y(list)k(of)g(p)s(ossible)f(completions)i(\(whic)m(h)e(ma)m(y)h(b)s
+(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 628 y(through)30
+b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Fs(off)p
+Ft('.)630 784 y Fs(output-meta)1110 894 y Ft(If)35 b(set)h(to)g(`)p
+Fs(on)p Ft(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
+(the)h(eigh)m(th)g(bit)1110 1003 y(set)h(directly)g(rather)f(than)g(as)
+h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110
+1113 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 1270
+y Fs(page-completions)1110 1379 y Ft(If)j(set)i(to)f(`)p
+Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
+Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
+1489 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
 47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fs(on)p Ft(')1110
-1129 y(b)m(y)e(default.)630 1301 y Fs(print-completions-horizo)o(ntal)o
-(ly)1110 1410 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
+1598 y(b)m(y)e(default.)630 1755 y Fs(print-completions-horizo)o(ntal)o
+(ly)1110 1864 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
 (will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
-1520 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
-(than)g(do)m(wn)g(the)h(screen.)1110 1630 y(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 1802 y Fs(revert-all-at-newline)1110
-1911 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f
+1974 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
+(than)g(do)m(wn)g(the)h(screen.)1110 2084 y(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 2240 y Fs(revert-all-at-newline)1110
+2350 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f
 (all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110
-2021 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41
-b(By)29 b(default,)g(history)g(lines)1110 2131 y(ma)m(y)42
+2459 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41
+b(By)29 b(default,)g(history)g(lines)1110 2569 y(ma)m(y)42
 b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h
-(across)g(calls)h(to)1110 2240 y Fs(readline)p Ft(.)38
-b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 2412
-y Fs(show-all-if-ambiguous)1110 2522 y Ft(This)f(alters)i(the)f
+(across)g(calls)h(to)1110 2679 y Fs(readline)p Ft(.)38
+b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 2835
+y Fs(show-all-if-ambiguous)1110 2945 y Ft(This)f(alters)i(the)f
 (default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40
-b(If)29 b(set)1110 2632 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)
+b(If)29 b(set)1110 3054 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)
 g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause)
-1110 2741 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
-(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 2851 y(The)30
+1110 3164 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
+(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 3273 y(The)30
 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630
-3023 y Fs(show-all-if-unmodified)1110 3133 y Ft(This)38
+3430 y Fs(show-all-if-unmodified)1110 3540 y Ft(This)38
 b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h
-(functions)e(in)h(a)1110 3242 y(fashion)25 b(similar)g(to)h
+(functions)e(in)h(a)1110 3649 y(fashion)25 b(similar)g(to)h
 Fq(sho)m(w-all-if-am)m(biguous)t Ft(.)41 b(If)24 b(set)i(to)f(`)p
-Fs(on)p Ft(',)i(w)m(ords)d(whic)m(h)1110 3352 y(ha)m(v)m(e)32
+Fs(on)p Ft(',)i(w)m(ords)d(whic)m(h)1110 3759 y(ha)m(v)m(e)32
 b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s
-(ossible)f(par-)1110 3461 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
-f(completions)h(don't)f(share)g(a)h(common)1110 3571
+(ossible)f(par-)1110 3868 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
+f(completions)h(don't)f(share)g(a)h(common)1110 3978
 y(pre\014x\))30 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g
-(immediately)i(instead)e(of)h(ring-)1110 3680 y(ing)g(the)f(b)s(ell.)41
+(immediately)i(instead)e(of)h(ring-)1110 4088 y(ing)g(the)f(b)s(ell.)41
 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fs(off)p
-Ft('.)630 3853 y Fs(skip-completed-text)1110 3962 y Ft(If)i(set)i(to)f
+Ft('.)630 4244 y Fs(skip-completed-text)1110 4354 y Ft(If)i(set)i(to)f
 (`)p Fs(on)p Ft(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s
-(eha)m(vior)f(when)f(in-)1110 4072 y(serting)d(a)h(single)g(matc)m(h)f
+(eha)m(vior)f(when)f(in-)1110 4463 y(serting)d(a)h(single)g(matc)m(h)f
 (in)m(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s
-(erform-)1110 4181 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f
+(erform-)1110 4573 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f
 (w)m(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110
-4291 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h
-(that)f(matc)m(h)g(c)m(haracters)1110 4401 y(after)c(p)s(oin)m(t)g(in)g
+4682 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h
+(that)f(matc)m(h)g(c)m(haracters)1110 4792 y(after)c(p)s(oin)m(t)g(in)g
 (the)g(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g
-(w)m(ord)1110 4510 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g
+(w)m(ord)1110 4902 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g
 (duplicated.)45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110
-4620 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
-(after)h(the)g(`)p Fs(e)p Ft(')f(in)1110 4729 y(`)p Fs(Makefile)p
+5011 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
+(after)h(the)g(`)p Fs(e)p Ft(')f(in)1110 5121 y(`)p Fs(Makefile)p
 Ft(')c(will)i(result)f(in)g(`)p Fs(Makefile)p Ft(')f(rather)h(than)h(`)
-p Fs(Makefilefile)p Ft(',)1110 4839 y(assuming)d(there)g(is)h(a)f
+p Fs(Makefilefile)p Ft(',)1110 5230 y(assuming)d(there)g(is)h(a)f
 (single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5
-b(alue)1110 4949 y(is)30 b(`)p Fs(off)p Ft('.)630 5121
-y Fs(visible-stats)1110 5230 y Ft(If)h(set)i(to)f(`)p
-Fs(on)p Ft(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s
-(e)g(is)g(app)s(ended)e(to)j(the)1110 5340 y(\014lename)e(when)e
-(listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)p eop end
+b(alue)1110 5340 y(is)30 b(`)p Fs(off)p Ft('.)p eop end
 %%Page: 103 109
 TeXDict begin 103 108 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(103)150 299 y(Key)30
-b(Bindings)630 408 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h(k)m
-(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
-b(First)43 b(y)m(ou)630 518 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h
+b(Command)29 b(Line)i(Editing)2062 b(103)630 299 y Fs(visible-stats)
+1110 408 y Ft(If)31 b(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i
+(denoting)e(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)
+1110 518 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
+b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)150 675
+y(Key)f(Bindings)630 784 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
+(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
+b(First)43 b(y)m(ou)630 894 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h
 (the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
-b(The)27 b(follo)m(wing)630 628 y(sections)37 b(con)m(tain)g(tables)g
+b(The)27 b(follo)m(wing)630 1003 y(sections)37 b(con)m(tain)g(tables)g
 (of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
-m(y)-8 b(,)630 737 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 867 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
+m(y)-8 b(,)630 1113 y(and)30 b(a)h(short)f(description)g(of)h(what)f
+(the)g(command)h(do)s(es.)630 1246 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
 (name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
-(the)g(init)630 977 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)
-g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630
-1087 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
+(the)g(init)630 1356 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
+(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
+630 1465 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g
-(and)630 1196 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
+(and)630 1575 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
 (terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
-b(The)40 b(name)h(of)630 1306 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+b(The)40 b(name)h(of)630 1684 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
 (expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
-(what)h(y)m(ou)g(\014nd)e(most)630 1415 y(comfortable.)630
-1545 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
+(what)h(y)m(ou)g(\014nd)e(most)630 1794 y(comfortable.)630
+1927 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
 (k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630
-1655 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
-(\(a)h Fq(macro)5 b Ft(\).)630 1785 y(The)42 b Fs(bind)30
+2037 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
+(\(a)h Fq(macro)5 b Ft(\).)630 2170 y(The)42 b Fs(bind)30
 b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)
-f(bindings)g(in)h(a)630 1895 y(format)37 b(that)h(can)f(put)f(directly)
+f(bindings)g(in)h(a)630 2279 y(format)37 b(that)h(can)f(put)f(directly)
 i(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38
-b(Section)f(4.2)i([Bash)630 2004 y(Builtins],)31 b(page)g(43.)630
-2155 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35
-b Ft(or)c Fq(macro)1110 2265 y(k)m(eyname)k Ft(is)29
+b(Section)f(4.2)i([Bash)630 2389 y(Builtins],)31 b(page)g(43.)630
+2545 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35
+b Ft(or)c Fq(macro)1110 2655 y(k)m(eyname)k Ft(is)29
 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39
-b(F)-8 b(or)30 b(example:)1350 2395 y Fs(Control-u:)45
-b(universal-argument)1350 2504 y(Meta-Rubout:)f(backward-kill-word)1350
-2614 y(Control-o:)h(">)i(output")1110 2744 y Ft(In)38
+b(F)-8 b(or)30 b(example:)1350 2788 y Fs(Control-u:)45
+b(universal-argument)1350 2898 y(Meta-Rubout:)f(backward-kill-word)1350
+3007 y(Control-o:)h(">)i(output")1110 3140 y Ft(In)38
 b(the)h(ab)s(o)m(v)m(e)h(example,)h Fi(C-u)d Ft(is)h(b)s(ound)d(to)k
-(the)e(function)h Fs(universal-)1110 2854 y(argument)p
+(the)e(function)h Fs(universal-)1110 3250 y(argument)p
 Ft(,)f Fi(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g(function)g
-Fs(backward-kill-word)p Ft(,)1110 2963 y(and)g Fi(C-o)g
+Fs(backward-kill-word)p Ft(,)1110 3360 y(and)g Fi(C-o)g
 Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f(the)i
-(righ)m(t)f(hand)1110 3073 y(side)30 b(\(that)i(is,)e(to)h(insert)g
+(righ)m(t)f(hand)1110 3469 y(side)30 b(\(that)i(is,)e(to)h(insert)g
 (the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g(line\).)1110
-3203 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
-(names)e(are)g(recognized)h(while)f(pro-)1110 3313 y(cessing)22
+3602 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
+(names)e(are)g(recognized)h(while)f(pro-)1110 3712 y(cessing)22
 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37 b Fq(DEL)p
 Ft(,)22 b Fq(ESC)8 b Ft(,)20 b Fq(ESCAPE)5 b Ft(,)21
-b Fq(LFD)5 b Ft(,)22 b Fq(NEW-)1110 3422 y(LINE)5 b Ft(,)31
+b Fq(LFD)5 b Ft(,)22 b Fq(NEW-)1110 3821 y(LINE)5 b Ft(,)31
 b Fq(RET)7 b Ft(,)29 b Fq(RETURN)10 b Ft(,)30 b Fq(R)m(UBOUT)7
 b Ft(,)31 b Fq(SP)-8 b(A)m(CE)5 b Ft(,)31 b Fq(SPC)8
-b Ft(,)29 b(and)h Fq(T)-8 b(AB)5 b Ft(.)630 3573 y Fs(")p
+b Ft(,)29 b(and)h Fq(T)-8 b(AB)5 b Ft(.)630 3978 y Fs(")p
 Fq(k)m(eyseq)r Fs(")p Ft(:)41 b Fq(function-name)36 b
-Ft(or)30 b Fq(macro)1110 3682 y(k)m(eyseq)k Ft(di\013ers)d(from)f
+Ft(or)30 b Fq(macro)1110 4088 y(k)m(eyseq)k Ft(di\013ers)d(from)f
 Fq(k)m(eyname)37 b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f
-(denoting)g(an)g(en-)1110 3792 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
+(denoting)g(an)g(en-)1110 4197 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
 (e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)
-1110 3902 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h
+1110 4307 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h
 Ft(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)
-1110 4011 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s
-(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 4121 y(recognized.)1350
-4251 y Fs("\\C-u":)46 b(universal-argument)1350 4361
-y("\\C-x\\C-r":)f(re-read-init-file)1350 4470 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 4600 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+1110 4416 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s
+(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 4526 y(recognized.)1350
+4659 y Fs("\\C-u":)46 b(universal-argument)1350 4769
+y("\\C-x\\C-r":)f(re-read-init-file)1350 4878 y("\\e[11~":)g("Function)
+h(Key)g(1")1110 5011 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
 b Fi(C-u)64 b Ft(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-4710 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fi(C-x)1110 4819
+5121 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
+(the)f(\014rst)g(example\),)49 b(`)p Fi(C-x)1110 5230
 y(C-r)p Ft(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f
 Fs(re-read-init-file)p Ft(,)c(and)j(`)p Fs(ESC)h([)g(1)g(1)1110
-4929 y(~)p Ft(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
-Fs(Function)e(Key)g(1)p Ft('.)630 5080 y(The)g(follo)m(wing)i
-Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
-b(ailable)32 b(when)d(sp)s(ecifying)630 5189 y(k)m(ey)i(sequences:)630
-5340 y Fi(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)p eop
-end
+5340 y(~)p Ft(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
+Fs(Function)e(Key)g(1)p Ft('.)p eop end
 %%Page: 104 110
 TeXDict begin 104 109 bop 150 -116 a Ft(104)2527 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fi(\\M-)336 b Ft(meta)31
-b(pre\014x)630 461 y Fi(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)
-630 622 y Fi(\\\\)384 b Ft(bac)m(kslash)630 784 y Fi(\\)p
-Fs(")g(")p Ft(,)30 b(a)h(double)f(quotation)i(mark)630
-946 y Fi(\\')384 b Fs(')p Ft(,)30 b(a)h(single)g(quote)g(or)f(ap)s
-(ostrophe)630 1108 y(In)d(addition)h(to)g(the)g Fl(gnu)f
-Ft(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g
-(bac)m(kslash)630 1217 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630
-1379 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 1541
-y Fs(\\b)384 b Ft(bac)m(kspace)630 1703 y Fs(\\d)g Ft(delete)630
-1864 y Fs(\\f)g Ft(form)30 b(feed)630 2026 y Fs(\\n)384
-b Ft(newline)630 2188 y Fs(\\r)g Ft(carriage)32 b(return)630
-2350 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 2511
-y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 2673 y Fs(\\)p
+b(Reference)g(Man)m(ual)630 299 y(The)e(follo)m(wing)i
+Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
+b(ailable)32 b(when)d(sp)s(ecifying)630 408 y(k)m(ey)i(sequences:)630
+578 y Fi(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)630 748
+y Fi(\\M-)336 b Ft(meta)31 b(pre\014x)630 918 y Fi(\\e)384
+b Ft(an)30 b(escap)s(e)h(c)m(haracter)630 1087 y Fi(\\\\)384
+b Ft(bac)m(kslash)630 1257 y Fi(\\)p Fs(")g(")p Ft(,)30
+b(a)h(double)f(quotation)i(mark)630 1427 y Fi(\\')384
+b Fs(')p Ft(,)30 b(a)h(single)g(quote)g(or)f(ap)s(ostrophe)630
+1597 y(In)d(addition)h(to)g(the)g Fl(gnu)f Ft(Emacs)h(st)m(yle)h(escap)
+s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
+1706 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 1876
+y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 2046 y Fs(\\b)384
+b Ft(bac)m(kspace)630 2215 y Fs(\\d)g Ft(delete)630 2385
+y Fs(\\f)g Ft(form)30 b(feed)630 2555 y Fs(\\n)384 b
+Ft(newline)630 2724 y Fs(\\r)g Ft(carriage)32 b(return)630
+2894 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 3064
+y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 3234 y Fs(\\)p
 Fi(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fq(nnn)e
-Ft(\(one)i(to)1110 2783 y(three)c(digits\))630 2945 y
+Ft(\(one)i(to)1110 3343 y(three)c(digits\))630 3513 y
 Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e
 (v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40
-b Fq(HH)1110 3054 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
-3216 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
+b Fq(HH)1110 3622 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
+3792 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
 (or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630
-3326 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
+3902 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38
-b(In)630 3435 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
+b(In)630 4011 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j
-(are)e(expanded.)37 b(Bac)m(kslash)630 3545 y(will)j(quote)h(an)m(y)f
+(are)e(expanded.)37 b(Bac)m(kslash)630 4121 y(will)j(quote)h(an)m(y)f
 (other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
 b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8
-b(or)630 3654 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 4231 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
 (mak)m(e)h(`)p Fi(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p
-Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 3790 y Fs("\\C-x\\\\":)45
-b("\\\\")150 3992 y Fj(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-150 4139 y Ft(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
+Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 4370 y Fs("\\C-x\\\\":)45
+b("\\\\")150 4580 y Fj(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
+150 4727 y Ft(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
 (in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150
-4248 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
+4836 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
 (bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s
-(erformed)f(as)i(the)150 4358 y(result)f(of)h(tests.)41
+(erformed)f(as)i(the)150 4946 y(result)f(of)h(tests.)41
 b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150
-4521 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
+5121 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
 (bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g
-(the)630 4630 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
+(the)630 5230 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
 (application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)
-630 4740 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
-(haracters)i(are)f(required)e(to)i(isolate)i(it.)630
-4902 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g
-Fs($if)f Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)
-1110 5011 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
-b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
-5121 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
-(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 5230 y(standard)23
-b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
-(starting)h(out)1110 5340 y(in)k Fs(emacs)f Ft(mo)s(de.)p
-eop end
+630 5340 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
+(haracters)i(are)f(required)e(to)i(isolate)i(it.)p eop
+end
 %%Page: 105 111
 TeXDict begin 105 110 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(105)630 299 y Fs(term)288
-b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e(used)g(to)i
-(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
-408 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
-(output)g(b)m(y)g(the)g(terminal's)1110 518 y(function)24
+b(Command)29 b(Line)i(Editing)2062 b(105)630 299 y Fs(mode)288
+b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g Fs($if)f
+Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)1110
+408 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
+b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
+518 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
+(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 628 y(standard)23
+b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
+(starting)h(out)1110 737 y(in)k Fs(emacs)f Ft(mo)s(de.)630
+897 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
+(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
+1006 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
+(output)g(b)m(y)g(the)g(terminal's)1110 1116 y(function)24
 b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
-(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 628
+(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 1225
 y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
-(ortion)e(of)h(the)g(terminal)1110 737 y(name)k(b)s(efore)f(the)g
+(ortion)e(of)h(the)g(terminal)1110 1335 y(name)k(b)s(efore)f(the)g
 (\014rst)g(`)p Fs(-)p Ft('.)50 b(This)33 b(allo)m(ws)i
 Fs(sun)e Ft(to)h(matc)m(h)g(b)s(oth)f Fs(sun)g Ft(and)1110
-847 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1006 y
-Fs(application)1110 1116 y Ft(The)21 b Fq(application)j
+1445 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1604 y
+Fs(application)1110 1714 y Ft(The)21 b Fq(application)j
 Ft(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
-(set-)1110 1225 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
+(set-)1110 1823 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
 (Readline)g(library)g(sets)g(the)g Fq(application)1110
-1335 y(name)5 b Ft(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h
+1933 y(name)5 b Ft(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h
 (particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to)
-1110 1445 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g
+1110 2042 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g
 (for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110
-1554 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)
-f(sequence)h(that)f(quotes)1110 1664 y(the)e(curren)m(t)f(or)g
-(previous)g(w)m(ord)g(in)g(Bash:)1350 1798 y Fs($if)47
-b(Bash)1350 1908 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
-1350 2017 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2127 y($endif)150
-2286 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g
+2152 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)
+f(sequence)h(that)f(quotes)1110 2262 y(the)e(curren)m(t)f(or)g
+(previous)g(w)m(ord)g(in)g(Bash:)1350 2396 y Fs($if)47
+b(Bash)1350 2506 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
+1350 2615 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2725 y($endif)150
+2884 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g
 (previous)g(example,)h(terminates)g(an)g Fs($if)e Ft(command.)150
-2446 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
+3044 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
 (the)f Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
-(fails.)150 2605 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m
+(fails.)150 3203 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m
 (es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g
-(commands)630 2715 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
+(commands)630 3313 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
 b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e
-(from)630 2824 y(`)p Fs(/etc/inputrc)p Ft(':)870 2959
-y Fs($include)46 b(/etc/inputrc)150 3158 y Fj(8.3.3)63
-b(Sample)41 b(Init)g(File)150 3305 y Ft(Here)27 b(is)f(an)h(example)g
+(from)630 3422 y(`)p Fs(/etc/inputrc)p Ft(':)870 3557
+y Fs($include)46 b(/etc/inputrc)150 3756 y Fj(8.3.3)63
+b(Sample)41 b(Init)g(File)150 3903 y Ft(Here)27 b(is)f(an)h(example)g
 (of)f(an)h Fq(inputrc)k Ft(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)
 h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150
-3415 y(conditional)j(syn)m(tax.)p eop end
+4012 y(conditional)j(syn)m(tax.)p eop end
 %%Page: 106 112
 TeXDict begin 106 111 bop 150 -116 a Ft(106)2527 b(Bash)31
 b(Reference)g(Man)m(ual)390 408 y Fs(#)47 b(This)g(file)g(controls)e
@@ -13512,85 +13507,87 @@ TeXDict begin 125 130 bop 150 -116 a Ft(Chapter)30 b(9:)41
 b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(125)630
 299 y Fs(-r)384 b Ft(Read)26 b(the)h(curren)m(t)f(history)g(\014le)g
 (and)g(app)s(end)e(its)j(con)m(ten)m(ts)h(to)f(the)f(history)1110
-408 y(list.)630 573 y Fs(-w)384 b Ft(W)-8 b(rite)32 b(out)e(the)h
+408 y(list.)630 562 y Fs(-w)384 b Ft(W)-8 b(rite)32 b(out)e(the)h
 (curren)m(t)f(history)g(to)i(the)e(history)g(\014le.)630
-739 y Fs(-p)384 b Ft(P)m(erform)31 b(history)f(substitution)h(on)f(the)
+715 y Fs(-p)384 b Ft(P)m(erform)31 b(history)f(substitution)h(on)f(the)
 h Fq(arg)8 b Ft(s)31 b(and)f(displa)m(y)h(the)f(result)h(on)1110
-848 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
-(in)g(the)g(history)g(list.)630 1013 y Fs(-s)384 b Ft(The)30
+824 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
+(in)g(the)g(history)g(list.)630 977 y Fs(-s)384 b Ft(The)30
 b Fq(arg)8 b Ft(s)30 b(are)h(added)f(to)h(the)f(end)g(of)h(the)f
 (history)h(list)g(as)f(a)h(single)g(en)m(try)-8 b(.)630
-1178 y(When)24 b(an)m(y)h(of)f(the)h(`)p Fs(-w)p Ft(',)h(`)p
+1130 y(When)24 b(an)m(y)h(of)f(the)h(`)p Fs(-w)p Ft(',)h(`)p
 Fs(-r)p Ft(',)f(`)p Fs(-a)p Ft(',)h(or)f(`)p Fs(-n)p
 Ft(')f(options)g(is)h(used,)g(if)f Fq(\014lename)30 b
-Ft(is)24 b(giv)m(en,)j(then)630 1288 y(it)32 b(is)g(used)f(as)h(the)f
+Ft(is)24 b(giv)m(en,)j(then)630 1240 y(it)32 b(is)g(used)f(as)h(the)f
 (history)h(\014le.)45 b(If)31 b(not,)h(then)g(the)f(v)-5
 b(alue)32 b(of)g(the)g Fs(HISTFILE)d Ft(v)-5 b(ariable)33
-b(is)630 1397 y(used.)150 1638 y Fr(9.3)68 b(History)46
-b(Expansion)150 1798 y Ft(The)f(History)h(library)e(pro)m(vides)i(a)f
+b(is)630 1350 y(used.)150 1576 y Fr(9.3)68 b(History)46
+b(Expansion)150 1735 y Ft(The)f(History)h(library)e(pro)m(vides)i(a)f
 (history)g(expansion)g(feature)h(that)g(is)f(similar)h(to)g(the)f
-(history)150 1907 y(expansion)g(pro)m(vided)f(b)m(y)h
+(history)150 1845 y(expansion)g(pro)m(vided)f(b)m(y)h
 Fs(csh)p Ft(.)83 b(This)44 b(section)i(describ)s(es)e(the)h(syn)m(tax)h
-(used)e(to)i(manipulate)f(the)150 2017 y(history)30 b(information.)275
-2157 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
+(used)e(to)i(manipulate)f(the)150 1954 y(history)30 b(information.)275
+2086 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
 (history)f(list)h(in)m(to)g(the)g(input)f(stream,)h(making)150
-2266 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
+2195 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
 m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150
-2376 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
-(quic)m(kly)-8 b(.)275 2516 y(History)27 b(expansion)f(tak)m(es)i
+2305 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
+(quic)m(kly)-8 b(.)275 2436 y(History)27 b(expansion)f(tak)m(es)i
 (place)f(in)f(t)m(w)m(o)i(parts.)39 b(The)26 b(\014rst)g(is)g(to)h
-(determine)g(whic)m(h)f(line)h(from)f(the)150 2626 y(history)i(list)g
+(determine)g(whic)m(h)f(line)h(from)f(the)150 2546 y(history)i(list)g
 (should)f(b)s(e)g(used)g(during)g(substitution.)39 b(The)27
 b(second)h(is)g(to)h(select)g(p)s(ortions)e(of)h(that)h(line)150
-2735 y(for)d(inclusion)f(in)m(to)i(the)f(curren)m(t)f(one.)40
+2655 y(for)d(inclusion)f(in)m(to)i(the)f(curren)m(t)f(one.)40
 b(The)25 b(line)h(selected)h(from)f(the)g(history)f(is)h(called)h(the)f
-Fq(ev)m(en)m(t)p Ft(,)j(and)150 2845 y(the)21 b(p)s(ortions)g(of)g
+Fq(ev)m(en)m(t)p Ft(,)j(and)150 2765 y(the)21 b(p)s(ortions)g(of)g
 (that)h(line)f(that)h(are)g(acted)g(up)s(on)e(are)h(called)h
 Fq(w)m(ords)p Ft(.)38 b(V)-8 b(arious)21 b Fq(mo)s(di\014ers)j
-Ft(are)e(a)m(v)-5 b(ailable)150 2955 y(to)35 b(manipulate)f(the)g
+Ft(are)e(a)m(v)-5 b(ailable)150 2874 y(to)35 b(manipulate)f(the)g
 (selected)i(w)m(ords.)51 b(The)33 b(line)h(is)g(brok)m(en)g(in)m(to)h
-(w)m(ords)e(in)h(the)g(same)h(fashion)e(that)150 3064
+(w)m(ords)e(in)h(the)g(same)h(fashion)e(that)150 2984
 y(Bash)i(do)s(es,)h(so)f(that)h(sev)m(eral)g(w)m(ords)e(surrounded)f(b)
 m(y)i(quotes)g(are)g(considered)g(one)g(w)m(ord.)54 b(History)150
-3174 y(expansions)34 b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s
+3094 y(expansions)34 b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s
 (earance)g(of)g(the)g(history)g(expansion)g(c)m(haracter,)i(whic)m(h)e
-(is)150 3283 y(`)p Fs(!)p Ft(')d(b)m(y)f(default.)41
+(is)150 3203 y(`)p Fs(!)p Ft(')d(b)m(y)f(default.)41
 b(Only)29 b(`)p Fs(\\)p Ft(')i(and)f(`)p Fs(')p Ft(')g(ma)m(y)h(b)s(e)f
 (used)g(to)h(escap)s(e)g(the)f(history)g(expansion)h(c)m(haracter.)275
-3423 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h
+3335 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h
 Fs(shopt)e Ft(builtin)h(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)150
-3533 y(page)32 b(43\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s
+3444 y(page)32 b(43\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s
 (eha)m(vior)h(of)g(history)g(expansion.)44 b(If)31 b(the)h
-Fs(histverify)d Ft(shell)150 3643 y(option)39 b(is)f(enabled,)i(and)e
+Fs(histverify)d Ft(shell)150 3554 y(option)39 b(is)f(enabled,)i(and)e
 (Readline)g(is)h(b)s(eing)e(used,)j(history)e(substitutions)g(are)g
-(not)h(immediately)150 3752 y(passed)30 b(to)h(the)g(shell)g(parser.)40
+(not)h(immediately)150 3663 y(passed)30 b(to)h(the)g(shell)g(parser.)40
 b(Instead,)30 b(the)h(expanded)f(line)h(is)f(reloaded)h(in)m(to)h(the)e
-(Readline)h(editing)150 3862 y(bu\013er)e(for)i(further)e(mo)s
+(Readline)h(editing)150 3773 y(bu\013er)e(for)i(further)e(mo)s
 (di\014cation.)41 b(If)30 b(Readline)h(is)f(b)s(eing)g(used,)g(and)g
-(the)g Fs(histreedit)e Ft(shell)i(option)150 3971 y(is)k(enabled,)h(a)g
+(the)g Fs(histreedit)e Ft(shell)i(option)150 3882 y(is)k(enabled,)h(a)g
 (failed)g(history)f(expansion)g(will)g(b)s(e)g(reloaded)g(in)m(to)h
-(the)g(Readline)f(editing)h(bu\013er)e(for)150 4081 y(correction.)74
+(the)g(Readline)f(editing)h(bu\013er)e(for)150 3992 y(correction.)74
 b(The)41 b(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f Fs(history)f
 Ft(builtin)g(command)h(ma)m(y)h(b)s(e)e(used)h(to)g(see)h(what)150
-4191 y(a)c(history)g(expansion)f(will)h(do)f(b)s(efore)h(using)f(it.)63
+4102 y(a)c(history)g(expansion)f(will)h(do)f(b)s(efore)h(using)f(it.)63
 b(The)37 b(`)p Fs(-s)p Ft(')g(option)h(to)h(the)f Fs(history)d
-Ft(builtin)i(ma)m(y)150 4300 y(b)s(e)c(used)h(to)g(add)g(commands)f(to)
+Ft(builtin)i(ma)m(y)150 4211 y(b)s(e)c(used)h(to)g(add)g(commands)f(to)
 i(the)f(end)g(of)g(the)g(history)g(list)h(without)f(actually)i
-(executing)f(them,)150 4410 y(so)j(that)h(they)f(are)g(a)m(v)-5
+(executing)f(them,)150 4321 y(so)j(that)h(they)f(are)g(a)m(v)-5
 b(ailable)40 b(for)e(subsequen)m(t)f(recall.)65 b(This)37
-b(is)h(most)g(useful)g(in)f(conjunction)h(with)150 4519
-y(Readline.)275 4659 y(The)33 b(shell)h(allo)m(ws)h(con)m(trol)h(of)e
+b(is)h(most)g(useful)g(in)f(conjunction)h(with)150 4430
+y(Readline.)275 4562 y(The)33 b(shell)h(allo)m(ws)h(con)m(trol)h(of)e
 (the)g(v)-5 b(arious)34 b(c)m(haracters)h(used)f(b)m(y)f(the)h(history)
-g(expansion)g(mec)m(h-)150 4769 y(anism)h(with)g(the)g
+g(expansion)g(mec)m(h-)150 4671 y(anism)h(with)g(the)g
 Fs(histchars)d Ft(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e)
 i(\(see)f(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150
-4879 y(page)32 b(63\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
+4781 y(page)32 b(63\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
 (commen)m(t)i(c)m(haracter)f(to)g(mark)f(history)g(timestamps)h(when)
-150 4988 y(writing)e(the)h(history)f(\014le.)150 5193
-y Fj(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 5340
-y Ft(An)30 b(ev)m(en)m(t)i(designator)f(is)f(a)h(reference)g(to)g(a)g
-(command)f(line)h(en)m(try)f(in)g(the)h(history)f(list.)p
-eop end
+150 4891 y(writing)e(the)h(history)f(\014le.)150 5083
+y Fj(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 5230
+y Ft(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g(reference)g(to)h(a)f
+(command)f(line)h(en)m(try)g(in)g(the)g(history)g(list.)48
+b(Unless)33 b(the)150 5340 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)
+f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h(in)f(the)h
+(history)f(list.)p eop end
 %%Page: 126 132
 TeXDict begin 126 131 bop 150 -116 a Ft(126)2527 b(Bash)31
 b(Reference)g(Man)m(ual)150 299 y Fs(!)432 b Ft(Start)34
@@ -13598,57 +13595,60 @@ b(a)f(history)h(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y)
 e(a)h(space,)h(tab,)f(the)g(end)f(of)630 408 y(the)i(line,)g(`)p
 Fs(=)p Ft(')g(or)f(`)p Fs(\()p Ft(')h(\(when)e(the)i
 Fs(extglob)d Ft(shell)j(option)f(is)h(enabled)f(using)g(the)g
-Fs(shopt)630 518 y Ft(builtin\).)150 680 y Fs(!)p Fi(n)384
+Fs(shopt)630 518 y Ft(builtin\).)150 669 y Fs(!)p Fi(n)384
 b Ft(Refer)30 b(to)i(command)e(line)g Fq(n)p Ft(.)150
-841 y Fs(!-)p Fi(n)336 b Ft(Refer)30 b(to)i(the)e(command)g
-Fq(n)g Ft(lines)h(bac)m(k.)150 1003 y Fs(!!)384 b Ft(Refer)30
+819 y Fs(!-)p Fi(n)336 b Ft(Refer)30 b(to)i(the)e(command)g
+Fq(n)g Ft(lines)h(bac)m(k.)150 970 y Fs(!!)384 b Ft(Refer)30
 b(to)i(the)e(previous)g(command.)40 b(This)30 b(is)g(a)h(synon)m(ym)f
-(for)g(`)p Fs(!-1)p Ft('.)150 1164 y Fs(!)p Fi(string)144
-b Ft(Refer)30 b(to)i(the)e(most)h(recen)m(t)g(command)f(starting)i
-(with)e Fq(string)8 b Ft(.)150 1326 y Fs(!?)p Fi(string)j
-Fs([?])630 1436 y Ft(Refer)33 b(to)h(the)f(most)g(recen)m(t)h(command)f
-(con)m(taining)h Fq(string)8 b Ft(.)48 b(The)33 b(trailing)h(`)p
-Fs(?)p Ft(')f(ma)m(y)h(b)s(e)630 1545 y(omitted)d(if)g(the)f
-Fq(string)38 b Ft(is)31 b(follo)m(w)m(ed)h(immediately)g(b)m(y)e(a)h
-(newline.)150 1707 y Fs(^)p Fi(string1)11 b Fs(^)p Fi(string2)g
-Fs(^)630 1816 y Ft(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
+(for)g(`)p Fs(!-1)p Ft('.)150 1120 y Fs(!)p Fi(string)144
+b Ft(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g
+(the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630
+1230 y(list)31 b(starting)g(with)f Fq(string)8 b Ft(.)150
+1381 y Fs(!?)p Fi(string)j Fs([?])630 1490 y Ft(Refer)25
+b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g(the)g(curren)m(t)
+g(p)s(osition)g(in)g(the)g(history)630 1600 y(list)32
+b(con)m(taining)h Fq(string)8 b Ft(.)43 b(The)31 b(trailing)h(`)p
+Fs(?)p Ft(')f(ma)m(y)h(b)s(e)f(omitted)h(if)f(the)h Fq(string)39
+b Ft(is)31 b(follo)m(w)m(ed)630 1709 y(immediately)h(b)m(y)e(a)h
+(newline.)150 1860 y Fs(^)p Fi(string1)11 b Fs(^)p Fi(string2)g
+Fs(^)630 1970 y Ft(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
 b(the)g(last)h(command,)g(replacing)f Fq(string1)39 b
-Ft(with)31 b Fq(string2)7 b Ft(.)630 1926 y(Equiv)-5
+Ft(with)31 b Fq(string2)7 b Ft(.)630 2079 y(Equiv)-5
 b(alen)m(t)31 b(to)g Fs(!!:s/)p Fi(string1)11 b Fs(/)p
-Fi(string2)g Fs(/)p Ft(.)150 2088 y Fs(!#)384 b Ft(The)30
+Fi(string2)g Fs(/)p Ft(.)150 2230 y Fs(!#)384 b Ft(The)30
 b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)150
-2289 y Fj(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
-2436 y Ft(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
+2420 y Fj(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
+2567 y Ft(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
 (desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27
 b(`)p Fs(:)p Ft(')g(separates)h(the)f(ev)m(en)m(t)150
-2546 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
+2677 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
 b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g
-(b)s(egins)150 2655 y(with)30 b(a)g(`)p Fs(^)p Ft(',)g(`)p
+(b)s(egins)150 2786 y(with)30 b(a)g(`)p Fs(^)p Ft(',)g(`)p
 Fs($)p Ft(',)g(`)p Fs(*)p Ft(',)h(`)p Fs(-)p Ft(',)f(or)g(`)p
 Fs(\045)p Ft('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i
 (the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150
-2765 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
+2896 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
 41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f
-(line)g(separated)h(b)m(y)150 2874 y(single)h(spaces.)275
-3011 y(F)-8 b(or)31 b(example,)150 3174 y Fs(!!)384 b
+(line)g(separated)h(b)m(y)150 3005 y(single)h(spaces.)275
+3136 y(F)-8 b(or)31 b(example,)150 3286 y Fs(!!)384 b
 Ft(designates)37 b(the)f(preceding)g(command.)57 b(When)35
 b(y)m(ou)i(t)m(yp)s(e)f(this,)h(the)f(preceding)g(com-)630
-3283 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 3445
+3396 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 3546
 y Fs(!!:$)288 b Ft(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the)
 h(preceding)f(command.)38 b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630
-3555 y(to)31 b Fs(!$)p Ft(.)150 3716 y Fs(!fi:2)240 b
+3656 y(to)31 b Fs(!$)p Ft(.)150 3806 y Fs(!fi:2)240 b
 Ft(designates)30 b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f
-(recen)m(t)i(command)e(starting)h(with)f(the)630 3826
-y(letters)j Fs(fi)p Ft(.)275 3988 y(Here)e(are)h(the)g(w)m(ord)f
-(designators:)150 4151 y Fs(0)g(\(zero\))114 b Ft(The)30
+(recen)m(t)i(command)e(starting)h(with)f(the)630 3916
+y(letters)j Fs(fi)p Ft(.)275 4067 y(Here)e(are)h(the)g(w)m(ord)f
+(designators:)150 4217 y Fs(0)g(\(zero\))114 b Ft(The)30
 b Fs(0)p Ft(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h
-(this)e(is)g(the)h(command)f(w)m(ord.)150 4313 y Fi(n)432
-b Ft(The)30 b Fq(n)p Ft(th)g(w)m(ord.)150 4474 y Fs(^)432
+(this)e(is)g(the)h(command)f(w)m(ord.)150 4368 y Fi(n)432
+b Ft(The)30 b Fq(n)p Ft(th)g(w)m(ord.)150 4518 y Fs(^)432
 b Ft(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150
-4636 y Fs($)432 b Ft(The)30 b(last)h(argumen)m(t.)150
-4798 y Fs(\045)432 b Ft(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
+4669 y Fs($)432 b Ft(The)30 b(last)h(argumen)m(t.)150
+4820 y Fs(\045)432 b Ft(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
 (most)g(recen)m(t)g(`)p Fs(?)p Fi(string)11 b Fs(?)p
-Ft(')28 b(searc)m(h.)150 4959 y Fi(x)11 b Fs(-)p Fi(y)325
+Ft(')28 b(searc)m(h.)150 4970 y Fi(x)11 b Fs(-)p Fi(y)325
 b Ft(A)30 b(range)h(of)g(w)m(ords;)f(`)p Fs(-)p Fi(y)11
 b Ft(')30 b(abbreviates)h(`)p Fs(0-)p Fi(y)11 b Ft('.)150
 5121 y Fs(*)432 b Ft(All)28 b(of)g(the)g(w)m(ords,)g(except)h(the)e
@@ -15839,736 +15839,739 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 TeXDict begin 156 161 bop 150 -116 a Ft(156)2527 b(Bash)31
 b(Reference)g(Man)m(ual)150 299 y Fe(isearch-terminators)16
 b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(101)150 532 y Fr(K)150
-648 y Fe(keymap)15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(101)150 536 y Fr(K)150
+654 y Fe(keymap)15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fb(101)150 900
-y Fr(L)150 1017 y Fe(LANG)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fb(101)150 910
+y Fr(L)150 1027 y Fe(LANG)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(69)150 1104 y Fe(LC_ALL)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
+b Fb(69)150 1115 y Fe(LC_ALL)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fb(69)150 1191 y Fe(LC_COLLATE)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
+b Fb(69)150 1203 y Fe(LC_COLLATE)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(69)150
-1278 y Fe(LC_CTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+1291 y Fe(LC_CTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(70)150 1366
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(70)150 1380
 y Fe(LC_MESSAGES)13 b Fc(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)40 b Fb(7,)26 b(70)150 1453 y Fe(LC_NUMERIC)7
+(:)g(:)g(:)40 b Fb(7,)26 b(70)150 1468 y Fe(LC_NUMERIC)7
 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)33 b Fb(70)150 1540 y Fe(LINENO)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g
+f(:)g(:)33 b Fb(70)150 1556 y Fe(LINENO)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fb(70)150 1627 y Fe(LINES)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(70)150 1644 y Fe(LINES)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fb(70)150 1861 y Fr(M)150 1977 y Fe(MACHTYPE)12 b Fc(:)j(:)e(:)g(:)g
+b Fb(70)150 1881 y Fr(M)150 1998 y Fe(MACHTYPE)12 b Fc(:)j(:)e(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
-b Fb(70)150 2064 y Fe(MAIL)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(70)150 2087 y Fe(MAIL)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(63)150 2152 y Fe(MAILCHECK)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+b Fb(63)150 2175 y Fe(MAILCHECK)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b
-Fb(70)150 2239 y Fe(MAILPATH)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fb(70)150 2263 y Fe(MAILPATH)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(63)150
-2326 y Fe(MAPFILE)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+2351 y Fe(MAPFILE)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(70)150
-2413 y Fe(mark-modified-lines)16 b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g
+2439 y Fe(mark-modified-lines)16 b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fb(101)150 2501 y Fe(mark-symlinked-directories)16
+b Fb(101)150 2527 y Fe(mark-symlinked-directories)16
 b Fc(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-42 b Fb(101)150 2588 y Fe(match-hidden-files)23 b Fc(:)13
+42 b Fb(101)150 2615 y Fe(match-hidden-files)23 b Fc(:)13
 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(101)150 2675 y Fe(meta-flag)7
+(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(101)150 2703 y Fe
+(menu-complete-display-prefix)11 b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(102)150 2791 y Fe(meta-flag)7
 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)34 b Fb(101)150 2927 y Fr(O)150 3043 y Fe(OLDPWD)17
+g(:)g(:)34 b Fb(101)150 3047 y Fr(O)150 3164 y Fe(OLDPWD)17
 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3131 y Fe(OPTARG)17
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3252 y Fe(OPTARG)17
 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3218 y Fe(OPTERR)17
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3340 y Fe(OPTERR)17
 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3305 y Fe(OPTIND)17
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3428 y Fe(OPTIND)17
 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3392 y Fe(OSTYPE)17
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3516 y Fe(OSTYPE)17
 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3480 y Fe(output-meta)22
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3604 y Fe(output-meta)22
 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fb(102)150 3732 y Fr(P)150 3848 y Fe(page-completions)7
+b Fb(102)150 3860 y Fr(P)150 3978 y Fe(page-completions)7
 b Fc(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(102)150
-3935 y Fe(PATH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+4066 y Fe(PATH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(63)150 4022 y Fe(PIPESTATUS)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(70)2025
-299 y Fe(POSIXLY_CORRECT)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(63)2025 299 y Fe(PIPESTATUS)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(70)2025
+386 y Fe(POSIXLY_CORRECT)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)38 b Fb(70)2025 387 y Fe(PPID)23 b Fc(:)13
+g(:)g(:)g(:)38 b Fb(70)2025 473 y Fe(PPID)23 b Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(70)2025 475 y Fe(PROMPT_COMMAND)14
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(70)2025 560 y Fe(PROMPT_COMMAND)14
 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(70)2025 563 y Fe(PROMPT_DIRTRIM)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)
+b Fb(70)2025 648 y Fe(PROMPT_DIRTRIM)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 651 y Fe(PS1)8
+(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 735 y Fe(PS1)8
 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(63)2025
-738 y Fe(PS2)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+822 y Fe(PS2)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(63)2025 826 y Fe(PS3)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(63)2025 909 y Fe(PS3)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(71)2025 914 y Fe(PS4)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(71)2025 996 y Fe(PS4)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(71)2025 1002 y Fe(PWD)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(71)2025 1083 y Fe(PWD)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-34 b Fb(71)2025 1239 y Fr(R)2025 1356 y Fe(RANDOM)17
+34 b Fb(71)2025 1316 y Fr(R)2025 1432 y Fe(RANDOM)17
 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(71)2025 1444 y Fe(READLINE_LINE)16
+(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(71)2025 1519 y Fe(READLINE_LINE)16
 b Fc(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fb(71)2025 1532 y Fe(READLINE_POINT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h
+b Fb(71)2025 1606 y Fe(READLINE_POINT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 1620 y Fe(REPLY)21
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 1694 y Fe(REPLY)21
 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 1708 y Fe
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 1781 y Fe
 (revert-all-at-newline)11 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(102)2025 1945 y Fr(S)2025 2062 y Fe(SECONDS)15 b
+b Fb(102)2025 2014 y Fr(S)2025 2130 y Fe(SECONDS)15 b
 Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)41 b Fb(71)2025 2150 y Fe(SHELL)21 b
+h(:)f(:)g(:)g(:)41 b Fb(71)2025 2217 y Fe(SHELL)21 b
 Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2238 y Fe(SHELLOPTS)9
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2304 y Fe(SHELLOPTS)9
 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)36 b Fb(71)2025 2326 y Fe(SHLVL)21 b Fc(:)13
+f(:)g(:)g(:)36 b Fb(71)2025 2391 y Fe(SHLVL)21 b Fc(:)13
 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2414 y Fe(show-all-if-ambiguous)11
+g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2478 y Fe(show-all-if-ambiguous)11
 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(102)2025 2502 y Fe
+(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(102)2025 2565 y Fe
 (show-all-if-unmodified)8 b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b
-Fb(102)2025 2590 y Fe(skip-completed-text)16 b Fc(:)h(:)c(:)g(:)h(:)f
+Fb(102)2025 2653 y Fe(skip-completed-text)16 b Fc(:)h(:)c(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)43 b Fb(102)2025 2845 y Fr(T)2025 2963 y Fe(TEXTDOMAIN)9
+g(:)43 b Fb(102)2025 2904 y Fr(T)2025 3020 y Fe(TEXTDOMAIN)9
 b Fc(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)36 b Fb(7)2025 3050 y Fe(TEXTDOMAINDIR)21
+h(:)f(:)g(:)36 b Fb(7)2025 3107 y Fe(TEXTDOMAINDIR)21
 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
-b Fb(7)2025 3138 y Fe(TIMEFORMAT)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(7)2025 3194 y Fe(TIMEFORMAT)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(71)2025
-3226 y Fe(TMOUT)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+3282 y Fe(TMOUT)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b
-Fb(72)2025 3314 y Fe(TMPDIR)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+Fb(72)2025 3369 y Fe(TMPDIR)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fb(72)2025 3551 y Fr(U)2025 3668 y Fe(UID)8 b Fc(:)13
+b Fb(72)2025 3601 y Fr(U)2025 3717 y Fe(UID)8 b Fc(:)13
 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(72)2025 3905
-y Fr(V)2025 4022 y Fe(visible-stats)14 b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(72)2025 3950
+y Fr(V)2025 4066 y Fe(visible-stats)14 b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(102)150 4255 y Fr(D.4)68
-b(F)-11 b(unction)44 b(Index)150 4492 y(A)150 4610 y
+g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(103)150 4299 y Fr(D.4)68
+b(F)-11 b(unction)44 b(Index)150 4535 y(A)150 4661 y
 Fe(abort)27 b(\(C-g\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(114)150 4698 y Fe(accept-line)28
+h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(114)150 4753 y Fe(accept-line)28
 b(\(Newline)g(or)e(Return\))e Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)50 b Fb(109)150 4787 y Fe(alias-expand-line)29
+(:)g(:)50 b Fb(109)150 4845 y Fe(alias-expand-line)29
 b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(116)150
-5045 y Fr(B)150 5163 y Fe(backward-char)29 b(\(C-b\))23
+5122 y Fr(B)150 5248 y Fe(backward-char)29 b(\(C-b\))23
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fb(108)150 5252 y
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fb(108)150 5340 y
 Fe(backward-delete-char)30 b(\(Rubout\))14 b Fc(:)h(:)f(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(110)150 5340 y Fe
-(backward-kill-line)30 b(\(C-x)c(Rubout\))16 b Fc(:)f(:)e(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(111)2025 4492 y Fe(backward-kill-word)29
+(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(110)2025 4535 y Fe
+(backward-kill-line)29 b(\(C-x)e(Rubout\))16 b Fc(:)f(:)e(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)43 b Fb(111)2025 4622 y Fe(backward-kill-word)29
 b(\(\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(111)2025 4582
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(111)2025 4710
 y Fe(backward-kill-word)29 b(\(M-DEL\))24 b Fc(:)13 b(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(111)2025
-4673 y Fe(backward-word)28 b(\(M-b\))c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
+4797 y Fe(backward-word)28 b(\(M-b\))c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50
-b Fb(108)2025 4764 y Fe(beginning-of-history)30 b(\(M-<\))23
+b Fb(108)2025 4884 y Fe(beginning-of-history)30 b(\(M-<\))23
 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-49 b Fb(109)2025 4855 y Fe(beginning-of-line)29 b(\(C-a\))13
+49 b Fb(109)2025 4972 y Fe(beginning-of-line)29 b(\(C-a\))13
 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)40 b Fb(108)2025 5126 y Fr(C)2025 5249 y
+g(:)g(:)g(:)40 b Fb(108)2025 5224 y Fr(C)2025 5340 y
 Fe(call-last-kbd-macro)30 b(\(C-x)c(e\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025
-5340 y Fe(capitalize-word)29 b(\(M-c\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fb(111)p eop end
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(114)p
+eop end
 %%Page: 157 163
 TeXDict begin 157 162 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(157)150 299 y Fe(character-search)29
-b(\(C-]\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fb(115)150 387 y
-Fe(character-search-backward)31 b(\(M-C-]\))23 b Fc(:)13
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(115)150 474 y Fe(clear-screen)28
-b(\(C-l\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(108)150 562 y Fe(complete)27 b(\(TAB\))20 b Fc(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(112)150
-650 y Fe(complete-command)29 b(\(M-!\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
-b Fb(113)150 738 y Fe(complete-filename)29 b(\(M-/\))13
-b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)39 b Fb(113)150 825 y Fe(complete-hostname)29
-b(\(M-@\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(113)150 913 y Fe
+b(D:)i(Indexes)2623 b(157)150 299 y Fe(capitalize-word)29
+b(\(M-c\))18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(111)150 387
+y Fe(character-search)29 b(\(C-]\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
+b Fb(115)150 475 y Fe(character-search-backward)31 b(\(M-C-]\))23
+b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(115)150
+564 y Fe(clear-screen)28 b(\(C-l\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)35 b Fb(108)150 652 y Fe(complete)27 b(\(TAB\))20
+b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fb(112)150 740 y Fe(complete-command)29 b(\(M-!\))15
+b Fc(:)g(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)42 b Fb(113)150 828 y Fe(complete-filename)29
+b(\(M-/\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(113)150 917 y Fe(complete-hostname)
+29 b(\(M-@\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(113)150 1005 y Fe
 (complete-into-braces)30 b(\(M-{\))23 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(114)150
-1001 y Fe(complete-username)29 b(\(M-~\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)
+1093 y Fe(complete-username)29 b(\(M-~\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fb(113)150 1089 y Fe(complete-variable)29 b(\(M-$\))13
+b Fb(113)150 1181 y Fe(complete-variable)29 b(\(M-$\))13
 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)39 b Fb(113)150 1176 y Fe(copy-backward-word)30
+g(:)h(:)f(:)39 b Fb(113)150 1270 y Fe(copy-backward-word)30
 b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(112)150 1264
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(112)150 1358
 y Fe(copy-forward-word)29 b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fb(112)150 1352 y Fe(copy-region-as-kill)30 b(\(\))15
+b Fb(112)150 1446 y Fe(copy-region-as-kill)30 b(\(\))15
 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)42 b Fb(112)150 1606 y Fr(D)150 1724
+g(:)g(:)g(:)g(:)42 b Fb(112)150 1703 y Fr(D)150 1821
 y Fe(dabbrev-expand)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)38 b Fb(114)150 1811 y Fe(delete-char)28 b(\(C-d\))11
+g(:)38 b Fb(114)150 1909 y Fe(delete-char)28 b(\(C-d\))11
 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(110)150
-1899 y Fe(delete-char-or-list)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g
+1998 y Fe(delete-char-or-list)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
-b Fb(113)150 1987 y Fe(delete-horizontal-space)31 b(\(\))22
+b Fb(113)150 2086 y Fe(delete-horizontal-space)31 b(\(\))22
 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-49 b Fb(111)150 2075 y Fe(digit-argument)29 b(\()p Fd(M-0)p
+49 b Fb(111)150 2174 y Fe(digit-argument)29 b(\()p Fd(M-0)p
 Fe(,)e Fd(M-1)p Fe(,)f(...)g Fd(M--)p Fe(\))d Fc(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(112)150 2162 y Fe
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(112)150 2262 y Fe
 (display-shell-version)30 b(\(C-x)d(C-v\))16 b Fc(:)e(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(116)150 2250 y Fe(do-uppercase-version)
+(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(116)150 2351 y Fe(do-uppercase-version)
 30 b(\(M-a,)d(M-b,)f(M-)p Fd(x)9 b Fe(,)27 b(...\))325
-2337 y Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+2438 y Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(114)150 2425
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(114)150 2526
 y Fe(downcase-word)29 b(\(M-l\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49
-b Fb(110)150 2513 y Fe(dump-functions)29 b(\(\))11 b
+b Fb(110)150 2614 y Fe(dump-functions)29 b(\(\))11 b
 Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(115)150
-2600 y Fe(dump-macros)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+2702 y Fe(dump-macros)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)45 b Fb(116)150 2688 y Fe(dump-variables)29
+g(:)g(:)h(:)f(:)g(:)45 b Fb(116)150 2791 y Fe(dump-variables)29
 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(115)150 2776 y Fe(dynamic-complete-history)31 b(\(M-TAB\))7
+b Fb(115)150 2879 y Fe(dynamic-complete-history)31 b(\(M-TAB\))7
 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150
-3030 y Fr(E)150 3148 y Fe(edit-and-execute-command)e(\(C-xC-e\))23
+3136 y Fr(E)150 3254 y Fe(edit-and-execute-command)e(\(C-xC-e\))23
 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(116)150
-3235 y Fe(end-kbd-macro)29 b(\(C-x)d(\)\))7 b Fc(:)14
+3342 y Fe(end-kbd-macro)29 b(\(C-x)d(\)\))7 b Fc(:)14
 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)34 b Fb(114)150 3323 y Fe(end-of-history)29
+(:)g(:)h(:)f(:)g(:)34 b Fb(114)150 3431 y Fe(end-of-history)29
 b(\(M->\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(109)150
-3411 y Fe(end-of-line)28 b(\(C-e\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g
+3519 y Fe(end-of-line)28 b(\(C-e\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)38 b Fb(108)150 3499 y Fe(exchange-point-and-mark)31
+g(:)g(:)38 b Fb(108)150 3607 y Fe(exchange-point-and-mark)31
 b(\(C-x)26 b(C-x\))11 b Fc(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(115)150 3753 y Fr(F)150 3870 y Fe(forward-backward-delete-char)32
+b Fb(115)150 3864 y Fr(F)150 3982 y Fe(forward-backward-delete-char)32
 b(\(\))9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fb(110)150 3958 y Fe(forward-char)28 b(\(C-f\))8 b
+b Fb(110)150 4071 y Fe(forward-char)28 b(\(C-f\))8 b
 Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(108)150
-4046 y Fe(forward-search-history)c(\(C-s\))17 b Fc(:)d(:)f(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(109)150 4134
+4159 y Fe(forward-search-history)c(\(C-s\))17 b Fc(:)d(:)f(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(109)150 4247
 y Fe(forward-word)28 b(\(M-f\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)35 b Fb(108)150 4378 y Fr(G)150 4495 y Fe(glob-complete-word)30
+(:)35 b Fb(108)150 4494 y Fr(G)150 4612 y Fe(glob-complete-word)30
 b(\(M-g\))10 b Fc(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(116)150 4583 y Fe(glob-expand-word)29
+(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(116)150 4700 y Fe(glob-expand-word)29
 b(\(C-x)e(*\))17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(116)150 4670 y Fe
+(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(116)150 4788 y Fe
 (glob-list-expansions)30 b(\(C-x)d(g\))7 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150 4925
-y Fr(H)150 5042 y Fe(history-and-alias-expand-line)f(\(\))7
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150 5045
+y Fr(H)150 5163 y Fe(history-and-alias-expand-line)f(\(\))7
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150
-5130 y Fe(history-expand-line)d(\(M-^\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g
+5252 y Fe(history-expand-line)d(\(M-^\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(116)150 5217 y Fe(history-search-backward)d(\(\))22
+b Fb(116)150 5340 y Fe(history-search-backward)d(\(\))22
 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-49 b Fb(109)150 5305 y Fe(history-search-forward)31 b(\(\))8
-b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)34 b Fb(109)2025 299 y Fr(I)2025 416 y Fe(insert-comment)29
+49 b Fb(109)2025 299 y Fe(history-search-forward)30 b(\(\))8
+b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)34 b Fb(109)2025 561 y Fr(I)2025 681 y Fe(insert-comment)29
 b(\(M-#\))21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(115)2025
-503 y Fe(insert-completions)29 b(\(M-*\))10 b Fc(:)15
+770 y Fe(insert-completions)29 b(\(M-*\))10 b Fc(:)15
 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)37 b Fb(113)2025 591 y Fe(insert-last-argument)30
+(:)37 b Fb(113)2025 859 y Fe(insert-last-argument)30
 b(\(M-.)c(or)g(M-_\))18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)45
-b Fb(116)2025 844 y Fr(K)2025 961 y Fe(kill-line)27 b(\(C-k\))16
-b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b
-Fb(111)2025 1048 y Fe(kill-region)28 b(\(\))19 b Fc(:)13
+b Fb(116)2025 1121 y Fr(K)2025 1241 y Fe(kill-line)27
+b(\(C-k\))16 b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
+b Fb(111)2025 1330 y Fe(kill-region)28 b(\(\))19 b Fc(:)13
 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(112)2025
-1136 y Fe(kill-whole-line)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
+1419 y Fe(kill-whole-line)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)35 b Fb(111)2025 1224 y Fe(kill-word)27 b(\(M-d\))16
+f(:)g(:)35 b Fb(111)2025 1508 y Fe(kill-word)27 b(\(M-d\))16
 b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b
-Fb(111)2025 1467 y Fr(M)2025 1583 y Fe(magic-space)28
+Fb(111)2025 1760 y Fr(M)2025 1880 y Fe(magic-space)28
 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fb(116)2025 1671 y Fe(menu-complete)28 b(\(\))13 b
+b Fb(116)2025 1969 y Fe(menu-complete)28 b(\(\))13 b
 Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(113)2025
-1758 y Fe(menu-complete-backward)30 b(\(\))8 b Fc(:)13
+2058 y Fe(menu-complete-backward)30 b(\(\))8 b Fc(:)13
 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Fb(113)2025 2012 y Fr(N)2025 2129 y Fe(next-history)28
+b Fb(113)2025 2320 y Fr(N)2025 2440 y Fe(next-history)28
 b(\(C-n\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fb(109)2025 2216 y Fe(non-incremental-forward-search)q(-hist)q(ory)d
-(\(M-n\))2200 2303 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(109)2025 2529 y Fe(non-incremental-forward-search)q(-hist)q(ory)d
+(\(M-n\))2200 2616 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b
-Fb(109)2025 2391 y Fe(non-incremental-reverse-search)q(-hist)q(ory)32
-b(\(M-p\))2200 2478 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+Fb(109)2025 2705 y Fe(non-incremental-reverse-search)q(-hist)q(ory)32
+b(\(M-p\))2200 2793 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b
-Fb(109)2025 2713 y Fr(O)2025 2829 y Fe(operate-and-get-next)30
+Fb(109)2025 3036 y Fr(O)2025 3156 y Fe(operate-and-get-next)30
 b(\(C-o\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)49 b Fb(116)2025 2917 y Fe(overwrite-mode)29
+g(:)g(:)g(:)49 b Fb(116)2025 3245 y Fe(overwrite-mode)29
 b(\(\))11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(111)2025 3160 y Fr(P)2025 3277 y Fe(possible-command-completions)
+b Fb(111)2025 3496 y Fr(P)2025 3616 y Fe(possible-command-completions)
 32 b(\(C-x)26 b(!\))21 b Fc(:)13 b(:)g(:)h(:)f(:)47 b
-Fb(114)2025 3364 y Fe(possible-completions)30 b(\(M-?\))23
+Fb(114)2025 3705 y Fe(possible-completions)30 b(\(M-?\))23
 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-49 b Fb(112)2025 3452 y Fe(possible-filename-completions)32
+49 b Fb(112)2025 3795 y Fe(possible-filename-completions)32
 b(\(C-x)26 b(/\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025
-3539 y Fe(possible-hostname-completions)32 b(\(C-x)26
-b(@\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3627 y Fe
+3884 y Fe(possible-hostname-completions)32 b(\(C-x)26
+b(@\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3973 y Fe
 (possible-username-completions)32 b(\(C-x)26 b(~\))18
-b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3715 y Fe
+b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 4062 y Fe
 (possible-variable-completions)32 b(\(C-x)26 b($\))18
-b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3802 y Fe(prefix-meta)28
+b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 4151 y Fe(prefix-meta)28
 b(\(ESC\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(114)2025 3890 y Fe(previous-history)29 b(\(C-p\))15
+b Fb(114)2025 4240 y Fe(previous-history)29 b(\(C-p\))15
 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)42 b Fb(109)2025 4143 y Fr(Q)2025 4260
+h(:)f(:)g(:)g(:)42 b Fb(109)2025 4502 y Fr(Q)2025 4622
 y Fe(quoted-insert)28 b(\(C-q)f(or)f(C-v\))19 b Fc(:)14
 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)46
-b Fb(110)2025 4513 y Fr(R)2025 4630 y Fe(re-read-init-file)29
+b Fb(110)2025 4884 y Fr(R)2025 5004 y Fe(re-read-init-file)29
 b(\(C-x)e(C-r\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025 4718 y Fe(redraw-current-line)30
+(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025 5093 y Fe(redraw-current-line)30
 b(\(\))15 b Fc(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(108)2025 4805 y Fe
+(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(108)2025 5182 y Fe
 (reverse-search-history)30 b(\(C-r\))17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(109)2025 4893 y Fe(revert-line)28
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(109)2025 5271 y Fe(revert-line)28
 b(\(M-r\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(115)2025 5136 y Fr(S)2025 5252 y Fe(self-insert)28
-b(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)q(\))7 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(110)2025 5340 y Fe(set-mark)27
-b(\(C-@\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
 b Fb(115)p eop end
 %%Page: 158 164
 TeXDict begin 158 163 bop 150 -116 a Ft(158)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fe(shell-backward-word)f(\(\))15
+b(Reference)g(Man)m(ual)150 299 y Fr(S)150 416 y Fe(self-insert)d(\(a,)
+e(b,)g(A,)g(1,)h(!,)f(...\))7 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)33 b Fb(110)150 504 y Fe(set-mark)27 b(\(C-@\))20
+b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fb(115)150 591 y Fe(shell-backward-word)30 b(\(\))15
 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)42 b Fb(108)150 390 y Fe(shell-expand-line)29
+g(:)g(:)g(:)g(:)42 b Fb(108)150 679 y Fe(shell-expand-line)29
 b(\(M-C-e\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(116)150 482 y Fe(shell-forward-word)c
+(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(116)150 767 y Fe(shell-forward-word)c
 (\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(108)150 573 y
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(108)150 855 y
 Fe(shell-kill-word)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-35 b Fb(111)150 665 y Fe(skip-csi-sequence)29 b(\(\))21
+35 b Fb(111)150 942 y Fe(skip-csi-sequence)29 b(\(\))21
 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(115)150 756 y Fe(start-kbd-macro)29
+(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(115)150 1030 y Fe(start-kbd-macro)29
 b(\(C-x)e(\(\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(114)150 1020
-y Fr(T)150 1145 y Fe(tilde-expand)28 b(\(M-&\))8 b Fc(:)15
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(114)150 1274
+y Fr(T)150 1391 y Fe(tilde-expand)28 b(\(M-&\))8 b Fc(:)15
 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(115)150 1236 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(115)150 1479 y
 Fe(transpose-chars)29 b(\(C-t\))18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fb(110)150 1328 y Fe(transpose-words)29 b(\(M-t\))18
+b Fb(110)150 1566 y Fe(transpose-words)29 b(\(M-t\))18
 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)44 b Fb(110)2025 299 y Fr(U)2025
-415 y Fe(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))c Fc(:)13
+429 y Fe(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))c Fc(:)13
 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)48 b Fb(114)2025 502 y Fe(universal-argument)29
+(:)h(:)f(:)g(:)g(:)48 b Fb(114)2025 523 y Fe(universal-argument)29
 b(\(\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(112)2025 589 y
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(112)2025 617 y
 Fe(unix-filename-rubout)30 b(\(\))13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
-b Fb(111)2025 676 y Fe(unix-line-discard)29 b(\(C-u\))13
+b Fb(111)2025 711 y Fe(unix-line-discard)29 b(\(C-u\))13
 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)40 b Fb(111)2025 764 y Fe(unix-word-rubout)29
+g(:)g(:)g(:)40 b Fb(111)2025 806 y Fe(unix-word-rubout)29
 b(\(C-w\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(111)2025 851 y
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(111)2025 900 y
 Fe(upcase-word)28 b(\(M-u\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-38 b Fb(110)2025 1102 y Fr(Y)2025 1218 y Fe(yank)26 b(\(C-y\))12
+38 b Fb(110)2025 1188 y Fr(Y)2025 1318 y Fe(yank)26 b(\(C-y\))12
 b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)39 b Fb(112)2025 1306 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))19
+(:)39 b Fb(112)2025 1412 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))19
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)46 b Fb(110)2025 1393 y Fe(yank-nth-arg)28 b(\(M-C-y\))22
+(:)46 b Fb(110)2025 1506 y Fe(yank-nth-arg)28 b(\(M-C-y\))22
 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(109)2025 1480 y Fe(yank-pop)27
+(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(109)2025 1600 y Fe(yank-pop)27
 b(\(M-y\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fb(112)150 1712 y Fr(D.5)68 b(Concept)45 b(Index)150
-1972 y(A)150 2090 y Fb(alias)27 b(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g
+b Fb(112)150 1833 y Fr(D.5)68 b(Concept)45 b(Index)150
+2092 y(A)150 2211 y Fb(alias)27 b(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(81)150 2179
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(81)150 2300
 y(arithmetic)26 b(ev)l(aluation)16 b Fc(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-43 b Fb(80)150 2267 y(arithmetic)26 b(expansion)d Fc(:)13
+43 b Fb(80)150 2389 y(arithmetic)26 b(expansion)d Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(24)150 2355 y(arithmetic,)27
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(24)150 2477 y(arithmetic,)27
 b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fb(80)150 2443 y(arra)n(ys)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+b Fb(80)150 2566 y(arra)n(ys)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41
-b Fb(82)150 2699 y Fr(B)150 2817 y Fb(bac)n(kground)9
+b Fb(82)150 2823 y Fr(B)150 2942 y Fb(bac)n(kground)9
 b Fc(:)j(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)35 b Fb(91)150 2905 y(Bash)26 b(con\014guration)d
+(:)g(:)35 b Fb(91)150 3031 y(Bash)26 b(con\014guration)d
 Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(129)150
-2993 y(Bash)26 b(installation)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+3119 y(Bash)26 b(installation)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)46 b Fb(129)150 3081 y(Bourne)26 b(shell)13
+g(:)g(:)h(:)46 b Fb(129)150 3208 y(Bourne)26 b(shell)13
 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)40 b Fb(5)150 3170 y(brace)26 b(expansion)20 b
+(:)f(:)40 b Fb(5)150 3297 y(brace)26 b(expansion)20 b
 Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47
-b Fb(19)150 3258 y(builtin)9 b Fc(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fb(19)150 3385 y(builtin)9 b Fc(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fb(3)150 3496 y Fr(C)150 3615 y Fb(command)26 b(editing)15
+b Fb(3)150 3626 y Fr(C)150 3745 y Fb(command)26 b(editing)15
 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
-b Fb(96)150 3703 y(command)26 b(execution)d Fc(:)13 b(:)g(:)g(:)g(:)g
+b Fb(96)150 3833 y(command)26 b(execution)d Fc(:)13 b(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)49 b Fb(31)150 3791 y(command)26 b(expansion)16
+h(:)f(:)g(:)g(:)49 b Fb(31)150 3922 y(command)26 b(expansion)16
 b Fc(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(31)150
-3879 y(command)26 b(history)12 b Fc(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+4010 y(command)26 b(history)12 b Fc(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)39 b Fb(123)150 3968 y(command)26 b(searc)n(h)10
+g(:)g(:)39 b Fb(123)150 4099 y(command)26 b(searc)n(h)10
 b Fc(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(31)150 4056 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:)
+b Fb(31)150 4188 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)41 b Fb(24)150 4144 y(command)26 b(timing)7
+(:)f(:)g(:)41 b Fb(24)150 4276 y(command)26 b(timing)7
 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
-b Fb(8)150 4232 y(commands,)26 b(comp)r(ound)18 b Fc(:)c(:)f(:)g(:)g(:)
+b Fb(8)150 4365 y(commands,)26 b(comp)r(ound)18 b Fc(:)c(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)45 b Fb(9)150 4321 y(commands,)26 b(conditional)d
+(:)h(:)f(:)g(:)45 b Fb(9)150 4454 y(commands,)26 b(conditional)d
 Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(10)150 4409 y(commands,)26
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(10)150 4542 y(commands,)26
 b(grouping)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(13)150 4497 y(commands,)26 b(lists)6 b Fc(:)15 b(:)e(:)g(:)g(:)g
+b Fb(13)150 4631 y(commands,)26 b(lists)6 b Fc(:)15 b(:)e(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(9)150
-4585 y(commands,)26 b(lo)r(oping)16 b Fc(:)f(:)e(:)g(:)h(:)f(:)g(:)g(:)
+4720 y(commands,)26 b(lo)r(oping)16 b Fc(:)f(:)e(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)42 b Fb(10)150 4674 y(commands,)26 b(pip)r(elines)12
+(:)g(:)h(:)42 b Fb(10)150 4808 y(commands,)26 b(pip)r(elines)12
 b Fc(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(8)150
-4762 y(commands,)26 b(shell)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+4897 y(commands,)26 b(shell)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)42 b Fb(8)150 4850 y(commands,)26
+f(:)g(:)g(:)g(:)g(:)42 b Fb(8)150 4985 y(commands,)26
 b(simple)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fb(8)150 4938 y(commen)n(ts,)26 b(shell)7 b Fc(:)15
+b Fb(8)150 5074 y(commen)n(ts,)26 b(shell)7 b Fc(:)15
 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
-b Fb(7)150 5027 y(completion)27 b(builtins)15 b Fc(:)e(:)g(:)g(:)g(:)g
+b Fb(7)150 5163 y(completion)27 b(builtins)15 b Fc(:)e(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)42 b Fb(119)150 5115 y(con\014guration)15
+g(:)g(:)g(:)g(:)42 b Fb(119)150 5251 y(con\014guration)15
 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Fb(129)150 5203 y(con)n(trol)26 b(op)r(erator)21 b
+b Fb(129)150 5340 y(con)n(trol)26 b(op)r(erator)21 b
 Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(3)150 5291 y(copro)r(cess)12 b Fc(:)i(:)g(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b
-Fb(14)2025 1972 y Fr(D)2025 2094 y Fb(directory)26 b(stac)n(k)c
+b Fb(3)2025 2092 y(copro)r(cess)12 b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b
+Fb(14)2025 2346 y Fr(D)2025 2464 y Fb(directory)26 b(stac)n(k)c
 Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
-b Fb(83)2025 2359 y Fr(E)2025 2481 y Fb(editing)26 b(command)g(lines)13
+b Fb(83)2025 2718 y Fr(E)2025 2836 y Fb(editing)26 b(command)g(lines)13
 b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(96)2025 2571
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(96)2025 2924
 y(en)n(vironmen)n(t)12 b Fc(:)g(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(33)2025 2661 y(ev)l(aluation,)26
+g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(33)2025 3012 y(ev)l(aluation,)26
 b(arithmetic)e Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b
-Fb(80)2025 2751 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)e(:)g(:)g
+Fb(80)2025 3100 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)e(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(125)2025 2841 y(execution)25
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(125)2025 3188 y(execution)25
 b(en)n(vironmen)n(t)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fb(32)2025 2931 y(exit)25 b(status)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)h(:)
+b Fb(32)2025 3276 y(exit)25 b(status)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fb(3,)26
-b(33)2025 3021 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b(33)2025 3364 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(19)2025
-3111 y(expansion,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g
+3452 y(expansion,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)38 b Fb(24)2025 3201 y(expansion,)26 b(brace)10 b
+f(:)38 b Fb(24)2025 3540 y(expansion,)26 b(brace)10 b
 Fc(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
-b Fb(19)2025 3291 y(expansion,)26 b(\014lename)12 b Fc(:)h(:)g(:)g(:)h
+b Fb(19)2025 3628 y(expansion,)26 b(\014lename)12 b Fc(:)h(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(25)2025 3381 y(expansion,)26
+g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(25)2025 3716 y(expansion,)26
 b(parameter)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fb(21)2025 3471 y(expansion,)26 b(pathname)18 b Fc(:)13
+b Fb(21)2025 3804 y(expansion,)26 b(pathname)18 b Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(25)2025 3561 y(expansion,)26
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(25)2025 3892 y(expansion,)26
 b(tilde)8 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)34 b Fb(20)2025 3651 y(expressions,)27 b(arithmetic)7
+g(:)34 b Fb(20)2025 3980 y(expressions,)27 b(arithmetic)7
 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(80)2025 3741
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(80)2025 4068
 y(expressions,)27 b(conditional)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38
-b Fb(78)2025 4006 y Fr(F)2025 4128 y Fb(\014eld)15 b
+b Fb(78)2025 4322 y Fr(F)2025 4440 y Fb(\014eld)15 b
 Fc(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025 4218
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025 4528
 y(\014lename)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025
-4308 y(\014lename)26 b(expansion)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
+4616 y(\014lename)26 b(expansion)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)49 b Fb(25)2025 4398 y(foreground)23 b Fc(:)13
+(:)g(:)g(:)49 b Fb(25)2025 4704 y(foreground)23 b Fc(:)13
 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-49 b Fb(91)2025 4488 y(functions,)26 b(shell)21 b Fc(:)13
+49 b Fb(91)2025 4792 y(functions,)26 b(shell)21 b Fc(:)13
 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fb(15)2025 4752 y Fr(H)2025 4874 y Fb(history)25 b(builtins)14
+b Fb(15)2025 5046 y Fr(H)2025 5164 y Fb(history)25 b(builtins)14
 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41
-b Fb(123)2025 4964 y(history)25 b(ev)n(en)n(ts)19 b Fc(:)13
+b Fb(123)2025 5252 y(history)25 b(ev)n(en)n(ts)19 b Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fb(125)2025 5054 y(history)25 b(expansion)8 b Fc(:)14
+b Fb(125)2025 5340 y(history)25 b(expansion)8 b Fc(:)14
 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(125)2025
-5145 y(history)25 b(list)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(123)2025 5235
-y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)40 b Fb(122)p eop end
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(125)p
+eop end
 %%Page: 159 165
 TeXDict begin 159 164 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(159)150 299 y Fr(I)150 415 y Fb(iden)n(ti\014er)
-22 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b(D:)i(Indexes)2623 b(159)150 299 y Fb(history)26 b(list)21
+b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)47 b Fb(123)150 386 y(History)-6 b(,)26 b(ho)n(w)g(to)f(use)13
+b Fc(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(122)150
+636 y Fr(I)150 752 y Fb(iden)n(ti\014er)22 b Fc(:)14
+b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)50 b Fb(3)150 840 y(initialization)28 b(\014le,)e(readline)
+13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(98)150 927 y(installation)13
+b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)40 b Fb(129)150 1014 y(in)n(teraction,)27 b(readline)21
+b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fb(95)150
+1101 y(in)n(teractiv)n(e)26 b(shell)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)50 b Fb(3)150 502 y(initialization)28
-b(\014le,)e(readline)13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(98)150
-589 y(installation)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(129)150 676 y(in)n(teraction,)27
-b(readline)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fb(95)150 764 y(in)n(teractiv)n(e)26 b(shell)14 b Fc(:)g(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(75,)26 b(76)150 851 y(in)n
-(ternationalization)14 b Fc(:)h(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-41 b Fb(7)150 1084 y Fr(J)150 1200 y Fb(job)16 b Fc(:)e(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)43 b Fb(3)150 1287 y(job)26 b(con)n(trol)13
+g(:)g(:)g(:)41 b Fb(75,)26 b(76)150 1189 y(in)n(ternationalization)14
+b Fc(:)h(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b
+Fb(7)150 1422 y Fr(J)150 1538 y Fb(job)16 b Fc(:)e(:)f(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)43 b Fb(3)150 1625 y(job)26 b(con)n(trol)13
 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
-b Fb(3,)26 b(91)150 1537 y Fr(K)150 1653 y Fb(kill)g(ring)21
+b Fb(3,)26 b(91)150 1875 y Fr(K)150 1992 y Fb(kill)g(ring)21
 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)47 b Fb(97)150 1740 y(killing)27
+h(:)f(:)g(:)g(:)g(:)47 b Fb(97)150 2079 y(killing)27
 b(text)19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)46 b Fb(97)150 1989 y Fr(L)150 2105
+h(:)f(:)g(:)g(:)g(:)46 b Fb(97)150 2329 y Fr(L)150 2445
 y Fb(lo)r(calization)14 b Fc(:)i(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(7)150 2193
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(7)150 2532
 y(login)27 b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(75)150 2442 y
-Fr(M)150 2558 y Fb(matc)n(hing,)26 b(pattern)20 b Fc(:)14
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(75)150 2782 y
+Fr(M)150 2898 y Fb(matc)n(hing,)26 b(pattern)20 b Fc(:)14
 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(26)150
-2645 y(metac)n(haracter)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+2986 y(metac)n(haracter)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(3)150 2878 y Fr(N)150
-2994 y Fb(name)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(3)150 3219 y Fr(N)150
+3335 y Fb(name)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
-b Fb(3)150 3081 y(nativ)n(e)25 b(languages)13 b Fc(:)i(:)e(:)g(:)h(:)f
+b Fb(3)150 3422 y(nativ)n(e)25 b(languages)13 b Fc(:)i(:)e(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fb(7)150 3169
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fb(7)150 3510
 y(notation,)27 b(readline)9 b Fc(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)35 b Fb(96)150 3418 y Fr(O)150 3534 y Fb(op)r(erator,)27
+(:)f(:)g(:)35 b Fb(96)150 3760 y Fr(O)150 3876 y Fb(op)r(erator,)27
 b(shell)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)43 b Fb(3)150 3784 y Fr(P)150 3900 y Fb(parameter)26
+g(:)g(:)43 b Fb(3)150 4126 y Fr(P)150 4242 y Fb(parameter)26
 b(expansion)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34
-b Fb(21)150 3987 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(21)150 4329 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(17)150
-4074 y(parameters,)27 b(p)r(ositional)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
+4416 y(parameters,)27 b(p)r(ositional)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)44 b Fb(17)150 4161 y(parameters,)27 b(sp)r(ecial)18
+g(:)44 b Fb(17)150 4504 y(parameters,)27 b(sp)r(ecial)18
 b Fc(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fb(18)150
-4249 y(pathname)25 b(expansion)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+4591 y(pathname)25 b(expansion)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)38 b Fb(25)150 4336 y(pattern)25 b(matc)n(hing)14
+g(:)38 b Fb(25)150 4678 y(pattern)25 b(matc)n(hing)14
 b Fc(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fb(26)150 4423 y(pip)r(eline)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(26)150 4766 y(pip)r(eline)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50
-b Fb(8)150 4510 y(POSIX)17 b Fc(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(8)150 4853 y(POSIX)17 b Fc(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fb(3)150 4597 y(POSIX)25 b(Mo)r(de)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(86)150
-4685 y(pro)r(cess)27 b(group)9 b Fc(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b Fb(3)2025 299 y(pro)r(cess)26
-b(group)g(ID)21 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)49 b Fb(3)2025 386 y(pro)r(cess)26 b(substitution)c
-Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(24)2025
-474 y(programmable)27 b(completion)20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46
-b Fb(117)2025 561 y(prompting)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(84)2025
-811 y Fr(Q)2025 928 y Fb(quoting)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37
-b Fb(6)2025 1015 y(quoting,)26 b(ANSI)13 b Fc(:)e(:)j(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(6)2025
-1266 y Fr(R)2025 1382 y Fb(Readline,)26 b(ho)n(w)g(to)g(use)7
-b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(94)2025
-1469 y(redirection)7 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(27)2025 1557
-y(reserv)n(ed)25 b(w)n(ord)7 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(3)2025 1644
-y(restricted)26 b(shell)8 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(86)2025 1731 y(return)25
-b(status)c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)48 b Fb(4)2025 1965 y Fr(S)2025 2082 y
-Fb(shell)26 b(arithmetic)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)37 b Fb(80)2025 2169 y(shell)26 b(function)12
-b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38
-b Fb(15)2025 2256 y(shell)26 b(script)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b
-Fb(34)2025 2344 y(shell)26 b(v)l(ariable)18 b Fc(:)c(:)f(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025
-2431 y(shell,)26 b(in)n(teractiv)n(e)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(3)2025 299 y(POSIX)24 b(Mo)r(de)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fb(76)2025 2518 y(signal)7
-b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fb(4)2025 2606
-y(signal)27 b(handling)17 b Fc(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)44 b Fb(34)2025 2693 y(sp)r(ecial)27
-b(builtin)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(86)2025
+386 y(pro)r(cess)26 b(group)9 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(3)2025 473
+y(pro)r(cess)26 b(group)g(ID)21 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)49 b Fb(3)2025 561 y(pro)r(cess)26
+b(substitution)c Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48
+b Fb(24)2025 648 y(programmable)27 b(completion)20 b
+Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)46 b Fb(117)2025 735 y(prompting)11 b
+Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)38 b Fb(84)2025 985 y Fr(Q)2025 1101 y Fb(quoting)10
+b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fb(6)2025 1189 y(quoting,)26
+b(ANSI)13 b Fc(:)e(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-37 b Fb(4,)26 b(62)2025 2781 y(startup)f(\014les)d Fc(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
-b Fb(75)2025 2868 y(susp)r(ending)25 b(jobs)6 b Fc(:)14
-b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(91)2025 3118 y Fr(T)2025 3235 y Fb(tilde)26 b(expansion)18
-b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45
-b Fb(20)2025 3322 y(tok)n(en)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)40 b Fb(6)2025 1439 y Fr(R)2025 1555 y Fb(Readline,)26
+b(ho)n(w)g(to)g(use)7 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
+b Fb(94)2025 1642 y(redirection)7 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b
+Fb(27)2025 1729 y(reserv)n(ed)25 b(w)n(ord)7 b Fc(:)14
+b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
+b Fb(3)2025 1817 y(restricted)26 b(shell)8 b Fc(:)14
+b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
+b Fb(86)2025 1904 y(return)25 b(status)c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fb(4)2025
+2137 y Fr(S)2025 2254 y Fb(shell)26 b(arithmetic)11 b
+Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
+b Fb(80)2025 2341 y(shell)26 b(function)12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(15)2025
+2428 y(shell)26 b(script)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(34)2025 2515
+y(shell)26 b(v)l(ariable)18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025 2603 y(shell,)26
+b(in)n(teractiv)n(e)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)40 b Fb(76)2025 2690 y(signal)7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)34 b Fb(4)2025 2777 y(signal)27 b(handling)17
+b Fc(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
+b Fb(34)2025 2865 y(sp)r(ecial)27 b(builtin)10 b Fc(:)j(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(4,)26 b(62)2025
+2952 y(startup)f(\014les)d Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(75)2025 3039 y(susp)r(ending)25
+b(jobs)6 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)33 b Fb(91)2025 3289 y Fr(T)2025 3405 y Fb(tilde)26
+b(expansion)18 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)45 b Fb(20)2025 3493 y(tok)n(en)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38
-b Fb(4)2025 3409 y(translation,)27 b(nativ)n(e)e(languages)13
+(:)g(:)38 b Fb(4)2025 3580 y(translation,)27 b(nativ)n(e)e(languages)13
 b Fc(:)i(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)40 b Fb(7)2025 3660 y Fr(V)2025 3776 y Fb(v)l(ariable,)26
+g(:)g(:)g(:)40 b Fb(7)2025 3830 y Fr(V)2025 3946 y Fb(v)l(ariable,)26
 b(shell)8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)34 b Fb(17)2025 3864 y(v)l(ariables,)27 b(readline)21
+f(:)g(:)g(:)34 b Fb(17)2025 4033 y(v)l(ariables,)27 b(readline)21
 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fb(99)2025 4114 y Fr(W)2025 4230 y Fb(w)n(ord)21 b
+b Fb(99)2025 4283 y Fr(W)2025 4399 y Fb(w)n(ord)21 b
 Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(4)2025 4318
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(4)2025 4487
 y(w)n(ord)26 b(splitting)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(25)2025 4568 y Fr(Y)2025
-4685 y Fb(y)n(anking)25 b(text)9 b Fc(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(25)2025 4737 y Fr(Y)2025
+4853 y Fb(y)n(anking)25 b(text)9 b Fc(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(97)p eop
 end
index 2f457515b2d91844bfe508b82615c43fc5593e13..90af9738e6f56e6628f73866974e996ae2a255f7 100644 (file)
@@ -1717,7 +1717,7 @@ Bash uses the value of the variable formed from the rest of
 expanded and that value is used in the rest of the substitution, rather
 than the value of @var{parameter} itself.
 This is known as @code{indirect expansion}.
-The exceptions to this are the expansions of $@{!@var{prefix}@*}
+The exceptions to this are the expansions of $@{!@var{prefix}@*@}
 and $@{!@var{name}[@@]@}
 described below.
 The exclamation point must immediately follow the left brace in order to
@@ -6694,14 +6694,6 @@ the @sc{posix} standard, and include things like passing incorrect options,
 redirection errors, variable assignment errors for assignments preceding
 the command name, and so on.
 
-@item
-If @env{CDPATH} is set, the @code{cd} builtin will not implicitly
-append the current directory to it.  This means that @code{cd} will
-fail if no valid directory name can be constructed from
-any of the entries in @env{$CDPATH}, even if the a directory with
-the same name as the name given as an argument to @code{cd} exists
-in the current directory.
-
 @item
 A non-interactive shell exits with an error status if a variable
 assignment error occurs when no command name follows the assignment
@@ -6709,6 +6701,11 @@ statements.
 A variable assignment error occurs, for example, when trying to assign
 a value to a readonly variable.
 
+@item
+A non-interactive shell exists with an error status if a variable
+assignment error occurs in an assignment statement preceding a special
+builtin, but not with any other simple command.
+
 @item
 A non-interactive shell exits with an error status if the iteration
 variable in a @code{for} statement or the selection variable in a
@@ -6774,10 +6771,6 @@ constructed from @code{$PWD} and the directory name supplied as an argument
 does not refer to an existing directory, @code{cd} will fail instead of
 falling back to @var{physical} mode.
 
-@item
-When the @code{pwd} builtin is supplied the @option{-P} option, it resets
-@code{$PWD} to a pathname containing no symlinks.
-
 @item
 The @code{pwd} builtin verifies that the value it prints is the same as the
 current directory, even if it is not asked to check the file system with the
index be1edc5e35e62d10ecc873b8da8aa7e0317e2daf..acc01b88d76cb2116d1a6e4a11d33b8b96b1db32 100644 (file)
 \entry{mark-modified-lines}{101}{\code {mark-modified-lines}}
 \entry{mark-symlinked-directories}{101}{\code {mark-symlinked-directories}}
 \entry{match-hidden-files}{101}{\code {match-hidden-files}}
+\entry{menu-complete-display-prefix}{102}{\code {menu-complete-display-prefix}}
 \entry{output-meta}{102}{\code {output-meta}}
 \entry{page-completions}{102}{\code {page-completions}}
 \entry{revert-all-at-newline}{102}{\code {revert-all-at-newline}}
 \entry{show-all-if-ambiguous}{102}{\code {show-all-if-ambiguous}}
 \entry{show-all-if-unmodified}{102}{\code {show-all-if-unmodified}}
 \entry{skip-completed-text}{102}{\code {skip-completed-text}}
-\entry{visible-stats}{102}{\code {visible-stats}}
+\entry{visible-stats}{103}{\code {visible-stats}}
index 9b87d3c78a3d5bfa1a68bc9410d6923f7437a9f9..76eb2c0afbe9467754c07b84cbbff01b5a40ebd0 100644 (file)
 \entry {\code {mark-modified-lines}}{101}
 \entry {\code {mark-symlinked-directories}}{101}
 \entry {\code {match-hidden-files}}{101}
+\entry {\code {menu-complete-display-prefix}}{102}
 \entry {\code {meta-flag}}{101}
 \initial {O}
 \entry {\code {OLDPWD}}{70}
 \initial {U}
 \entry {\code {UID}}{72}
 \initial {V}
-\entry {\code {visible-stats}}{102}
+\entry {\code {visible-stats}}{103}
index 2d8bef62b8e7b32ee6b477fb8537464508a062fd..c172d61747f6e8acd6d4784d00a7269d892a4cd6 100644 (file)
@@ -601,7 +601,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               When the end of options is encountered,  g\bge\bet\bto\bop\bpt\bts\bs  exits  with  a
               return  value  greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of
-              the first non-option argument, and n\bna\bam\bme\be is set to ?.
+              the first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
               g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but  if  more
               arguments are given in _\ba_\br_\bg_\bs, g\bge\bet\bto\bop\bpt\bts\bs parses those instead.
@@ -983,8 +983,8 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               status is false.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is
               executed  before execution resumes after the function or script.
 
-       s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
-       s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
+       s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
+       s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
               Without options, the name and value of each shell  variable  are
               displayed in a format that can be reused as input for setting or
               resetting the currently-set variables.  Read-only variables can-
@@ -1228,15 +1228,15 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.1
                       with respect to quoted arguments to the conditional com-
-                      mand's =~ operator.
+                      mand's =\b=~\b~ operator.
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.2
                       with respect to locale-specific string  comparison  when
-                      using the conditional command's < and > operators.
+                      using the conditional command's <\b< and >\b> operators.
               c\bco\bom\bmp\bpa\bat\bt4\b40\b0
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 4.0
                       with respect to locale-specific string  comparison  when
-                      using  the  conditional  command's < and > operators and
+                      using  the  conditional  command's <\b< and >\b> operators and
                       the effect of interrupting a command list.
               c\bco\bom\bmp\bpa\bat\bt4\b41\b1
                       @item compat41 If set, b\bba\bas\bsh\bh, when in posix mode,  treats
index e71d4eeec4871e4dc1a5aa8b7d2153b80ed5cb80..942623dd4561989f5454e49274cf4bea9849cfd9 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Wed Jul 21 08:54:49 2010
+%%CreationDate: Mon Oct 25 10:55:37 2010
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -1192,7 +1192,7 @@ Q 2.043(When the end of options is encountered,)144 710.4 R F1(getopts)
 4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044
 (alue greater than zero.)-.25 F F4(OPTIND)144 722.4 Q F0
 (is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
+(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
 (is set to ?.)2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(8)
 203.725 E 0 Cg EP
 %%Page: 9 9
@@ -1781,12 +1781,13 @@ E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F
 4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
 .15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
 144 554.4 Q F1(set)108 571.2 Q F0([)2.5 E F1
-(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E F2(option)2.5
-E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 583.2 Q F0
-([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-2.5 E F2(option)
-2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 595.2 S
-.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
-.835(ariable are displayed in a format that can be)-.25 F .784
+(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E F2
+(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1
+(set)108 583.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)
+-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
+(...])2.5 E -.4(Wi)144 595.2 S .836(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .835
+(ariable are displayed in a format that can be)-.25 F .784
 (reused as input for setting or resetting the currently-set v)144 607.2
 R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
 (riables cannot be).25 F 2.947(reset. In)144 619.2 R F2 .447(posix mode)
@@ -2130,9 +2131,9 @@ F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist)144
 (ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 702 Q
 F0 .42(If set,)184 714 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
 .419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
--.15 F(guments)-.18 E(to the conditional command')184 726 Q 2.5(s=)-.55
-G 2.5(~o)-2.5 G(perator)-2.5 E(.)-.55 E(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP
+-.15 F(guments)-.18 E(to the conditional command')184 726 Q(s)-.55 E F1
+(=~)2.5 E F0(operator)2.5 E(.)-.55 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)
+148.735 E(16)198.725 E 0 Cg EP
 %%Page: 17 17
 %%BeginPageSetup
 BP
@@ -2142,25 +2143,25 @@ BP
 /Times-Bold@0 SF(compat32)144 84 Q F0 1.409(If set,)184 96 R F1(bash)
 3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F
 1.41(ersion 3.2 with respect to locale-speci\214c)-.15 F
-(string comparison when using the conditional command')184 108 Q 2.5
-(s<a)-.55 G(nd > operators.)-2.5 E F1(compat40)144 120 Q F0 1.41
-(If set,)184 132 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409
-(vior to that of v)-.2 F 1.409
-(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.692
-(string comparison when using the conditional command')184 144 R 4.193
-(s<a)-.55 G 1.693(nd > operators and the)-4.193 F(ef)184 156 Q
-(fect of interrupting a command list.)-.25 E F1(compat41)144 168 Q F0
-1.232(@item compat41 If set,)184 180 R F1(bash)3.732 E F0 3.732(,w)C
-1.232(hen in posix mode, treats a single quote in a double-)-3.732 F
-1.213(quoted parameter e)184 192 R 1.213
-(xpansion as a special character)-.15 F 6.213(.T)-.55 G 1.214
-(he single quotes must match \(an)-6.213 F -2.15 -.25(ev e)184 204 T
-2.949(nn).25 G .448(umber\) and the characters between the single quote\
-s are considered quoted.)-2.949 F(This)5.448 E .062(is the beha)184 216
-R .062(vior of posix mode through v)-.2 F .062(ersion 4.1.)-.15 F .062
-(The def)5.062 F .062(ault bash beha)-.1 F .063(vior remains as)-.2 F
-(in pre)184 228 Q(vious v)-.25 E(ersions.)-.15 E F1(dirspell)144 240 Q
-F0 .859(If set,)7.77 F F1(bash)3.359 E F0 .858
+(string comparison when using the conditional command')184 108 Q(s)-.55
+E F1(<)2.5 E F0(and)2.5 E F1(>)2.5 E F0(operators.)2.5 E F1(compat40)144
+120 Q F0 1.41(If set,)184 132 R F1(bash)3.91 E F0 1.41(changes its beha)
+3.91 F 1.409(vior to that of v)-.2 F 1.409
+(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.682
+(string comparison when using the conditional command')184 144 R(s)-.55
+E F1(<)4.183 E F0(and)4.183 E F1(>)4.183 E F0 1.683(operators and the)
+4.183 F(ef)184 156 Q(fect of interrupting a command list.)-.25 E F1
+(compat41)144 168 Q F0 1.232(@item compat41 If set,)184 180 R F1(bash)
+3.732 E F0 3.732(,w)C 1.232
+(hen in posix mode, treats a single quote in a double-)-3.732 F 1.213
+(quoted parameter e)184 192 R 1.213(xpansion as a special character)-.15
+F 6.213(.T)-.55 G 1.214(he single quotes must match \(an)-6.213 F -2.15
+-.25(ev e)184 204 T 2.949(nn).25 G .448(umber\) and the characters betw\
+een the single quotes are considered quoted.)-2.949 F(This)5.448 E .062
+(is the beha)184 216 R .062(vior of posix mode through v)-.2 F .062
+(ersion 4.1.)-.15 F .062(The def)5.062 F .062(ault bash beha)-.1 F .063
+(vior remains as)-.2 F(in pre)184 228 Q(vious v)-.25 E(ersions.)-.15 E
+F1(dirspell)144 240 Q F0 .859(If set,)7.77 F F1(bash)3.359 E F0 .858
 (attempts spelling correction on directory names during w)3.359 F .858
 (ord completion if)-.1 F
 (the directory name initially supplied does not e)184 252 Q(xist.)-.15 E
index eb062207424bca91ed830d9600a1a2ce93153faf..ebd414ca65b7e61f279dd4bac47fbf75275ac4ba 100644 (file)
@@ -21,7 +21,7 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      specifying a file name containing a /\b/ as an argument  to  the  .\b.
               builtin command
 
-       +\bo      Specifying  a  filename containing a slash as an argument to the
+       +\bo      specifying  a  filename containing a slash as an argument to the
               -\b-p\bp option to the h\bha\bas\bsh\bh builtin command
 
        +\bo      importing function definitions from  the  shell  environment  at
@@ -39,7 +39,7 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\bd  options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      Using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
+       +\bo      using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
index 62dca30aabe40fc4bd8234d742687ddeb9078a68..76aa6c2de5f1709e7fa40492bec9f086effcb9bb 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Wed Jul 21 08:54:50 2010
+%%CreationDate: Mon Oct 25 10:55:38 2010
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%DocumentSuppliedResources: procset grops 1.19 2
@@ -247,10 +247,10 @@ G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
 (pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108
 216 S(pecifying a \214le name containing a)-32.5 E F2(/)2.5 E F0
 (as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
-(iltin command).2 E 32.5<8353>108 232.8 S .351
-(pecifying a \214lename containing a slash as an ar)-32.5 F .351
-(gument to the)-.18 F F2<ad70>2.851 E F0 .351(option to the)2.851 F F2
-(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 244.8 Q
+(iltin command).2 E 32.5<8373>108 232.8 S .45
+(pecifying a \214lename containing a slash as an ar)-32.5 F .449
+(gument to the)-.18 F F2<ad70>2.949 E F0 .449(option to the)2.949 F F2
+(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 244.8 Q
 32.5<8369>108 261.6 S(mporting function de\214nitions from the shell en)
 -32.5 E(vironment at startup)-.4 E 32.5<8370>108 278.4 S(arsing the v)
 -32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
@@ -260,7 +260,7 @@ ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
 (iltin command to replace the shell with another command).2 E 32.5<8361>
 108 328.8 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E
 F2<ad66>2.5 E F0(and)2.5 E F2<ad64>2.5 E F0(options to the)2.5 E F2
-(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 345.6 S
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8375>108 345.6 S
 (sing the)-32.5 E F2(enable)2.5 E F0 -.2(bu)2.5 G
 (iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373>
 108 362.4 S(pecifying the)-32.5 E F2<ad70>2.5 E F0(option to the)2.5 E
index a68f5e7969e44008244a5aaf5e7f3cac2b593a8a..cc4b015c82a456a78b9e6cc5e725d2477faeeee3 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2010 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Mon Sep  6 22:08:10 EDT 2010
+@set LASTCHANGE Wed Oct 20 21:37:22 EDT 2010
 
 @set EDITION 4.2
 @set VERSION 4.2
-@set UPDATED 6 September 2010
-@set UPDATED-MONTH September 2010
+@set UPDATED 20 October 2010
+@set UPDATED-MONTH October 2010
index 389d4fd345d4e5d4748407e7c6ea1df359ea5d31..77bcad97677be0eeb0a18f2077812156b88ad090 100644 (file)
 #ifndef TOCTRL
    /* letter to control char -- ASCII.  The TOUPPER is in there so \ce and
       \cE will map to the same character in $'...' expansions. */
-   /* XXX - should this be TOUPPER(x) ^ x040 ? */
 #  define TOCTRL(x)    (TOUPPER(x) & 037)
 #endif
 #ifndef UNCTRL
index c1ee0f1bf681924fa1422a8313494ae46bc695ed..50eb70e9bd56b209b0aa78c0527b3283f07c3783 100644 (file)
@@ -2450,7 +2450,10 @@ rl_old_menu_complete (count, invoking_key)
 
   match_list_index += count;
   if (match_list_index < 0)
-    match_list_index += match_list_size;
+    {
+      while (match_list_index < 0)
+       match_list_index += match_list_size;
+    }
   else
     match_list_index %= match_list_size;
 
@@ -2615,7 +2618,10 @@ rl_menu_complete (count, ignore)
 
   match_list_index += count;
   if (match_list_index < 0)
-    match_list_index += match_list_size;
+    {
+      while (match_list_index < 0)
+       match_list_index += match_list_size;
+    }
   else
     match_list_index %= match_list_size;
 
index 764030fcd05dba42557c7cc94f5f9f41dd292157..4b73e104f2a5487dd281311596d9b2562999a8a1 100644 (file)
@@ -197,7 +197,7 @@ int _rl_skip_completed_text = 0;
 
 /* If non-zero, menu completion displays the common prefix first in the
    cycle of possible completions instead of the last. */
-int _rl_menu_complete_prefix_first = 1;
+int _rl_menu_complete_prefix_first = 0;
 
 /* If non-zero, then this is the address of a function to call when
    completing on a directory name.  The function is called with
@@ -2450,7 +2450,10 @@ rl_old_menu_complete (count, invoking_key)
 
   match_list_index += count;
   if (match_list_index < 0)
-    match_list_index += match_list_size;
+    {
+      while (match_list_index < 0)
+       match_list_index += match_list_size;
+    }
   else
     match_list_index %= match_list_size;
 
index 43049296c9ffe301fd429dd5d515b38f7acee873..985210ea7d71af0905aa1b6d3890149215a1858c 100644 (file)
@@ -1235,7 +1235,7 @@ Kill from point to the end of the current word, or if between
 words, to the end of the next word.
 Word boundaries are the same as @code{shell-forward-word}.
 
-@item backward-kill-word ()
+@item shell-backward-kill-word ()
 Kill the word behind point.
 Word boundaries are the same as @code{shell-backward-word}.
 @end ifset
index e3c44ce4bc00c95752480b477a64d85e2e959ff7..384ff67cb3b9f1adf7f501fe033b204226204a94 100644 (file)
@@ -345,6 +345,7 @@ extern void _rl_set_cursor PARAMS((int, int));
 /* text.c */
 extern void _rl_fix_point PARAMS((int));
 extern int _rl_replace_text PARAMS((const char *, int, int));
+extern int _rl_forward_char_internal PARAMS((int));
 extern int _rl_insert_char PARAMS((int, int));
 extern int _rl_overwrite_char PARAMS((int, int));
 extern int _rl_overwrite_rubout PARAMS((int, int));
index 404341a242e03a953d1b5caf8f201cd0e63e1097..e3c44ce4bc00c95752480b477a64d85e2e959ff7 100644 (file)
@@ -418,6 +418,7 @@ extern int _rl_completion_case_map;
 extern int _rl_match_hidden_files;
 extern int _rl_page_completions;
 extern int _rl_skip_completed_text;
+extern int _rl_menu_complete_prefix_first;
 
 /* display.c */
 extern int _rl_vis_botlin;
index 4c90e651fda8bc5401b42c0c4392095d7136130a..536e31af602da96b33ceb16a9b0c8433f75a5850 100644 (file)
@@ -265,11 +265,13 @@ rl_forward_byte (count, key)
 
   if (count > 0)
     {
-      int end = rl_point + count;
+      int end, lend;
+
+      end = rl_point + count;
 #if defined (VI_MODE)
-      int lend = rl_end > 0 ? rl_end - (VI_COMMAND_MODE()) : rl_end;
+      lend = rl_end > 0 ? rl_end - (VI_COMMAND_MODE()) : rl_end;
 #else
-      int lend = rl_end;
+      lend = rl_end;
 #endif
 
       if (end > lend)
@@ -287,6 +289,31 @@ rl_forward_byte (count, key)
   return 0;
 }
 
+int
+_rl_forward_char_internal (count)
+     int count;
+{
+  int point;
+
+#if defined (HANDLE_MULTIBYTE)
+  point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO);
+
+#if defined (VI_MODE)
+  if (point >= rl_end && VI_COMMAND_MODE())
+    point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO);
+#endif
+
+    if (rl_end < 0)
+       rl_end = 0;
+#else
+  point = rl_point + count;
+  if (point > rl_end)
+    point = rl_end;
+#endif
+
+  return (point);
+}
+
 #if defined (HANDLE_MULTIBYTE)
 /* Move forward COUNT characters. */
 int
@@ -309,20 +336,12 @@ rl_forward_char (count, key)
          return 0;
        }
 
-      point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO);
-
-#if defined (VI_MODE)
-      if (point >= rl_end && VI_COMMAND_MODE())
-       point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO);
-#endif
+      point = _rl_forward_char_internal (count);
 
       if (rl_point == point)
        rl_ding ();
 
       rl_point = point;
-
-      if (rl_end < 0)
-       rl_end = 0;
     }
 
   return 0;
@@ -805,8 +824,9 @@ _rl_insert_char (count, c)
       /* We are inserting a single character.
         If there is pending input, then make a string of all of the
         pending characters that are bound to rl_insert, and insert
-        them all. */
-      if (_rl_any_typein ())
+        them all.  Don't do this if we're current reading input from
+        a macro. */
+      if ((RL_ISSTATE (RL_STATE_MACROINPUT) == 0) && _rl_any_typein ())
        _rl_insert_typein (c);
       else
        {
index 6f4e2316d55b373104c1dd259ee41ec2a153f5f1..e022156d12f98115f907d26a438200d3d36b453f 100644 (file)
@@ -150,7 +150,7 @@ rl_delete_text (from, to)
   if (_rl_doing_an_undo == 0)
     rl_add_undo (UNDO_DELETE, from, to, text);
   else
-    free (text);
+    xfree (text);
 
   rl_end -= diff;
   rl_line_buffer[rl_end] = '\0';
@@ -265,11 +265,13 @@ rl_forward_byte (count, key)
 
   if (count > 0)
     {
-      int end = rl_point + count;
+      int end, lend;
+
+      end = rl_point + count;
 #if defined (VI_MODE)
-      int lend = rl_end > 0 ? rl_end - (VI_COMMAND_MODE()) : rl_end;
+      lend = rl_end > 0 ? rl_end - (VI_COMMAND_MODE()) : rl_end;
 #else
-      int lend = rl_end;
+      lend = rl_end;
 #endif
 
       if (end > lend)
@@ -287,6 +289,31 @@ rl_forward_byte (count, key)
   return 0;
 }
 
+int
+_rl_forward_char_internal (count)
+     int count;
+{
+  int point;
+
+#if defined (HANDLE_MULTIBYTE)
+  point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO);
+
+#if defined (VI_MODE)
+  if (point >= rl_end && VI_COMMAND_MODE())
+    point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO);
+#endif
+
+    if (rl_end < 0)
+       rl_end = 0;
+#else
+  point = rl_point + count;
+  if (point > rl_end)
+    point = rl_end;
+#endif
+
+  return (point);
+}
+
 #if defined (HANDLE_MULTIBYTE)
 /* Move forward COUNT characters. */
 int
@@ -309,20 +336,12 @@ rl_forward_char (count, key)
          return 0;
        }
 
-      point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO);
-
-#if defined (VI_MODE)
-      if (point >= rl_end && VI_COMMAND_MODE())
-       point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO);
-#endif
+      point = _rl_forward_char_internal (count);
 
       if (rl_point == point)
        rl_ding ();
 
       rl_point = point;
-
-      if (rl_end < 0)
-       rl_end = 0;
     }
 
   return 0;
@@ -752,7 +771,7 @@ _rl_insert_char (count, c)
 
       string[i] = '\0';
       rl_insert_text (string);
-      free (string);
+      xfree (string);
 
       return 0;
     }
@@ -779,7 +798,7 @@ _rl_insert_char (count, c)
          count -= decreaser;
        }
 
-      free (string);
+      xfree (string);
       incoming_length = 0;
       stored_count = 0;
 #else /* !HANDLE_MULTIBYTE */
@@ -1407,8 +1426,8 @@ rl_transpose_words (count, key)
 
   /* I think that does it. */
   rl_end_undo_group ();
-  free (word1);
-  free (word2);
+  xfree (word1);
+  xfree (word2);
 
   return 0;
 }
@@ -1467,7 +1486,7 @@ rl_transpose_chars (count, key)
   rl_end_undo_group ();
 
 #if defined (HANDLE_MULTIBYTE)
-  free (dummy);
+  xfree (dummy);
 #endif
 
   return 0;
index d6c2ea8f5a95ced08ded7f78e8938b61cf919021..23462169a6f5c44773967893f1071eb45cbbdac1 100644 (file)
@@ -630,12 +630,16 @@ _rl_vi_append_forward (key)
       if (MB_CUR_MAX == 1 || rl_byte_oriented)
        rl_point++;
       else
-        {
-          point = rl_point;
-          rl_forward_char (1, key);
-          if (point == rl_point)
-            rl_point = rl_end;
-        }
+       {
+         point = rl_point;
+#if 0
+         rl_forward_char (1, key);
+#else
+         rl_point = _rl_forward_char_internal (1);
+#endif
+         if (point == rl_point)
+           rl_point = rl_end;
+       }
     }
 }
 
@@ -733,7 +737,7 @@ _rl_vi_done_inserting ()
                           _rl_vi_last_key_before_insert == 'a' ||
                           _rl_vi_last_key_before_insert == 'I' ||
                           _rl_vi_last_key_before_insert == 'A'))
-        _rl_vi_save_insert (rl_undo_list);
+       _rl_vi_save_insert (rl_undo_list);
       /* XXX - Other keys probably need to be checked. */
       else if (_rl_vi_last_key_before_insert == 'C')
        rl_end_undo_group ();
@@ -793,7 +797,7 @@ _rl_vi_change_mbchar_case (count)
       if (MB_INVALIDCH (m))
        wc = (wchar_t)rl_line_buffer[rl_point];
       else if (MB_NULLWCH (m))
-        wc = L'\0';
+       wc = L'\0';
       if (iswupper (wc))
        wc = towlower (wc);
       else if (iswlower (wc))
@@ -821,7 +825,7 @@ _rl_vi_change_mbchar_case (count)
          rl_vi_check ();
        }
       else
-        rl_forward_char (1, 0);
+       rl_forward_char (1, 0);
     }
 
   return 0;
@@ -868,7 +872,7 @@ rl_vi_change_case (count, ignore)
          _rl_insert_char (1, c);
          rl_end_undo_group ();
          rl_vi_check ();
-        }
+       }
       else
        rl_forward_char (1, c);
     }
@@ -906,7 +910,7 @@ rl_vi_check ()
       if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
        rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
       else
-        rl_point--;
+       rl_point--;
     }
   return (0);
 }
@@ -1059,7 +1063,7 @@ rl_domove_motion_callback (m)
       /* Posix.2 says that if cw or cW moves the cursor towards the end of
         the line, the character under the cursor should be deleted. */
       if (rl_point == rl_mark)
-        rl_point++;
+       rl_point++;
       else
        {
          /* Move past the end of the word so that the kill doesn't
@@ -1099,7 +1103,7 @@ rl_domove_read_callback (m)
       /* If we just read a vi-mode motion command numeric argument, turn off
         the `reading numeric arg' state */
       if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG())
-        RL_UNSETSTATE (RL_STATE_NUMERICARG);
+       RL_UNSETSTATE (RL_STATE_NUMERICARG);
 #endif
       /* Should do everything, including turning off RL_STATE_VIMOTION */
       return (rl_domove_motion_callback (m));
@@ -1137,10 +1141,10 @@ rl_domove_read_callback (m)
       rl_numeric_arg *= save;
       c = rl_vi_domove_getchar (m);
       if (c < 0)
-        {
-          m->motion = 0;
-          return -1;
-        }
+       {
+         m->motion = 0;
+         return -1;
+       }
       m->motion = c;
       return (rl_domove_motion_callback (m));
     }
@@ -1288,7 +1292,7 @@ vi_change_dispatch (m)
       rl_kill_text (rl_point, rl_mark);
       /* `C' does not save the text inserted for undoing or redoing. */
       if (_rl_uppercase_p (m->key) == 0)
-        _rl_vi_doing_insert = 1;
+       _rl_vi_doing_insert = 1;
       /* XXX -- TODO -- use m->numericarg? */
       rl_vi_start_inserting (m->key, rl_numeric_arg, rl_arg_sign);
     }
@@ -1562,23 +1566,23 @@ rl_vi_char_search (count, key)
   else
     {
       switch (key)
-        {
-        case 't':
-          _rl_cs_orig_dir = _rl_cs_dir = FTO;
-          break;
+       {
+       case 't':
+         _rl_cs_orig_dir = _rl_cs_dir = FTO;
+         break;
 
-        case 'T':
-          _rl_cs_orig_dir = _rl_cs_dir = BTO;
-          break;
+       case 'T':
+         _rl_cs_orig_dir = _rl_cs_dir = BTO;
+         break;
 
-        case 'f':
-          _rl_cs_orig_dir = _rl_cs_dir = FFIND;
-          break;
+       case 'f':
+         _rl_cs_orig_dir = _rl_cs_dir = FFIND;
+         break;
 
-        case 'F':
-          _rl_cs_orig_dir = _rl_cs_dir = BFIND;
-          break;
-        }
+       case 'F':
+         _rl_cs_orig_dir = _rl_cs_dir = BFIND;
+         break;
+       }
 
       if (vi_redoing)
        {
@@ -1586,12 +1590,12 @@ rl_vi_char_search (count, key)
        }
 #if defined (READLINE_CALLBACKS)
       else if (RL_ISSTATE (RL_STATE_CALLBACK))
-        {
-          _rl_callback_data = _rl_callback_data_alloc (count);
-          _rl_callback_data->i1 = _rl_cs_dir;
-          _rl_callback_func = _rl_vi_callback_char_search;
-          return (0);
-        }
+       {
+         _rl_callback_data = _rl_callback_data_alloc (count);
+         _rl_callback_data->i1 = _rl_cs_dir;
+         _rl_callback_func = _rl_vi_callback_char_search;
+         return (0);
+       }
 #endif
       else
        {
@@ -1642,7 +1646,7 @@ rl_vi_match (ignore, key)
              pre = rl_point;
              rl_forward_char (1, key);
              if (pre == rl_point)
-               break;
+               break;
            }
        }
       else
@@ -1671,7 +1675,7 @@ rl_vi_match (ignore, key)
            {
              pos = _rl_find_prev_mbchar (rl_line_buffer, pos, MB_FIND_ANY);
              if (tmp == pos)
-               pos--;
+               pos--;
            }
          if (pos >= 0)
            {
@@ -1919,8 +1923,8 @@ rl_vi_replace (count, key)
       vi_replace_map[NEWLINE].function = rl_newline;
 
       /* If the normal vi insertion keymap has ^H bound to erase, do the
-         same here.  Probably should remove the assignment to RUBOUT up
-         there, but I don't think it will make a difference in real life. */
+        same here.  Probably should remove the assignment to RUBOUT up
+        there, but I don't think it will make a difference in real life. */
       if (vi_insertion_keymap[CTRL ('H')].type == ISFUNC &&
          vi_insertion_keymap[CTRL ('H')].function == rl_rubout)
        vi_replace_map[CTRL ('H')].function = rl_vi_overstrike_delete;
index a02a0d8aa69d9677fd3de9a8841cce2f39fb9167..02a4f24a27464c3e853d7c4eefbf73cd2974bb50 100644 (file)
@@ -630,12 +630,16 @@ _rl_vi_append_forward (key)
       if (MB_CUR_MAX == 1 || rl_byte_oriented)
        rl_point++;
       else
-        {
-          point = rl_point;
-          rl_forward_char (1, key);
-          if (point == rl_point)
-            rl_point = rl_end;
-        }
+       {
+         point = rl_point;
+#if 0
+         rl_forward_char (1, key);
+#else
+         _rl_forward_char_internal (1);
+#endif
+         if (point == rl_point)
+           rl_point = rl_end;
+       }
     }
 }
 
@@ -733,7 +737,7 @@ _rl_vi_done_inserting ()
                           _rl_vi_last_key_before_insert == 'a' ||
                           _rl_vi_last_key_before_insert == 'I' ||
                           _rl_vi_last_key_before_insert == 'A'))
-        _rl_vi_save_insert (rl_undo_list);
+       _rl_vi_save_insert (rl_undo_list);
       /* XXX - Other keys probably need to be checked. */
       else if (_rl_vi_last_key_before_insert == 'C')
        rl_end_undo_group ();
@@ -793,7 +797,7 @@ _rl_vi_change_mbchar_case (count)
       if (MB_INVALIDCH (m))
        wc = (wchar_t)rl_line_buffer[rl_point];
       else if (MB_NULLWCH (m))
-        wc = L'\0';
+       wc = L'\0';
       if (iswupper (wc))
        wc = towlower (wc);
       else if (iswlower (wc))
@@ -821,7 +825,7 @@ _rl_vi_change_mbchar_case (count)
          rl_vi_check ();
        }
       else
-        rl_forward_char (1, 0);
+       rl_forward_char (1, 0);
     }
 
   return 0;
@@ -868,7 +872,7 @@ rl_vi_change_case (count, ignore)
          _rl_insert_char (1, c);
          rl_end_undo_group ();
          rl_vi_check ();
-        }
+       }
       else
        rl_forward_char (1, c);
     }
@@ -906,7 +910,7 @@ rl_vi_check ()
       if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
        rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
       else
-        rl_point--;
+       rl_point--;
     }
   return (0);
 }
@@ -1011,7 +1015,7 @@ static void
 _rl_mvcxt_dispose (m)
      _rl_vimotion_cxt *m;
 {
-  free (m);
+  xfree (m);
 }
 
 static int
@@ -1059,7 +1063,7 @@ rl_domove_motion_callback (m)
       /* Posix.2 says that if cw or cW moves the cursor towards the end of
         the line, the character under the cursor should be deleted. */
       if (rl_point == rl_mark)
-        rl_point++;
+       rl_point++;
       else
        {
          /* Move past the end of the word so that the kill doesn't
@@ -1099,7 +1103,7 @@ rl_domove_read_callback (m)
       /* If we just read a vi-mode motion command numeric argument, turn off
         the `reading numeric arg' state */
       if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG())
-        RL_UNSETSTATE (RL_STATE_NUMERICARG);
+       RL_UNSETSTATE (RL_STATE_NUMERICARG);
 #endif
       /* Should do everything, including turning off RL_STATE_VIMOTION */
       return (rl_domove_motion_callback (m));
@@ -1137,10 +1141,10 @@ rl_domove_read_callback (m)
       rl_numeric_arg *= save;
       c = rl_vi_domove_getchar (m);
       if (c < 0)
-        {
-          m->motion = 0;
-          return -1;
-        }
+       {
+         m->motion = 0;
+         return -1;
+       }
       m->motion = c;
       return (rl_domove_motion_callback (m));
     }
@@ -1288,7 +1292,7 @@ vi_change_dispatch (m)
       rl_kill_text (rl_point, rl_mark);
       /* `C' does not save the text inserted for undoing or redoing. */
       if (_rl_uppercase_p (m->key) == 0)
-        _rl_vi_doing_insert = 1;
+       _rl_vi_doing_insert = 1;
       /* XXX -- TODO -- use m->numericarg? */
       rl_vi_start_inserting (m->key, rl_numeric_arg, rl_arg_sign);
     }
@@ -1562,23 +1566,23 @@ rl_vi_char_search (count, key)
   else
     {
       switch (key)
-        {
-        case 't':
-          _rl_cs_orig_dir = _rl_cs_dir = FTO;
-          break;
+       {
+       case 't':
+         _rl_cs_orig_dir = _rl_cs_dir = FTO;
+         break;
 
-        case 'T':
-          _rl_cs_orig_dir = _rl_cs_dir = BTO;
-          break;
+       case 'T':
+         _rl_cs_orig_dir = _rl_cs_dir = BTO;
+         break;
 
-        case 'f':
-          _rl_cs_orig_dir = _rl_cs_dir = FFIND;
-          break;
+       case 'f':
+         _rl_cs_orig_dir = _rl_cs_dir = FFIND;
+         break;
 
-        case 'F':
-          _rl_cs_orig_dir = _rl_cs_dir = BFIND;
-          break;
-        }
+       case 'F':
+         _rl_cs_orig_dir = _rl_cs_dir = BFIND;
+         break;
+       }
 
       if (vi_redoing)
        {
@@ -1586,12 +1590,12 @@ rl_vi_char_search (count, key)
        }
 #if defined (READLINE_CALLBACKS)
       else if (RL_ISSTATE (RL_STATE_CALLBACK))
-        {
-          _rl_callback_data = _rl_callback_data_alloc (count);
-          _rl_callback_data->i1 = _rl_cs_dir;
-          _rl_callback_func = _rl_vi_callback_char_search;
-          return (0);
-        }
+       {
+         _rl_callback_data = _rl_callback_data_alloc (count);
+         _rl_callback_data->i1 = _rl_cs_dir;
+         _rl_callback_func = _rl_vi_callback_char_search;
+         return (0);
+       }
 #endif
       else
        {
@@ -1642,7 +1646,7 @@ rl_vi_match (ignore, key)
              pre = rl_point;
              rl_forward_char (1, key);
              if (pre == rl_point)
-               break;
+               break;
            }
        }
       else
@@ -1671,7 +1675,7 @@ rl_vi_match (ignore, key)
            {
              pos = _rl_find_prev_mbchar (rl_line_buffer, pos, MB_FIND_ANY);
              if (tmp == pos)
-               pos--;
+               pos--;
            }
          if (pos >= 0)
            {
@@ -1919,8 +1923,8 @@ rl_vi_replace (count, key)
       vi_replace_map[NEWLINE].function = rl_newline;
 
       /* If the normal vi insertion keymap has ^H bound to erase, do the
-         same here.  Probably should remove the assignment to RUBOUT up
-         there, but I don't think it will make a difference in real life. */
+        same here.  Probably should remove the assignment to RUBOUT up
+        there, but I don't think it will make a difference in real life. */
       if (vi_insertion_keymap[CTRL ('H')].type == ISFUNC &&
          vi_insertion_keymap[CTRL ('H')].function == rl_rubout)
        vi_replace_map[CTRL ('H')].function = rl_vi_overstrike_delete;
index 13d928d43688373bae420ab0194fa7b0cccb6918..2265782f8ee8d41f19e5b557527dff19e9355ead 100644 (file)
@@ -176,6 +176,8 @@ ansicstr (string, len, flags, sawc, rlen)
              else if ((flags & 1) == 0 && (c = *s))
                {
                  s++;
+                 if ((flags & 2) && c == '\\' && c == *s)
+                   s++;        /* Posix requires $'\c\\' do backslash escaping */
                  c = TOCTRL(c);
                  break;
                }
index 3400eb8f07aca09eb05a58becdbe59a08385dc1f..901e7195523a2bde9adb0065039eec057690960b 100644 (file)
@@ -49,11 +49,9 @@ ansicstr (string, len, flags, sawc, rlen)
      char *string;
      int len, flags, *sawc, *rlen;
 {
-  int c, temp, v;
+  int c, temp;
   char *ret, *r, *s;
-#if defined (HANDLE_MULTIBYTE)
-  char mbch[25];               /* 25 > MB_LEN_MAX, plus can handle 4-byte UTF-8 and large Unicode characters*/
-#endif
+  unsigned long v;
 
   if (string == 0 || *string == '\0')
     return ((char *)NULL);
@@ -153,7 +151,6 @@ ansicstr (string, len, flags, sawc, rlen)
                }
              else
                {
-                 memset (mbch, '\0', sizeof (mbch));
                  temp = u32cconv (v, r);
                  r += temp;
                  continue;
@@ -174,9 +171,13 @@ ansicstr (string, len, flags, sawc, rlen)
                    *rlen = r - ret;
                  return ret;
                }
+             else if ((flags & 1) == 0 && *s == 0)
+               ;               /* pass \c through */
              else if ((flags & 1) == 0 && (c = *s))
                {
                  s++;
+                 if ((flags & 2) && c == '\\' && c == *s)
+                   s++;        /* 
                  c = TOCTRL(c);
                  break;
                }
diff --git a/parse.y b/parse.y
index 4760befb267d0517c806afce8baba56a67812fa0..449f0c67d49255d5246a52a5605287dbcd219997 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -3165,7 +3165,7 @@ parse_matched_pair (qc, open, close, lenp, flags)
   start_lineno = line_number;
   while (count)
     {
-      ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+      ch = shell_getc (qc != '\'' && (tflags & (LEX_PASSNEXT)) == 0);
 
       if (ch == EOF)
        {
@@ -3434,7 +3434,7 @@ parse_comsub (qc, open, close, lenp, flags)
   while (count)
     {
 comsub_readchar:
-      ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+      ch = shell_getc (qc != '\'' && (tflags & (LEX_INCOMMENT|LEX_PASSNEXT)) == 0);
 
       if (ch == EOF)
        {
index 2364da69bd9f0bee49584d8263e2849f168e1fbc..e07713c6be6b3fd8dfe158ce457dc8fc9bf8c954 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the bash package.
 # Göran Uddeborg <goeran@uddeborg.se>, 2008, 2009, 2010.
 #
-# $Revision: 1.8 $
+# $Revision: 1.9 $
 msgid ""
 msgstr ""
 "Project-Id-Version: bash 4.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2010-01-05 19:12+0100\n"
+"PO-Revision-Date: 2010-10-24 22:35+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "MIME-Version: 1.0\n"
@@ -1387,7 +1387,7 @@ msgstr "oväntad symbol %d i villkorligt kommando"
 #: parse.y:5459
 #, c-format
 msgid "syntax error near unexpected token `%s'"
-msgstr "syntaxfel när den oväntade symbolen \"%s\""
+msgstr "syntaxfel nära den oväntade symbolen \"%s\""
 
 #: parse.y:5477
 #, c-format
diff --git a/redir.c b/redir.c
index c7a69f73b45bc89b0fccb3c6346d6f4fffa670c6..2c97ae77ac43158ee57f1402063d3665446e3f95 100644 (file)
--- a/redir.c
+++ b/redir.c
@@ -62,13 +62,14 @@ extern int errno;
 int expanding_redir;
 
 extern int posixly_correct;
+extern int last_command_exit_value;
 extern REDIRECT *redirection_undo_list;
 extern REDIRECT *exec_redirection_undo_list;
 
 /* Static functions defined and used in this file. */
-static void add_undo_close_redirect __P((int));
 static void add_exec_redirect __P((REDIRECT *));
 static int add_undo_redirect __P((int, enum r_instruction, int));
+static int add_undo_close_redirect __P((int));
 static int expandable_redirection_filename __P((REDIRECT *));
 static int stdin_redirection __P((enum r_instruction, int));
 static int undoablefd __P((int));
@@ -93,6 +94,13 @@ static REDIRECTEE rd;
    Used to print a reasonable error message. */
 static int heredoc_errno;
 
+#define REDIRECTION_ERROR(r, e) \
+  if ((r) != 0) \
+    { \
+      last_command_exit_value = EXECUTION_FAILURE;\
+      return ((e) == 0 ? EINVAL : (e));\
+    }
+
 void
 redirection_error (temp, error)
      REDIRECT *temp;
@@ -813,9 +821,10 @@ do_redirection_internal (redirect, flags)
            {
              /* Only setup to undo it if the thing to undo is active. */
              if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
-               add_undo_redirect (redirector, ri, -1);
+               r = add_undo_redirect (redirector, ri, -1);
              else
-               add_undo_close_redirect (redirector);
+               r = add_undo_close_redirect (redirector);
+             REDIRECTION_ERROR (r, errno);
            }
 
 #if defined (BUFFERED_INPUT)
@@ -918,9 +927,10 @@ do_redirection_internal (redirect, flags)
                {
                  /* Only setup to undo it if the thing to undo is active. */
                  if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
-                   add_undo_redirect (redirector, ri, -1);
+                   r = add_undo_redirect (redirector, ri, -1);
                  else
-                   add_undo_close_redirect (redirector);
+                   r = add_undo_close_redirect (redirector);
+                 REDIRECTION_ERROR(r, errno);
                }
 
 #if defined (BUFFERED_INPUT)
@@ -972,9 +982,10 @@ do_redirection_internal (redirect, flags)
            {
              /* Only setup to undo it if the thing to undo is active. */
              if (fcntl (redirector, F_GETFD, 0) != -1)
-               add_undo_redirect (redirector, ri, redir_fd);
+               r = add_undo_redirect (redirector, ri, redir_fd);
              else
-               add_undo_close_redirect (redirector);
+               r = add_undo_close_redirect (redirector);
+             REDIRECTION_ERROR(r, errno);
            }
 #if defined (BUFFERED_INPUT)
          check_bash_input (redirector);
@@ -1046,8 +1057,10 @@ do_redirection_internal (redirect, flags)
                return AMBIGUOUS_REDIRECT;
            }
 
+         r = 0;
          if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
-           add_undo_redirect (redirector, ri, -1);
+           r = add_undo_redirect (redirector, ri, -1);
+         REDIRECTION_ERROR (r, errno);
 
 #if defined (COPROCESS_SUPPORT)
          coproc_fdchk (redirector);
@@ -1164,7 +1177,7 @@ add_undo_redirect (fd, ri, fdbase)
 
 /* Set up to close FD when we are finished with the current command
    and its redirections. */
-static void
+static int
 add_undo_close_redirect (fd)
      int fd;
 {
@@ -1177,6 +1190,8 @@ add_undo_close_redirect (fd)
   closer->flags |= RX_INTERNAL;
   closer->next = redirection_undo_list;
   redirection_undo_list = closer;
+
+  return 0;
 }
 
 static void
index efc25c857e410d5955c3797c47d33626b775aa92..f922b142587649e7dea11a0d2a035debe326013b 100644 (file)
--- a/redir.c~
+++ b/redir.c~
@@ -62,13 +62,14 @@ extern int errno;
 int expanding_redir;
 
 extern int posixly_correct;
+extern int last_command_exit_value;
 extern REDIRECT *redirection_undo_list;
 extern REDIRECT *exec_redirection_undo_list;
 
 /* Static functions defined and used in this file. */
-static void add_undo_close_redirect __P((int));
 static void add_exec_redirect __P((REDIRECT *));
 static int add_undo_redirect __P((int, enum r_instruction, int));
+static int add_undo_close_redirect __P((int));
 static int expandable_redirection_filename __P((REDIRECT *));
 static int stdin_redirection __P((enum r_instruction, int));
 static int undoablefd __P((int));
@@ -93,6 +94,13 @@ static REDIRECTEE rd;
    Used to print a reasonable error message. */
 static int heredoc_errno;
 
+#define REDIRECTION_ERROR(r, e) \
+  if (r != 0) \
+    { \
+      last_command_exit_value = EXECUTION_FAILURE;\
+      return (e == 0 ? EINVAL : e);\
+    }
+
 void
 redirection_error (temp, error)
      REDIRECT *temp;
@@ -638,8 +646,6 @@ redir_open (filename, flags, mode, ri)
 #endif /* AFS */
     }
 
-itrace("redir_open: %s -> %d", filename, fd);
-
   return fd;
 }
 
@@ -815,9 +821,10 @@ do_redirection_internal (redirect, flags)
            {
              /* Only setup to undo it if the thing to undo is active. */
              if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
-               add_undo_redirect (redirector, ri, -1);
+               r = add_undo_redirect (redirector, ri, -1);
              else
-               add_undo_close_redirect (redirector);
+               r = add_undo_close_redirect (redirector);
+             REDIRECTION_ERROR (r, errno);
            }
 
 #if defined (BUFFERED_INPUT)
@@ -920,9 +927,10 @@ do_redirection_internal (redirect, flags)
                {
                  /* Only setup to undo it if the thing to undo is active. */
                  if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
-                   add_undo_redirect (redirector, ri, -1);
+                   r = add_undo_redirect (redirector, ri, -1);
                  else
-                   add_undo_close_redirect (redirector);
+                   r = add_undo_close_redirect (redirector);
+                 REDIRECTION_ERROR(r, errno);
                }
 
 #if defined (BUFFERED_INPUT)
@@ -974,9 +982,10 @@ do_redirection_internal (redirect, flags)
            {
              /* Only setup to undo it if the thing to undo is active. */
              if (fcntl (redirector, F_GETFD, 0) != -1)
-               add_undo_redirect (redirector, ri, redir_fd);
+               r = add_undo_redirect (redirector, ri, redir_fd);
              else
-               add_undo_close_redirect (redirector);
+               r = add_undo_close_redirect (redirector);
+             REDIRECTION_ERROR(r, errno);
            }
 #if defined (BUFFERED_INPUT)
          check_bash_input (redirector);
@@ -1048,8 +1057,10 @@ do_redirection_internal (redirect, flags)
                return AMBIGUOUS_REDIRECT;
            }
 
+         r = 0;
          if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
-           add_undo_redirect (redirector, ri, -1);
+           r = add_undo_redirect (redirector, ri, -1);
+         REDIRECTION_ERROR (r, errno);
 
 #if defined (COPROCESS_SUPPORT)
          coproc_fdchk (redirector);
@@ -1166,7 +1177,7 @@ add_undo_redirect (fd, ri, fdbase)
 
 /* Set up to close FD when we are finished with the current command
    and its redirections. */
-static void
+static int
 add_undo_close_redirect (fd)
      int fd;
 {
@@ -1179,6 +1190,8 @@ add_undo_close_redirect (fd)
   closer->flags |= RX_INTERNAL;
   closer->next = redirection_undo_list;
   redirection_undo_list = closer;
+
+  return 0;
 }
 
 static void
diff --git a/sig.c b/sig.c
index f4eae04a2610a1461cb4ec0d0a22670326c1c3fb..19a1002943bb53187184f6cb7ac3dc0e862dcdce 100644 (file)
--- a/sig.c
+++ b/sig.c
@@ -59,6 +59,9 @@ extern int loop_level, continuing, breaking, funcnest;
 extern int executing_list;
 extern int comsub_ignore_return;
 extern int parse_and_execute_level, shell_initialized;
+#if defined (HISTORY)
+extern int history_lines_this_session;
+#endif
 
 extern void intialize_siglist ();
 
@@ -500,6 +503,10 @@ termsig_sighandler (sig)
   /* XXX - should this also trigger when interrupt_immediately is set? */
   if (terminate_immediately)
     {
+#if defined (HISTORY)
+      /* XXX - will inhibit history file being written */
+      history_lines_this_session = 0;
+#endif
       terminate_immediately = 0;
       termsig_handler (sig);
     }
diff --git a/sig.c~ b/sig.c~
index e2a0b096825aedcbe033834a26010605cd8e2760..596f0e4396398981a4594a06e2108de9b8419bdc 100644 (file)
--- a/sig.c~
+++ b/sig.c~
@@ -1,6 +1,6 @@
 /* sig.c - interface for shell signal handlers and signal initialization. */
 
-/* Copyright (C) 1994-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2010 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -500,6 +500,9 @@ termsig_sighandler (sig)
   /* XXX - should this also trigger when interrupt_immediately is set? */
   if (terminate_immediately)
     {
+#if defined (HISTORY)
+      /* XXX - history_lines_this_session = 0 will inhibit history file being written */
+#endif
       terminate_immediately = 0;
       termsig_handler (sig);
     }
diff --git a/subst.c b/subst.c
index 0b3e062fb2ec209ef39d0dc7491bf41dd550bd3a..ea607b40c3850806505a7af0caf4a99382d3e3d0 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -108,7 +108,7 @@ extern int errno;
 /* Evaluates to 1 if C is one of the shell's special parameters for which an
    indirect variable reference may be made. */
 #define VALID_INDIR_PARAM(c) \
-  ((c) == '#' || (c) == '?' || (c) == '@' || (c) == '*')
+  ((posixly_correct == 0 && (c) == '#') || (posixly_correct == 0 && (c) == '?') || (c) == '@' || (c) == '*')
 
 /* Evaluates to 1 if C is one of the OP characters that follows the parameter
    in ${parameter[:]OPword}. */
@@ -5907,7 +5907,7 @@ parameter_brace_expand_length (name)
          break;
        case '!':
          if (last_asynchronous_pid == NO_PID)
-           t = (char *)NULL;
+           t = (char *)NULL;   /* XXX - error if set -u set? */
          else
            t = itos (last_asynchronous_pid);
          break;
@@ -5929,6 +5929,8 @@ parameter_brace_expand_length (name)
       if (legal_number (name + 1, &arg_index))         /* ${#1} */
        {
          t = get_dollar_var_value (arg_index);
+         if (t == 0 && unbound_vars_is_error)
+           return INTMAX_MIN;
          number = MB_STRLEN (t);
          FREE (t);
        }
@@ -5939,6 +5941,8 @@ parameter_brace_expand_length (name)
            t = assoc_reference (assoc_cell (var), "0");
          else
            t = array_reference (array_cell (var), 0);
+         if (t == 0 && unbound_vars_is_error)
+           return INTMAX_MIN;
          number = MB_STRLEN (t);
        }
 #endif
@@ -6940,15 +6944,8 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
   /* If the name really consists of a special variable, then make sure
      that we have the entire name.  We don't allow indirect references
      to special variables except `#', `?', `@' and `*'. */
-  if ((sindex == t_index &&
-       (string[t_index] == '-' ||
-        string[t_index] == '?' ||
-        string[t_index] == '#')) ||
-      (sindex == t_index - 1 && string[sindex] == '!' &&
-       (string[t_index] == '#' ||
-        string[t_index] == '?' ||
-        string[t_index] == '@' ||
-        string[t_index] == '*')))
+  if ((sindex == t_index && VALID_SPECIAL_LENGTH_PARAM (string[t_index])) ||
+      (sindex == t_index - 1 && string[sindex] == '!' && VALID_INDIR_PARAM (string[t_index])))
     {
       t_index++;
       free (name);
@@ -7043,6 +7040,13 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
        }
 
       number = parameter_brace_expand_length (name);
+      if (number == INTMAX_MIN && unbound_vars_is_error)
+       {
+         last_command_exit_value = EXECUTION_FAILURE;
+         err_unboundvar (name+1);
+         free (name);
+         return (interactive_shell ? &expand_wdesc_error : &expand_wdesc_fatal);
+       }
       free (name);
 
       *indexp = sindex;
@@ -7178,6 +7182,21 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
 
   *indexp = sindex;
 
+  /* All the cases where an expansion can possibly generate an unbound
+     variable error. */
+  if (want_substring || want_patsub || want_casemod || c == '#' || c == '%' || c == RBRACE)
+    {
+      if (var_is_set == 0 && unbound_vars_is_error && ((name[0] != '@' && name[0] != '*') || name[1]))
+       {
+         last_command_exit_value = EXECUTION_FAILURE;
+         err_unboundvar (name);
+         FREE (value);
+         FREE (temp);
+         free (name);
+         return (interactive_shell ? &expand_wdesc_error : &expand_wdesc_fatal);
+       }
+    }
+    
   /* If this is a substring spec, process it and add the result. */
   if (want_substring)
     {
@@ -7251,15 +7270,6 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
       return &expand_wdesc_error;
 
     case RBRACE:
-      if (var_is_set == 0 && unbound_vars_is_error && ((name[0] != '@' && name[0] != '*') || name[1]))
-       {
-         last_command_exit_value = EXECUTION_FAILURE;
-         err_unboundvar (name);
-         FREE (value);
-         FREE (temp);
-         free (name);
-         return (interactive_shell ? &expand_wdesc_error : &expand_wdesc_fatal);
-       }
       break;
 
     case '#':  /* ${param#[#]pattern} */
@@ -9324,6 +9334,7 @@ expand_word_list_internal (list, eflags)
   if ((eflags & WEXP_VARASSIGN) && subst_assign_varlist)
     {
       sh_wassign_func_t *assign_func;
+      int is_special_builtin;
 
       /* If the remainder of the words expand to nothing, Posix.2 requires
         that the variable and environment assignments affect the shell's
@@ -9331,6 +9342,10 @@ expand_word_list_internal (list, eflags)
       assign_func = new_list ? assign_in_env : do_word_assignment;
       tempenv_assign_error = 0;
 
+      /* Posix says that special builtins exit if a variable assignment error
+        occurs in an assignment preceding it. */
+      is_special_builtin = (posixly_correct && new_list && find_special_builtin (new_list->word->word));
+      
       for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next)
        {
          this_command_name = (char *)NULL;
@@ -9344,7 +9359,7 @@ expand_word_list_internal (list, eflags)
              if (assign_func == do_word_assignment)
                {
                  last_command_exit_value = EXECUTION_FAILURE;
-                 if (interactive_shell == 0 && posixly_correct)
+                 if (interactive_shell == 0 && posixly_correct && is_special_builtin)
                    exp_jump_to_top_level (FORCE_EOF);
                  else
                    exp_jump_to_top_level (DISCARD);
index 3efcf32d68e9722024b6ca9d67f9e81b2aa5ac04..72ec06a2c1fd8dde92acea5e8ac773e35f1d061b 100755 (executable)
@@ -1,4 +1,4 @@
-BUILD_DIR=/usr/local/build/chet/bash/bash-current
+BUILD_DIR=/usr/local/build/bash/bash-current
 THIS_SH=$BUILD_DIR/bash
 PATH=$PATH:$BUILD_DIR
 
index 41e2654b8ba86a479ce1cfe27858ac1a5959053a..8f5d2ab3d9e0208cc4ec964e3c4d3e1805875229 100644 (file)
@@ -200,14 +200,15 @@ ok
 4
 10000
 10000
+2147483649
 8 12
-./arith.tests: line 275: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
-./arith.tests: line 279: a b: syntax error in expression (error token is "b")
-./arith.tests: line 280: ((: a b: syntax error in expression (error token is "b")
+./arith.tests: line 278: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
+./arith.tests: line 282: a b: syntax error in expression (error token is "b")
+./arith.tests: line 283: ((: a b: syntax error in expression (error token is "b")
 42
 42
 42
 42
 42
 42
-./arith.tests: line 291: b[c]d: syntax error in expression (error token is "d")
+./arith.tests: line 294: b[c]d: syntax error in expression (error token is "d")
index 21bfdca4c800d3dc831b88787918cbd778ad309b..134e39797fbf5f119d96b6445feb49f06e5106ed 100644 (file)
@@ -264,6 +264,9 @@ ${THIS_SH} ./arith1.sub
 ${THIS_SH} ./arith2.sub
 ${THIS_SH} ./arith3.sub
 
+# make sure arithmetic expansion handles ints > 2**31 - 1 using intmax_t
+echo $(( 2147483645 + 4 ))
+
 x=4
 y=7
 
diff --git a/tests/arith.tests~ b/tests/arith.tests~
new file mode 100644 (file)
index 0000000..21bfdca
--- /dev/null
@@ -0,0 +1,291 @@
+set +o posix
+declare -i iv jv
+
+iv=$(( 3 + 5 * 32 ))
+echo $iv
+iv=iv+3
+echo $iv
+iv=2
+jv=iv
+
+let "jv *= 2"
+echo $jv
+jv=$(( $jv << 2 ))
+echo $jv
+
+let jv="$jv / 2"
+echo $jv
+jv="jv >> 2"
+echo $jv
+
+iv=$((iv+ $jv))
+echo $iv
+echo $((iv -= jv))
+echo $iv
+echo $(( iv == jv ))
+echo $(( iv != $jv ))
+echo $(( iv < jv ))
+echo $(( $iv > $jv ))
+echo $(( iv <= $jv ))
+echo $(( $iv >= jv ))
+
+echo $jv
+echo $(( ~$jv ))
+echo $(( ~1 ))
+echo $(( ! 0 ))
+
+echo $(( jv % 2 ))
+echo $(( $iv % 4 ))
+
+echo $(( iv <<= 16 ))
+echo $(( iv %= 33 ))
+
+echo $(( 33 & 55 ))
+echo $(( 33 | 17 ))
+
+echo $(( iv && $jv ))
+echo $(( $iv || jv ))
+
+echo $(( iv && 0 ))
+echo $(( iv & 0 ))
+echo $(( iv && 1 ))
+echo $(( iv & 1 ))
+
+echo $(( $jv || 0 ))
+echo $(( jv | 0 ))
+echo $(( jv | 1 ))
+echo $(( $jv || 1 ))
+
+let 'iv *= jv'
+echo $iv
+echo $jv
+let "jv += $iv"
+echo $jv
+
+echo $(( jv /= iv ))
+echo $(( jv <<= 8 ))
+echo $(( jv >>= 4 ))
+
+echo $(( iv |= 4 ))
+echo $(( iv &= 4 ))
+
+echo $(( iv += (jv + 9)))
+echo $(( (iv + 4) % 7 ))
+
+# unary plus, minus
+echo $(( +4 - 8 ))
+echo $(( -4 + 8 ))
+
+# conditional expressions
+echo $(( 4<5 ? 1 : 32))
+echo $(( 4>5 ? 1 : 32))
+echo $(( 4>(2+3) ? 1 : 32))
+echo $(( 4<(2+3) ? 1 : 32))
+echo $(( (2+2)<(2+3) ? 1 : 32))
+echo $(( (2+2)>(2+3) ? 1 : 32))
+
+# bug in bash versions through bash-3.2
+S=105
+W=$((S>99?4:S>9?3:S>0?2:0))
+echo $W
+unset W S
+
+# check that the unevaluated part of the ternary operator does not do
+# evaluation or assignment
+x=i+=2
+y=j+=2
+declare -i i=1 j=1
+echo $((1 ? 20 : (x+=2)))
+echo $i,$x
+echo $((0 ? (y+=2) : 30))
+echo $j,$y
+
+x=i+=2
+y=j+=2
+declare -i i=1 j=1
+echo $((1 ? 20 : (x+=2)))
+echo $i,$x
+echo $((0 ? (y+=2) : 30))
+echo $i,$y
+
+# check precedence of assignment vs. conditional operator
+# should be an error
+declare -i x=2
+y=$((1 ? 20 : x+=2))
+
+# check precedence of assignment vs. conditional operator
+declare -i x=2
+echo $((0 ? x+=2 : 20))
+
+# associativity of assignment-operator operator
+declare -i i=1 j=2 k=3
+echo $((i += j += k))
+echo $i,$j,$k
+
+# octal, hex
+echo $(( 0x100 | 007 ))
+echo $(( 0xff ))
+echo $(( 16#ff ))
+echo $(( 16#FF/2 ))
+echo $(( 8#44 ))
+
+echo $(( 8 ^ 32 ))
+
+# other bases
+echo $(( 16#a ))
+echo $(( 32#a ))
+echo $(( 56#a ))
+echo $(( 64#a ))
+
+echo $(( 16#A ))
+echo $(( 32#A ))
+echo $(( 56#A ))
+echo $(( 64#A ))
+
+echo $(( 64#@ ))
+echo $(( 64#_ ))
+
+# weird bases
+echo $(( 3425#56 ))
+
+# missing number after base
+echo $(( 2# ))
+
+# these should generate errors
+echo $(( 7 = 43 ))
+echo $(( 2#44 ))
+echo $(( 44 / 0 ))
+let 'jv += $iv'
+echo $(( jv += \$iv ))
+let 'rv = 7 + (43 * 6'
+
+# more errors
+declare -i i
+i=0#4
+i=2#110#11
+
+((echo abc; echo def;); echo ghi)
+
+if (((4+4) + (4 + 7))); then
+       echo ok
+fi
+
+(())   # make sure the null expression works OK
+
+a=(0 2 4 6)
+echo $(( a[1] + a[2] ))
+echo $(( (a[1] + a[2]) == a[3] ))
+(( (a[1] + a[2]) == a[3] )) ; echo $?
+
+# test pushing and popping the expression stack
+unset A
+A="4 + "
+echo $(( ( 4 + A ) + 4 ))
+A="3 + 5"
+echo $(( ( 4 + A ) + 4 ))
+
+# badly-formed conditional expressions
+echo $(( 4 ? : $A ))
+echo $(( 1 ? 20 ))
+echo $(( 4 ? 20 : ))
+
+# precedence and short-circuit evaluation
+B=9
+echo $B
+
+echo $(( 0 && B=42 ))
+echo $B
+
+echo $(( 1 || B=88 ))
+echo $B
+
+echo $(( 0 && (B=42) ))
+echo $B
+
+echo $(( (${$} - $$) && (B=42) ))
+echo $B
+
+echo $(( 1 || (B=88) ))
+echo $B
+
+# until command with (( )) command
+x=7
+
+echo $x
+until (( x == 4 ))
+do
+       echo $x
+       x=4
+done
+
+echo $x
+
+# exponentiation
+echo $(( 2**15 - 1))
+echo $(( 2**(16-1)))
+echo $(( 2**16*2 ))
+echo $(( 2**31-1))
+echo $(( 2**0 ))
+
+# {pre,post}-{inc,dec}rement and associated errors
+
+x=4
+
+echo $x
+echo $(( x++ ))
+echo $x
+echo $(( x-- ))
+echo $x
+
+echo $(( --x ))
+echo $x
+
+echo $(( ++x ))
+echo $x
+
+echo $(( ++7 ))
+echo $(( 7-- ))
+
+echo $(( --x=7 ))
+echo $(( ++x=7 ))
+
+echo $(( x++=7 ))
+echo $(( x--=7 ))
+
+echo $x
+
+echo $(( +7 ))
+echo $(( -7 ))
+
+echo $(( ++7 ))
+echo $(( --7 ))
+
+${THIS_SH} ./arith1.sub
+${THIS_SH} ./arith2.sub
+${THIS_SH} ./arith3.sub
+
+x=4
+y=7
+
+(( x=8 , y=12 ))
+
+echo $x $y
+
+# should be an error
+(( x=9 y=41 ))
+
+# These are errors
+unset b
+echo $((a b))
+((a b))
+
+n=42
+printf "%d\n" $n
+printf "%i\n" $n
+echo $(( 8#$(printf "%o\n" $n) ))
+printf "%u\n" $n
+echo $(( 16#$(printf "%x\n" $n) ))
+echo $(( 16#$(printf "%X\n" $n) ))
+
+# causes longjmp botches through bash-2.05b
+a[b[c]d]=e
index a02bfc6194754d644a459a912193958f924c8f0f..401754647867b707747d4dfc7934930cbd38bd09 100644 (file)
@@ -57,6 +57,7 @@ a-{bdef-g-c a-{bdef-i-c
 a b c d e f g h i j k l m n o p q r s t u v w x y z
 a c e g i k m o q s u w y
 z x v t r p n l j h f d b
+2147483645 2147483646 2147483647 2147483648 2147483649
 10 8 6 4 2 0
 10 8 6 4 2 0
 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0
index c2b153ec096307bc3a5a38a295e4a688e1bd0929..a80cf450be435683fdc17e4f1448802e6dfb1515 100644 (file)
@@ -94,6 +94,9 @@ echo {a..z}
 echo {a..z..2}
 echo {z..a..-2}
 
+# make sure brace expansion handles ints > 2**31 - 1 using intmax_t
+echo {2147483645..2147483649}
+
 # unwanted zero-padding -- fixed post-bash-4.0
 echo {10..0..2}
 echo {10..0..-2}
diff --git a/tests/braces.tests~ b/tests/braces.tests~
new file mode 100644 (file)
index 0000000..a80cf45
--- /dev/null
@@ -0,0 +1,119 @@
+echo ff{c,b,a}
+echo f{d,e,f}g
+echo {l,n,m}xyz
+echo {abc\,def}
+echo {abc}
+
+echo \{a,b,c,d,e}
+echo {x,y,\{a,b,c}}
+echo {x\,y,\{abc\},trie}
+
+echo /usr/{ucb/{ex,edit},lib/{ex,how_ex}}
+
+echo XXXX\{`echo a b c | tr ' ' ','`\}
+eval echo XXXX\{`echo a b c | tr ' ' ','`\}
+
+echo {}
+echo { }
+echo }
+echo {
+echo abcd{efgh
+
+echo foo {1,2} bar
+echo `zecho foo {1,2} bar`
+echo $(zecho foo {1,2} bar)
+
+var=baz
+varx=vx
+vary=vy
+
+echo foo{bar,${var}.}
+echo foo{bar,${var}}
+
+echo "${var}"{x,y}
+echo $var{x,y}
+echo ${var}{x,y}
+
+unset var varx vary
+
+# new sequence brace operators
+echo {1..10}
+
+# this doesn't work yet
+echo {0..10,braces}
+# but this does
+echo {{0..10},braces}
+echo x{{0..10},braces}y
+
+echo {3..3}
+echo x{3..3}y
+echo {10..1}
+echo {10..1}y
+echo x{10..1}y
+
+echo {a..f}
+echo {f..a}
+
+echo {a..A}
+echo {A..a}
+
+echo {f..f}
+
+# mixes are incorrectly-formed brace expansions
+echo {1..f}
+echo {f..1}
+
+echo 0{1..9} {10..20}
+
+# do negative numbers work?
+echo {-1..-10}
+echo {-20..0}
+
+# weirdly-formed brace expansions -- fixed in post-bash-3.1
+echo a-{b{d,e}}-c
+
+echo a-{bdef-{g,i}-c
+
+echo {"klklkl"}{1,2,3}
+echo {"x,x"}
+
+echo {1..10..2}
+echo {-1..-10..2}
+echo {-1..-10..-2}
+
+echo {10..1..-2}
+echo {10..1..2}
+
+echo {1..20..2}
+echo {1..20..20}
+
+echo {100..0..5}
+echo {100..0..-5}
+
+echo {a..z}
+echo {a..z..2}
+echo {z..a..-2}
+
+# make sure brace expansion handles ints > 2**31 - 1 using intmax_t
+echo {2147483645..2147483649}
+
+# unwanted zero-padding -- fixed post-bash-4.0
+echo {10..0..2}
+echo {10..0..-2}
+echo {-50..-0..5}
+
+# bad
+echo {1..10.f}
+echo {1..ff}
+echo {1..10..ff}
+echo {1.20..2}
+echo {1..20..f2}
+echo {1..20..2f}
+echo {1..2f..2}
+echo {1..ff..2}
+echo {1..ff}
+echo {1..f}
+echo {1..0f}
+echo {1..10f}
+echo {1..10.f}
+echo {1..10.f}
index 34b57d94872948e416781e9ee7003718defb5486..ab04c52aef094df495cbb76d9ae73e6cbba3ff62 100644 (file)
@@ -70,3 +70,4 @@ swap32_posix ()
                 ));
     done
 }
+yes
index 3f04e6a53f7e9798e7cab3e617f1b7a2603d05df..bcfeede08f442cbac2410933e6d254689d50d1a0 100644 (file)
@@ -205,6 +205,14 @@ ${THIS_SH} ./comsub-posix3.sub
 # produced a parse error through bash-4.0-beta2
 : $(echo foo)"
 "
+# produced a parse error through bash-4.1
+unset x
+x=$(
+echo yes
+# a comment with " ' \
+)
+echo $x
+unset x
 
 # fixed after bash-4.0 released
 : $(case a in a) echo ;; # comment
index a2f6b3c2860f347cb802f7ce549588e50c7eb4e9..3f04e6a53f7e9798e7cab3e617f1b7a2603d05df 100644 (file)
@@ -200,6 +200,8 @@ ${THIS_SH} ./comsub-posix1.sub
 
 ${THIS_SH} ./comsub-posix2.sub
 
+${THIS_SH} ./comsub-posix3.sub
+
 # produced a parse error through bash-4.0-beta2
 : $(echo foo)"
 "
index a20f051ee84ac12ec893bf9cd059159161488d22..70e77a3b43d3a242e3cf89712c11e262c8e5a853 100644 (file)
@@ -115,3 +115,10 @@ echo after
 
 # Problem with bash at least back to version 3.0
 ${THIS_SH} -c 'VAR=0; VAR=1 command exec; exit ${VAR}'
+
+# problem with bash through bash-4.1
+(
+        exec /var/empty/nosuch
+        echo bad
+) 2>/dev/null
+[ $? = 127 ] || echo FAIL: bad exit status $? at $LINENO
index 0d2389b572d0767eb4f97451edbb4b55c8bac8e7..8b832918d3509ca5c577461f678163207d0a75cd 100644 (file)
@@ -113,4 +113,12 @@ true | `echo true` &
 
 echo after
 
+# Problem with bash at least back to version 3.0
 ${THIS_SH} -c 'VAR=0; VAR=1 command exec; exit ${VAR}'
+
+# problem with bash through bash-4.1
+(
+        exec /var/empty/nosuch
+        echo bad
+) 2>/dev/null
+[ $? = 127 ] || echo exit status = $? at $LINENO
index aa1bbf4efd5db7c6aab1891141368630aa72fada..0ba6555aa3202642d8b7184c747103a2022fc639 100644 (file)
@@ -37,5 +37,5 @@ argv[1] = <'bar>
 argv[1] = <foo 'bar baz>
 argv[1] = <}z>
 argv[1] = <''z}>
-./posixexp.tests: line 68: unexpected EOF while looking for matching `}'
-./posixexp.tests: line 69: syntax error: unexpected end of file
+./posixexp.tests: line 77: unexpected EOF while looking for matching `}'
+./posixexp.tests: line 78: syntax error: unexpected end of file
index 9a5b64cd776fd5af3971da74475b86aa44bd3246..60be1c741d50cc96f323282c01c3dcde7f2ede0a 100644 (file)
@@ -63,6 +63,15 @@ recho "foo ${IFS+'bar} baz"
 recho ${IFS+'}'z}
 recho "${IFS+'}'z}"
 
+: ${TMPDIR:=/var/tmp}
+rm -f $TMPDIR/sh
+cp ${THIS_SH} $TMPDIR/sh
+THIS_SH=$TMPDIR/sh ${THIS_SH} ./posixexp1.sub || echo "sh posixexp1.sub: test $? failed"
+${THIS_SH} ./posixexp1.sub || echo "bash posixexp1.sub: test $? failed"
+
+THIS_SH=$TMPDIR/sh ${THIS_SH} ./posixexp2.sub || echo "sh posixexp2.sub: test $? failed"
+rm -f $TMPDIR/sh
+
 # this will be an error
 foo=bar
 echo "${foo:-"a}"
index 018c0877c57d3ba7cf0e3e990f54a970ca52d8b9..bbc10ed6f68d4b36187046c14528b76e781d5e42 100644 (file)
@@ -1,3 +1,15 @@
+unset a
+printf "%s\n" ${a:=a\ b}
+echo "$a"
+
+unset v
+recho ${v=a\ b} x ${v=c\ d}
+
+unset v
+recho "${v=a\ b}" x "${v=c\ d}"
+
+unset a v
+
 recho "foo ${IFS+'bar'} baz"
 recho "a ${IFS+b  c} d"
 
@@ -51,6 +63,14 @@ recho "foo ${IFS+'bar} baz"
 recho ${IFS+'}'z}
 recho "${IFS+'}'z}"
 
+: ${TMPDIR:=/var/tmp}
+rm -f $TMPDIR/sh
+cp ${THIS_SH} $TMPDIR/sh
+THIS_SH=$TMPDIR/sh ${THIS_SH} ./posixexp1.sub || echo "sh posixexp1.sub: test $? failed"
+${THIS_SH} ./posixexp1.sub || echo "bash posixexp1.sub: test $? failed"
+
+rm -f $TMPDIR/sh
+
 # this will be an error
 foo=bar
 echo "${foo:-"a}"
diff --git a/tests/posixexp1.sub b/tests/posixexp1.sub
new file mode 100644 (file)
index 0000000..ce0b29d
--- /dev/null
@@ -0,0 +1,30 @@
+# $FreeBSD: src/tools/regression/bin/sh/expansion/set-u1.0,v 1.2 2010/10/12 18:20:38 obrien Exp $
+
+${THIS_SH} -uc 'unset foo; echo ${foo}' 2>/dev/null && exit 1
+${THIS_SH} -uc 'unset foo; echo $foo' 2>/dev/null && exit 1
+${THIS_SH} -uc 'foo=; echo $foo' >/dev/null || exit 2
+${THIS_SH} -uc 'foo=1; echo $foo' >/dev/null || exit 3
+# -/+/= are unaffected by set -u
+${THIS_SH} -uc 'unset foo; echo ${foo-}' >/dev/null || exit 4
+${THIS_SH} -uc 'unset foo; echo ${foo+}' >/dev/null || exit 5
+${THIS_SH} -uc 'unset foo; echo ${foo=}' >/dev/null || exit 6
+# length/trimming are affected
+${THIS_SH} -uc 'unset foo; echo ${#foo}' 2>/dev/null && exit 7
+${THIS_SH} -uc 'foo=; echo ${#foo}' >/dev/null || exit 8
+${THIS_SH} -uc 'unset foo; echo ${foo#?}' 2>/dev/null && exit 9
+${THIS_SH} -uc 'foo=1; echo ${foo#?}' >/dev/null || exit 10
+${THIS_SH} -uc 'unset foo; echo ${foo##?}' 2>/dev/null && exit 11
+${THIS_SH} -uc 'foo=1; echo ${foo##?}' >/dev/null || exit 12
+${THIS_SH} -uc 'unset foo; echo ${foo%?}' 2>/dev/null && exit 13
+${THIS_SH} -uc 'foo=1; echo ${foo%?}' >/dev/null || exit 14
+${THIS_SH} -uc 'unset foo; echo ${foo%%?}' 2>/dev/null && exit 15
+${THIS_SH} -uc 'foo=1; echo ${foo%%?}' >/dev/null || exit 16
+
+${THIS_SH} -uc 'echo $!' 2>/dev/null && exit 17
+${THIS_SH} -uc ':& echo $!' >/dev/null || exit 18
+${THIS_SH} -uc 'echo $#' >/dev/null || exit 19
+${THIS_SH} -uc 'echo $1' 2>/dev/null && exit 20
+${THIS_SH} -uc 'echo $1' ${THIS_SH} xnotthere >/dev/null || exit 21
+${THIS_SH} -uc 'echo $2' ${THIS_SH} xnotthere 2>/dev/null && exit 22
+${THIS_SH} -uc 'echo $2' ${THIS_SH} xnotthere ynotthere >/dev/null || exit 23
+exit 0
diff --git a/tests/posixexp1.sub~ b/tests/posixexp1.sub~
new file mode 100644 (file)
index 0000000..d729a62
--- /dev/null
@@ -0,0 +1,30 @@
+# $FreeBSD: src/tools/regression/bin/sh/expansion/set-u1.0,v 1.2 2010/10/12 18:20:38 obrien Exp $
+
+${THIS_SH} -uc 'unset foo; echo ${foo}' 2>/dev/null && exit 1
+${THIS_SH} -uc 'unset foo; echo $foo' 2>/dev/null && exit 1
+${THIS_SH} -uc 'foo=; echo $foo' >/dev/null || exit 2
+${THIS_SH} -uc 'foo=1; echo $foo' >/dev/null || exit 3
+# -/+/= are unaffected by set -u
+${THIS_SH} -uc 'unset foo; echo ${foo-}' >/dev/null || exit 4
+${THIS_SH} -uc 'unset foo; echo ${foo+}' >/dev/null || exit 5
+${THIS_SH} -uc 'unset foo; echo ${foo=}' >/dev/null || exit 6
+# length/trimming are affected
+${THIS_SH} -uc 'unset foo; echo ${#foo}' 2>/dev/null && exit 7
+${THIS_SH} -uc 'foo=; echo ${#foo}' >/dev/null || exit 8
+${THIS_SH} -uc 'unset foo; echo ${foo#?}' 2>/dev/null && exit 9
+${THIS_SH} -uc 'foo=1; echo ${foo#?}' >/dev/null || exit 10
+${THIS_SH} -uc 'unset foo; echo ${foo##?}' 2>/dev/null && exit 11
+${THIS_SH} -uc 'foo=1; echo ${foo##?}' >/dev/null || exit 12
+${THIS_SH} -uc 'unset foo; echo ${foo%?}' 2>/dev/null && exit 13
+${THIS_SH} -uc 'foo=1; echo ${foo%?}' >/dev/null || exit 14
+${THIS_SH} -uc 'unset foo; echo ${foo%%?}' 2>/dev/null && exit 15
+${THIS_SH} -uc 'foo=1; echo ${foo%%?}' >/dev/null || exit 16
+
+${THIS_SH} -uc 'echo $!' 2>/dev/null && exit 17
+${THIS_SH} -uc ':& echo $!' >/dev/null || exit 18
+${THIS_SH} -uc 'echo $#' >/dev/null || exit 19
+${THIS_SH} -uc 'echo $1' 2>/dev/null && exit 20
+${THIS_SH} -uc 'echo $1' ${THIS_SH} x >/dev/null || exit 21
+${THIS_SH} -uc 'echo $2' ${THIS_SH} x 2>/dev/null && exit 22
+${THIS_SH} -uc 'echo $2' ${THIS_SH} x y >/dev/null || exit 23
+exit 0
diff --git a/tests/posixexp2.right b/tests/posixexp2.right
new file mode 100644 (file)
index 0000000..08d3901
--- /dev/null
@@ -0,0 +1,40 @@
+1 }z
+2 ''z}
+3 foo 'bar baz
+4 foo b   c baz
+5 foo b   c baz
+6 }z
+7 }z
+8 ""z}
+9 "}"z
+10 foo bar} baz
+11 ''z}
+12 }z
+13 }z
+14 }z
+15 <foo abx{ {{{}b c d{} bar> <}> <baz> .
+16 hi there
+17 hi there
+18 hi there
+19 hi there
+20 hi there
+21 hi there
+22 hi there
+23 hi there
+24 'value'
+25 'value'
+26 $key
+27 'value'
+28 'x ~ x''x}"x}" #
+29 <foo> <abx{ {{> <{}b> <c> <d{}> <bar> <}> <baz> .
+30 <foo> <b\
+ar> <baz> .
+32 <foo> <bar> <baz> .
+33 <foo 'bar' baz> .
+34 <foo bar baz> .
+35 <a> <b> <x> <a> <b> .
+36 <a\ b> <x> <a\ b> .
+37 <a b> <x> <c d> .
+38 xay / x'a'y .
+39 x' / x' .
+40 < b c> .
diff --git a/tests/posixexp2.sub b/tests/posixexp2.sub
new file mode 100644 (file)
index 0000000..9780f71
--- /dev/null
@@ -0,0 +1,21 @@
+
+x=a\ b
+[ "$x" = "${x?}" ] || exit 1
+set -- ${x?}
+{ [ "$#" = 2 ] && [ "$1" = a ] && [ "$2" = b ]; } || exit 1
+unset x
+(echo ${x?abcdefg}) 2>&1 | grep -q abcdefg || exit 1
+${THIS_SH} -c 'unset foo; echo ${foo?}' 2>/dev/null && exit 2
+${THIS_SH} -c 'foo=; echo ${foo:?}' 2>/dev/null && exit 3
+${THIS_SH} -c 'foo=; echo ${foo?}' >/dev/null || exit 4
+${THIS_SH} -c 'foo=1; echo ${foo:?}' >/dev/null || exit 5
+${THIS_SH} -c 'echo ${!?}' 2>/dev/null && exit 6
+${THIS_SH} -c ':& echo ${!?}' >/dev/null || exit 7
+${THIS_SH} -c 'echo ${#?}' >/dev/null || exit 8
+${THIS_SH} -c 'echo ${*?}' 2>/dev/null && exit 9
+${THIS_SH} -c 'echo ${*?}' ${THIS_SH} x >/dev/null || exit 10
+${THIS_SH} -c 'echo ${1?}' 2>/dev/null && exit 11
+${THIS_SH} -c 'echo ${1?}' ${THIS_SH} x >/dev/null || exit 12
+${THIS_SH} -c 'echo ${2?}' ${THIS_SH} x 2>/dev/null && exit 13
+${THIS_SH} -c 'echo ${2?}' ${THIS_SH} x y >/dev/null || exit 14
+exit 0
diff --git a/tests/posixexp2.tests b/tests/posixexp2.tests
new file mode 100644 (file)
index 0000000..57dd767
--- /dev/null
@@ -0,0 +1,47 @@
+# From mksh
+
+set -o posix
+
+(echo 1 ${IFS+'}'z}) 2>&- || echo failed in 1
+(echo 2 "${IFS+'}'z}") 2>&- || echo failed in 2
+(echo 3 "foo ${IFS+'bar} baz") 2>&- || echo failed in 3
+(echo -n '4 '; printf '%s\n' "foo ${IFS+"b   c"} baz") 2>&- || echo failed in 4
+(echo -n '5 '; printf '%s\n' "foo ${IFS+b   c} baz") 2>&- || echo failed in 5
+(echo 6 ${IFS+"}"z}) 2>&- || echo failed in 6
+(echo 7 "${IFS+"}"z}") 2>&- || echo failed in 7
+(echo 8 "${IFS+\"}\"z}") 2>&- || echo failed in 8
+(echo 9 "${IFS+\"\}\"z}") 2>&- || echo failed in 9
+(echo 10 foo ${IFS+'bar} baz'}) 2>&- || echo failed in 10
+(echo 11 "$(echo "${IFS+'}'z}")") 2>&- || echo failed in 11
+(echo 12 "$(echo ${IFS+'}'z})") 2>&- || echo failed in 12
+(echo 13 ${IFS+\}z}) 2>&- || echo failed in 13
+(echo 14 "${IFS+\}z}") 2>&- || echo failed in 14
+u=x; (echo -n '15 '; printf '<%s> ' "foo ${IFS+a"b$u{ {"{{\}b} c ${IFS+d{}} bar" ${IFS-e{}} baz; echo .) 2>&- || echo failed in 15
+l=t; (echo 16 ${IFS+h`echo -n i ${IFS+$l}h`ere}) 2>&- || echo failed in 16
+l=t; (echo 17 ${IFS+h$(echo -n i ${IFS+$l}h)ere}) 2>&- || echo failed in 17
+l=t; (echo 18 "${IFS+h`echo -n i ${IFS+$l}h`ere}") 2>&- || echo failed in 18
+l=t; (echo 19 "${IFS+h$(echo -n i ${IFS+$l}h)ere}") 2>&- || echo failed in 19
+l=t; (echo 20 ${IFS+h`echo -n i "${IFS+$l}"h`ere}) 2>&- || echo failed in 20
+l=t; (echo 21 ${IFS+h$(echo -n i "${IFS+$l}"h)ere}) 2>&- || echo failed in 21
+l=t; (echo 22 "${IFS+h`echo -n i "${IFS+$l}"h`ere}") 2>&- || echo failed in 22
+l=t; (echo 23 "${IFS+h$(echo -n i "${IFS+$l}"h)ere}") 2>&- || echo failed in 23
+key=value; (echo -n '24 '; printf '%s\n' "${IFS+'$key'}") 2>&- || echo failed in 24
+key=value; (echo -n '25 '; printf '%s\n' "${IFS+"'$key'"}") 2>&- || echo failed in 25  # ksh93: “'$key'”
+key=value; (echo -n '26 '; printf '%s\n' ${IFS+'$key'}) 2>&- || echo failed in 26
+key=value; (echo -n '27 '; printf '%s\n' ${IFS+"'$key'"}) 2>&- || echo failed in 27
+(echo -n '28 '; printf '%s\n' "${IFS+"'"x ~ x'}'x"'}"x}" #') 2>&- || echo failed in 28
+u=x; (echo -n '29 '; printf '<%s> ' foo ${IFS+a"b$u{ {"{ {\}b} c ${IFS+d{}} bar ${IFS-e{}} baz; echo .) 2>&- || echo failed in 29
+(echo -n '30 '; printf '<%s> ' ${IFS+foo 'b\
+ar' baz}; echo .) 2>&- || (echo failed in 30; echo failed in 31)
+(echo -n '32 '; printf '<%s> ' ${IFS+foo "b\
+ar" baz}; echo .) 2>&- || echo failed in 32
+(echo -n '33 '; printf '<%s> ' "${IFS+foo 'b\
+ar' baz}"; echo .) 2>&- || echo failed in 33
+(echo -n '34 '; printf '<%s> ' "${IFS+foo "b\
+ar" baz}"; echo .) 2>&- || echo failed in 34
+(echo -n '35 '; printf '<%s> ' ${v=a\ b} x ${v=c\ d}; echo .) 2>&- || echo failed in 35
+(echo -n '36 '; printf '<%s> ' "${v=a\ b}" x "${v=c\ d}"; echo .) 2>&- || echo failed in 36
+(echo -n '37 '; printf '<%s> ' ${v-a\ b} x ${v-c\ d}; echo .) 2>&- || echo failed in 37
+(echo 38 ${IFS+x'a'y} / "${IFS+x'a'y}" .) 2>&- || echo failed in 38
+foo="x'a'y"; (echo 39 ${foo%*'a'*} / "${foo%*'a'*}" .) 2>&- || echo failed in 39
+foo="a b c"; (echo -n '40 '; printf '<%s> ' "${foo#a}"; echo .) 2>&- || echo failed in 40
diff --git a/tests/run-posixexp2 b/tests/run-posixexp2
new file mode 100644 (file)
index 0000000..9a2890f
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./posixexp2.tests > /tmp/xx 2>&1
+diff /tmp/xx posixexp2.right && rm -f /tmp/xx
diff --git a/tests/run-posixexp2~ b/tests/run-posixexp2~
new file mode 100644 (file)
index 0000000..e5a1c3e
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./posixexp.tests > /tmp/xx 2>&1
+diff /tmp/xx posixexp.right && rm -f /tmp/xx