]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20040715 snapshot
authorChet Ramey <chet.ramey@case.edu>
Sat, 3 Dec 2011 17:59:35 +0000 (12:59 -0500)
committerChet Ramey <chet.ramey@case.edu>
Sat, 3 Dec 2011 17:59:35 +0000 (12:59 -0500)
22 files changed:
CHANGES
CHANGES~
COMPAT
COMPAT~ [new file with mode: 0644]
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
README
README~
autom4te.cache/output.0
autom4te.cache/requests
autom4te.cache/traces.0
builtins/umask.def
builtins/umask.def~ [new file with mode: 0644]
configure
doc/FAQ-3.0
doc/bash.0
doc/bash.1
flags.c
flags.c~ [new file with mode: 0644]
lib/readline/input.c
lib/readline/readline.h
lib/readline/vi_mode.c

diff --git a/CHANGES b/CHANGES
index d4787673b8743953bd7bee70ba94794fe49935f3..159da675635e60f7cb4b36872b500e3f14ff9a26 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -14,11 +14,21 @@ 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.
index 32d62fdf4773977abef575fe2e27fa0d5c0075f9..dd48f75a40c1f54c63019631dca90ca498a86a00 100644 (file)
--- a/CHANGES~
+++ b/CHANGES~
@@ -1,3 +1,32 @@
+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 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.
 
diff --git a/COMPAT b/COMPAT
index c2778fe074853183400732e977cc0dccc71156aa..6858ce7c3a4edec9ff72dda2b36e80d19b80ed21 100644 (file)
--- a/COMPAT
+++ b/COMPAT
@@ -1,11 +1,12 @@
 This document details the incompatibilites between this version of bash,
-bash-2.05b, and the previous widely-available version, bash-1.14 (which
-is still the `standard' version for many Linux distributions).  These
-were discovered by users of bash-2.x, so this list is not comprehensive.
-Some of these incompatibilities occur between the current version and
-versions 2.0 and above.
-
-1.  Bash now uses a new quoting syntax, $"...", to do locale-specific
+bash-3.0, and a previous widely-available version, bash-1.14 (which
+is still the `standard' version for a few Linux distributions).  These
+were discovered by users of bash-2.x and 3.x, so this list is not
+comprehensive. Some of these incompatibilities occur between the current
+version and versions 2.0 and above.  (The differences between bash-1.14
+and bash-2.0 were significant.)
+
+1.  Bash uses a new quoting syntax, $"...", to do locale-specific
     string translation.  Users who have relied on the (undocumented)
     behavior of bash-1.14 will have to change their scripts.  For
     instance, if you are doing something like this to get the value of
@@ -208,3 +209,6 @@ versions 2.0 and above.
 17.  Bash no longer removes the export attribute from the SSH_CLIENT or
      SSH2_CLIENT variables, and no longer attempts to discover whether or
      not it has been invoked by sshd in order to run the startup files.
+
+18.  Bash no longer requires that the body of a function be a group command;
+     any compound command is accepted.
diff --git a/COMPAT~ b/COMPAT~
new file mode 100644 (file)
index 0000000..06131f1
--- /dev/null
+++ b/COMPAT~
@@ -0,0 +1,216 @@
+This document details the incompatibilites between this version of bash,
+bash-3.0, and a previous widely-available version, bash-1.14 (which
+is still the `standard' version for a few Linux distributions).  These
+were discovered by users of bash-2.x and 3.x, so this list is not
+comprehensive. Some of these incompatibilities occur between the current
+version and versions 2.0 and above.  (The differences between bash-1.14
+and bash-2.0 were significant.)
+
+1.  Bash uses a new quoting syntax, $"...", to do locale-specific
+    string translation.  Users who have relied on the (undocumented)
+    behavior of bash-1.14 will have to change their scripts.  For
+    instance, if you are doing something like this to get the value of
+    a variable whose name is the value of a second variable:
+
+       eval var2=$"$var1"
+
+    you will have to change to a different syntax.
+
+    This capability is directly supported by bash-2.0:
+
+       var2=${!var1}
+
+    This alternate syntax will work portably between bash-1.14 and bash-2.0:
+
+       eval var2=\$${var1}
+
+2.  One of the bugs fixed in the YACC grammar tightens up the rules
+    concerning group commands ( {...} ).  The `list' that composes the
+    body of the group command must be terminated by a newline or
+    semicolon.  That's because the braces are reserved words, and are
+    recognized as such only when a reserved word is legal.  This means
+    that while bash-1.14 accepted shell function definitions like this:
+
+       foo() { : }
+
+    bash-2.0 requires this:
+
+       foo() { :; }
+
+    This is also an issue for commands like this:
+
+       mkdir dir || { echo 'could not mkdir' ; exit 1; }
+
+    The syntax required by bash-2.0 is also accepted by bash-1.14.
+
+3.  The options to `bind' have changed to make them more consistent with
+    the rest of the bash builtins.  If you are using `bind -d' to list
+    the readline key bindings in a form that can be re-read, use `bind -p'
+    instead.  If you were using `bind -v' to list the key bindings, use
+    `bind -P' instead.
+
+4.  The `long' invocation options must now be prefixed by `--' instead
+    of `-'.  (The old form is still accepted, for the time being.)
+
+5.  There was a bug in the version of readline distributed with bash-1.14
+    that caused it to write badly-formatted key bindings when using 
+    `bind -d'.  The only key sequences that were affected are C-\ (which
+    should appear as \C-\\ in a key binding) and C-" (which should appear
+    as \C-\").  If these key sequences appear in your inputrc, as, for
+    example,
+
+       "\C-\": self-insert
+
+    they will need to be changed to something like the following:
+
+       "\C-\\": self-insert
+
+6.  A number of people complained about having to use ESC to terminate an
+    incremental search, and asked for an alternate mechanism.  Bash-2.03
+    uses the value of the settable readline variable `isearch-terminators'
+    to decide which characters should terminate an incremental search.  If
+    that variable has not been set, ESC and Control-J will terminate a
+    search.
+
+7.  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'.  Here is a list of
+    correspondences:
+
+       MAIL_WARNING                    shopt mailwarn
+       notify                          set -o notify
+       history_control                 HISTCONTROL
+       command_oriented_history        shopt cmdhist
+       glob_dot_filenames              shopt dotglob
+       allow_null_glob_expansion       shopt nullglob
+       nolinks                         set -o physical
+       hostname_completion_file        HOSTFILE
+       noclobber                       set -o noclobber
+       no_exit_on_failed_exec          shopt execfail
+       cdable_vars                     shopt cdable_vars
+
+8. `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'.  The bash-1.14
+    behavior of, for example,
+
+               ulimit -c 0
+
+    can be obtained with
+
+               ulimit -S -c 0
+
+    It may be useful to define an alias:
+
+               alias ulimit="ulimit -S"
+
+9.  Bash-2.01 uses a new quoting syntax, $'...' to do ANSI-C string
+    translation.  Backslash-escaped characters in ... are expanded and
+    replaced as specified by the ANSI C standard.
+
+10. The sourcing of startup files has changed somewhat.  This is explained
+    more completely in the INVOCATION section of the manual page.
+
+    A non-interactive shell not named `sh' and not in posix mode reads
+    and executes commands from the file named by $BASH_ENV.  A
+    non-interactive shell started by `su' and not in posix mode will read
+    startup files.  No other non-interactive shells read any startup files.
+
+    An interactive shell started in posix mode reads and executes commands
+    from the file named by $ENV.
+
+11. The <> redirection operator was changed to conform to the POSIX.2 spec.
+    In the absence of any file descriptor specification preceding the `<>',
+    file descriptor 0 is used.  In bash-1.14, this was the behavior only
+    when in POSIX mode.  The bash-1.14 behavior may be obtained with
+
+       <>filename 1>&0
+
+12. The `alias' builtin now checks for invalid options and takes a `-p'
+    option to display output in POSIX mode.  If you have old aliases beginning
+    with `-' or `+', you will have to add the `--' to the alias command
+    that declares them:
+
+       alias -x='chmod a-x' --> alias -- -x='chmod a-x'
+
+13. The behavior of range specificiers within bracket matching expressions
+    in the pattern matcher (e.g., [A-Z]) depends on the current locale,
+    specifically the value of the LC_COLLATE environment variable.  Setting
+    this variable to C or POSIX will result in the traditional ASCII behavior
+    for range comparisons.  If the locale is set to something else, e.g.,
+    en_US (specified by the LANG or LC_ALL variables), collation order is
+    locale-dependent.  For example, the en_US locale sorts the upper and
+    lower case letters like this:
+
+       AaBb...Zz
+
+    so a range specification like [A-Z] will match every letter except `z'.
+    Other locales 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).
+
+    You can find your current locale information by running locale(1):
+
+       caleb.ins.cwru.edu(2)$ locale
+       LANG=en_US
+       LC_CTYPE="en_US"
+       LC_NUMERIC="en_US"
+       LC_TIME="en_US"
+       LC_COLLATE="en_US"
+       LC_MONETARY="en_US"
+       LC_MESSAGES="en_US"
+       LC_ALL=en_US
+
+    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.
+
+14.  Bash versions up to 1.14.7 included an undocumented `-l' operator to
+     the `test/[' builtin.  It was a unary operator that expanded to the
+     length of its string argument.  This let you do things like
+
+       test -l $variable -lt 20
+
+     for example.
+
+     This was included for backwards compatibility with old versions of the
+     Bourne shell, which did not provide an easy way to obtain the length of
+     the value of a shell variable.
+
+     This operator is not part of the POSIX standard, because one can (and
+     should) use ${#variable} to get the length of a variable's value.
+     Bash-2.x does not support it.
+
+15.  Bash no longer auto-exports the HOME, PATH, SHELL, TERM, HOSTNAME,
+     HOSTTYPE, MACHTYPE, or OSTYPE variables.
+
+16.  Bash no longer initializes the FUNCNAME, GROUPS, or DIRSTACK variables
+     to have special behavior if they appear in the initial environment.
+
+17.  Bash no longer removes the export attribute from the SSH_CLIENT or
+     SSH2_CLIENT variables, and no longer attempts to discover whether or
+     not it has been invoked by sshd in order to run the startup files.
+
+18.  Bash no longer requires that the body of a function be a group command.
+     Thus, the following is accepted:
+
+       foo() echo bar;
index 83f5780bd6919f219d999463906f4690805f9391..f6ce0b9249489168ed2535b1871725f97477eb5a 100644 (file)
@@ -9612,3 +9612,29 @@ lib/readline/misc.c
          what's already saved, free up the current saved line and save the
          current contents of rl_line_buffer.  Bug reported by
          llattanzi@apple.com
+
+                                  7/12
+                                  ----
+lib/readline/input.c
+       - do better EOF detection in rl_gather_tyi -- if a read returns 0 when
+         the fd is in non-blocking mode, stuff an EOF into the input stream
+         (reported by mattias@virtutech.se)
+
+                                  7/13
+                                  ----
+lib/readline/vi_mode.c
+       - make sure rl_vi_put honors `count' arguments and yanks things
+         multiple times if requested
+
+                                  7/16
+                                  ----
+builtins/umask.def
+       - make sure that the `who' part of the umask symbolic mode argument
+         defaults to `a' if it's missing
+
+flags.c
+       - make sure that maybe_make_restricted only gets called after the
+         shell is initialized, so `bash -r' doesn't result in inappropriate
+         error messages
+
+[bash-3.0 frozen]
index 7b384e20d08281bd8d4d3b350b8d160b61ba1414..5687e0239fa94655db547ca21ec2077209040a0e 100644 (file)
@@ -9596,3 +9596,43 @@ execute_cmd.c
          POSIX mode to exit if an assignment to the temporary environment
          preceding a special builtin fails (bug report from
          llattanzi@apple.com)
+
+                                   7/5
+                                   ---
+bashline.c
+       - in bash_directory_completion_hook, don't perform word expansions
+         if the filename appears to have been completed from the file
+         system rather than typed in by the user.  Bug reported by Tim
+         Waugh <twaugh@redhat.com>
+
+                                   7/7
+                                   ---
+lib/readline/misc.c
+       - if _rl_maybe_save_line is being asked to save a line other than
+         what's already saved, free up the current saved line and save the
+         current contents of rl_line_buffer.  Bug reported by
+         llattanzi@apple.com
+
+                                  7/12
+                                  ----
+lib/readline/input.c
+       - do better EOF detection in rl_gather_tyi -- if a read returns 0 when
+         the fd is in non-blocking mode, stuff an EOF into the input stream
+         (reported by mattias@virtutech.se)
+
+                                  7/13
+                                  ----
+lib/readline/vi_mode.c
+       - make sure rl_vi_put honors `count' arguments and yanks things
+         multiple times if requested
+
+                                  7/16
+                                  ----
+builtins/umask.def
+       - make sure that the `who' part of the umask symbolic mode argument
+         defaults to `a' if it's missing
+
+flags.c
+       - make sure that maybe_make_restricted only gets called after the
+         shell is initialized, so `bash -r' doesn't result in inappropriate
+         error messages
diff --git a/README b/README
index 33ddd7550fb071290fed8cff38af3430f8ed7d37..08ebaf2c9849b1b005599b51f8c070281d93a453 100644 (file)
--- a/README
+++ b/README
@@ -11,11 +11,11 @@ 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 CWRU/POSIX.NOTES for a discussion of how Bash differs
+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 the previous widely-distributed version, bash-1.14.
+of Bash and a previous widely-distributed version, bash-1.14.
 For details, see the file COMPAT.  The NEWS file tersely lists
 features that are new in this release. 
 
diff --git a/README~ b/README~
index 9c7fee420c1a4430ba3c311024ef98080bdd0cf2..33ddd7550fb071290fed8cff38af3430f8ed7d37 100644 (file)
--- a/README~
+++ b/README~
@@ -1,7 +1,7 @@
 Introduction
 ============
 
-This is GNU Bash, version 3.0b.  Bash is the GNU Project's Bourne
+This is GNU Bash, version 3.0.  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
index 9431bacb15171a0b7b871268f0cd6a68aa9e55e9..141a689baf7a38fdfcb724ed839269787020ee24 100644 (file)
@@ -1,7 +1,7 @@
 @%:@! /bin/sh
-@%:@ From configure.in for Bash 3.0, version 3.164, from autoconf version AC_ACVERSION.
+@%:@ From configure.in for Bash 3.0, version 3.165, from autoconf version AC_ACVERSION.
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.57 for bash 3.0-rc1.
+@%:@ Generated by GNU Autoconf 2.57 for bash 3.0-release.
 @%:@
 @%:@ Report bugs to <bug-bash@gnu.org>.
 @%:@ 
@@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='3.0-rc1'
-PACKAGE_STRING='bash 3.0-rc1'
+PACKAGE_VERSION='3.0-release'
+PACKAGE_STRING='bash 3.0-release'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 
 ac_unique_file="shell.h"
@@ -784,7 +784,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 3.0-rc1 to adapt to many kinds of systems.
+\`configure' configures bash 3.0-release to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -845,7 +845,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 3.0-rc1:";;
+     short | recursive ) echo "Configuration of bash 3.0-release:";;
    esac
   cat <<\_ACEOF
 
@@ -1000,7 +1000,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 3.0-rc1
+bash configure 3.0-release
 generated by GNU Autoconf 2.57
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
@@ -1015,7 +1015,7 @@ cat >&5 <<_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 3.0-rc1, which was
+It was created by bash $as_me 3.0-release, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   $ $0 $@
@@ -1384,7 +1384,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
 
 BASHVERS=3.0
-RELSTATUS=rc1
+RELSTATUS=release
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*)    DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -24610,7 +24610,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by bash $as_me 3.0-rc1, which was
+This file was extended by bash $as_me 3.0-release, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24673,7 +24673,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-bash config.status 3.0-rc1
+bash config.status 3.0-release
 configured by $0, generated by GNU Autoconf 2.57,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
index 75fa1d34ed4f2d00198e08c5f1a0af403df52a7b..f2d7826a07670823b5e50fbbde703a18945c89b1 100644 (file)
                         'configure.in'
                       ],
                       {
-                        'AC_FUNC_ALLOCA' => 1,
-                        'AC_HEADER_MAJOR' => 1,
                         'AC_HEADER_DIRENT' => 1,
-                        'AC_TYPE_SIZE_T' => 1,
-                        'AM_GNU_GETTEXT' => 1,
-                        'AC_FUNC_OBSTACK' => 1,
-                        'AC_FUNC_GETGROUPS' => 1,
-                        'AC_FUNC_ERROR_AT_LINE' => 1,
-                        'AC_PROG_INSTALL' => 1,
-                        'AC_FUNC_SELECT_ARGTYPES' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AC_FUNC_CHOWN' => 1,
                         'AC_PROG_CC' => 1,
-                        'AC_HEADER_STDC' => 1,
-                        'include' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'AC_FUNC_SETPGRP' => 1,
-                        'AC_FUNC_FSEEKO' => 1,
-                        'AC_HEADER_STAT' => 1,
-                        'AC_LIBSOURCE' => 1,
+                        'AC_TYPE_PID_T' => 1,
+                        'AC_FUNC_MALLOC' => 1,
                         'AC_FUNC_MBRTOWC' => 1,
-                        'AC_PROG_MAKE_SET' => 1,
-                        'm4_include' => 1,
-                        'AC_FUNC_UTIME_NULL' => 1,
-                        'AC_FUNC_WAIT3' => 1,
-                        'AC_FUNC_STAT' => 1,
-                        'AC_CHECK_MEMBERS' => 1,
-                        'AC_HEADER_TIME' => 1,
-                        'AC_FUNC_VPRINTF' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'AC_REPLACE_FNMATCH' => 1,
-                        'AC_CONFIG_HEADERS' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AC_DECL_SYS_SIGLIST' => 1,
-                        'AC_CHECK_TYPES' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AC_FUNC_STRCOLL' => 1,
-                        'AC_PROG_AWK' => 1,
-                        'AC_TYPE_UID_T' => 1,
-                        'AC_TYPE_SIGNAL' => 1,
-                        'AC_FUNC_CLOSEDIR_VOID' => 1,
-                        'AC_FUNC_GETPGRP' => 1,
-                        'AC_C_VOLATILE' => 1,
                         'AC_FUNC_LSTAT' => 1,
+                        'AC_HEADER_TIME' => 1,
+                        'AH_OUTPUT' => 1,
                         'AC_FUNC_GETMNTENT' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'AC_SUBST' => 1,
-                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
-                        'AM_MAINTAINER_MODE' => 1,
-                        'AC_FUNC_MKTIME' => 1,
                         'AC_PROG_CPP' => 1,
+                        'AC_TYPE_MODE_T' => 1,
                         'm4_pattern_allow' => 1,
-                        'AC_PROG_LEX' => 1,
-                        'AC_PATH_X' => 1,
-                        'AC_PROG_RANLIB' => 1,
-                        'AC_CHECK_LIB' => 1,
-                        'AC_STRUCT_TM' => 1,
-                        'AC_STRUCT_ST_BLOCKS' => 1,
-                        'AC_FUNC_STRERROR_R' => 1,
-                        'AC_STRUCT_TIMEZONE' => 1,
-                        'AC_PROG_GCC_TRADITIONAL' => 1,
-                        'AC_FUNC_MALLOC' => 1,
-                        'AC_TYPE_OFF_T' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AH_OUTPUT' => 1,
                         'AC_PROG_YACC' => 1,
-                        'AC_FUNC_STRNLEN' => 1,
-                        'AC_TYPE_MODE_T' => 1,
-                        'AC_PROG_LN_S' => 1,
-                        'AM_PROG_CC_C_O' => 1,
+                        'AC_FUNC_MKTIME' => 1,
+                        'AC_CHECK_TYPES' => 1,
+                        'AC_PROG_CXX' => 1,
+                        'AC_HEADER_MAJOR' => 1,
+                        'AC_CHECK_FUNCS' => 1,
+                        'AC_CHECK_HEADERS' => 1,
+                        'AC_INIT' => 1,
+                        'AC_STRUCT_TIMEZONE' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        'AC_PROG_MAKE_SET' => 1,
+                        'AC_FUNC_CHOWN' => 1,
+                        'AC_FUNC_ERROR_AT_LINE' => 1,
                         'AC_CONFIG_FILES' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'AC_PROG_RANLIB' => 1,
+                        'AC_FUNC_MMAP' => 1,
+                        'AC_CHECK_MEMBERS' => 1,
                         'AC_FUNC_STRTOD' => 1,
-                        'AC_INIT' => 1,
-                        'AC_HEADER_SYS_WAIT' => 1,
-                        'AC_C_INLINE' => 1,
-                        'AC_FUNC_REALLOC' => 1,
-                        'AC_FUNC_MEMCMP' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'AC_FUNC_CLOSEDIR_VOID' => 1,
+                        'AC_FUNC_VPRINTF' => 1,
+                        'AC_PROG_LEX' => 1,
+                        'AC_FUNC_STAT' => 1,
+                        'AC_REPLACE_FNMATCH' => 1,
+                        'AC_STRUCT_TM' => 1,
+                        'AC_FUNC_STRCOLL' => 1,
+                        'AC_FUNC_STRNLEN' => 1,
+                        'm4_include' => 1,
                         'AC_CONFIG_AUX_DIR' => 1,
-                        'AC_FUNC_SETVBUF_REVERSED' => 1,
-                        'AC_FUNC_GETLOADAVG' => 1,
-                        'AC_C_CONST' => 1,
-                        'AC_FUNC_FORK' => 1,
-                        'AC_FUNC_STRFTIME' => 1,
+                        'AC_FUNC_STRERROR_R' => 1,
                         'AC_CANONICAL_SYSTEM' => 1,
-                        'AC_TYPE_PID_T' => 1,
-                        'AC_CHECK_HEADERS' => 1,
-                        'AC_PROG_CXX' => 1,
+                        'AC_CHECK_LIB' => 1,
+                        'AC_STRUCT_ST_BLOCKS' => 1,
+                        'AC_PATH_X' => 1,
+                        'AC_FUNC_SELECT_ARGTYPES' => 1,
+                        'AC_FUNC_MEMCMP' => 1,
+                        'include' => 1,
+                        'AC_C_VOLATILE' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_DECL_SYS_SIGLIST' => 1,
+                        'AC_FUNC_SETPGRP' => 1,
+                        'AC_FUNC_OBSTACK' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_FUNC_REALLOC' => 1,
+                        'AC_FUNC_WAIT3' => 1,
+                        'AC_FUNC_STRFTIME' => 1,
+                        'AC_SUBST' => 1,
                         'AC_PROG_LIBTOOL' => 1,
-                        'AC_FUNC_MMAP' => 1,
-                        'AC_CHECK_FUNCS' => 1
+                        'AC_FUNC_FSEEKO' => 1,
+                        'AC_HEADER_STAT' => 1,
+                        'AC_C_INLINE' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AC_FUNC_GETGROUPS' => 1,
+                        'AC_FUNC_GETLOADAVG' => 1,
+                        'AC_PROG_INSTALL' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AC_FUNC_SETVBUF_REVERSED' => 1,
+                        'AC_TYPE_SIGNAL' => 1,
+                        'AC_PROG_GCC_TRADITIONAL' => 1,
+                        'AC_PROG_LN_S' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AC_FUNC_ALLOCA' => 1,
+                        'AC_PROG_AWK' => 1,
+                        'AC_CONFIG_HEADERS' => 1,
+                        'AC_FUNC_GETPGRP' => 1,
+                        'AC_TYPE_OFF_T' => 1,
+                        'AC_FUNC_UTIME_NULL' => 1,
+                        'AC_TYPE_SIZE_T' => 1,
+                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        'AC_FUNC_FORK' => 1,
+                        'AC_TYPE_UID_T' => 1,
+                        'AC_HEADER_SYS_WAIT' => 1,
+                        'AC_HEADER_STDC' => 1,
+                        'AC_C_CONST' => 1
                       }
                     ], 'Request' )
            );
index 9fdad082512ae989ecf1591d82b83b53871ef57b..64b184d2ea858eeb0b2f247a978e121cc11f760c 100644 (file)
@@ -1,4 +1,4 @@
-m4trace:configure.in:30: -1- AC_INIT([bash], [3.0-rc1], [bug-bash@gnu.org])
+m4trace:configure.in:30: -1- AC_INIT([bash], [3.0-release], [bug-bash@gnu.org])
 m4trace:configure.in:30: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.in:30: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.in:30: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
index 72d292a9919e81f2fa9e87d130b76766bc46ef75..489ca33050cbaf6750375e69fbb4d99951073bd6 100644 (file)
@@ -262,6 +262,8 @@ parse_symbolic_mode (mode, initial_bits)
              bits &= ~perm;
              break;
            case '=':
+             if (who == 0)
+               who = S_IRWXU | S_IRWXG | S_IRWXO;
              bits &= ~who;
              bits |= perm;
              break;
diff --git a/builtins/umask.def~ b/builtins/umask.def~
new file mode 100644 (file)
index 0000000..72d292a
--- /dev/null
@@ -0,0 +1,309 @@
+This file is umask.def, from which is created umask.c.
+It implements the builtin "umask" in Bash.
+
+Copyright (C) 1987-2004 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 2, 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; see the file COPYING.  If not, write to the Free Software
+Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA.
+
+$PRODUCES umask.c
+
+$BUILTIN umask
+$FUNCTION umask_builtin
+$SHORT_DOC umask [-p] [-S] [mode]
+The user file-creation mask is set to MODE.  If MODE is omitted, or if
+`-S' is supplied, the current value of the mask is printed.  The `-S'
+option makes the output symbolic; otherwise an octal number is output.
+If `-p' is supplied, and MODE is omitted, the output is in a form
+that may be used as input.  If MODE begins with a digit, it is
+interpreted as an octal number, otherwise it is a symbolic mode string
+like that accepted by chmod(1).
+$END
+
+#include <config.h>
+
+#include "../bashtypes.h"
+#include "filecntl.h"
+#if ! defined(_MINIX) && defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif
+
+#if defined (HAVE_UNISTD_H)
+#include <unistd.h>
+#endif
+
+#include <stdio.h>
+#include <chartypes.h>
+
+#include "../bashintl.h"
+
+#include "../shell.h"
+#include "posixstat.h"
+#include "common.h"
+#include "bashgetopt.h"
+
+#ifdef __LCC__
+#define mode_t int
+#endif
+
+/* **************************************************************** */
+/*                                                                  */
+/*                     UMASK Builtin and Helpers                    */
+/*                                                                  */
+/* **************************************************************** */
+
+static void print_symbolic_umask __P((mode_t));
+static int symbolic_umask __P((WORD_LIST *));
+
+/* Set or display the mask used by the system when creating files.  Flag
+   of -S means display the umask in a symbolic mode. */
+int
+umask_builtin (list)
+     WORD_LIST *list;
+{
+  int print_symbolically, opt, umask_value, pflag;
+  mode_t umask_arg;
+
+  print_symbolically = pflag = 0;
+  reset_internal_getopt ();
+  while ((opt = internal_getopt (list, "Sp")) != -1)
+    {
+      switch (opt)
+       {
+       case 'S':
+         print_symbolically++;
+         break;
+       case 'p':
+         pflag++;
+         break;
+       default:
+         builtin_usage ();
+         return (EX_USAGE);
+       }
+    }
+
+  list = loptend;
+
+  if (list)
+    {
+      if (DIGIT (*list->word->word))
+       {
+         umask_value = read_octal (list->word->word);
+
+         /* Note that other shells just let you set the umask to zero
+            by specifying a number out of range.  This is a problem
+            with those shells.  We don't change the umask if the input
+            is lousy. */
+         if (umask_value == -1)
+           {
+             sh_erange (list->word->word, _("octal number"));
+             return (EXECUTION_FAILURE);
+           }
+       }
+      else
+       {
+         umask_value = symbolic_umask (list);
+         if (umask_value == -1)
+           return (EXECUTION_FAILURE);
+       }
+      umask_arg = (mode_t)umask_value;
+      umask (umask_arg);
+      if (print_symbolically)
+       print_symbolic_umask (umask_arg);
+    }
+  else                         /* Display the UMASK for this user. */
+    {
+      umask_arg = umask (022);
+      umask (umask_arg);
+
+      if (pflag)
+       printf ("umask%s ", (print_symbolically ? " -S" : ""));
+      if (print_symbolically)
+       print_symbolic_umask (umask_arg);
+      else
+       printf ("%04lo\n", (unsigned long)umask_arg);
+    }
+
+  fflush (stdout);
+  return (EXECUTION_SUCCESS);
+}
+
+/* Print the umask in a symbolic form.  In the output, a letter is
+   printed if the corresponding bit is clear in the umask. */
+static void
+print_symbolic_umask (um)
+     mode_t um;
+{
+  char ubits[4], gbits[4], obits[4];           /* u=rwx,g=rwx,o=rwx */
+  int i;
+
+  i = 0;
+  if ((um & S_IRUSR) == 0)
+    ubits[i++] = 'r';
+  if ((um & S_IWUSR) == 0)
+    ubits[i++] = 'w';
+  if ((um & S_IXUSR) == 0)
+    ubits[i++] = 'x';
+  ubits[i] = '\0';
+
+  i = 0;
+  if ((um & S_IRGRP) == 0)
+    gbits[i++] = 'r';
+  if ((um & S_IWGRP) == 0)
+    gbits[i++] = 'w';
+  if ((um & S_IXGRP) == 0)
+    gbits[i++] = 'x';
+  gbits[i] = '\0';
+
+  i = 0;
+  if ((um & S_IROTH) == 0)
+    obits[i++] = 'r';
+  if ((um & S_IWOTH) == 0)
+    obits[i++] = 'w';
+  if ((um & S_IXOTH) == 0)
+    obits[i++] = 'x';
+  obits[i] = '\0';
+
+  printf ("u=%s,g=%s,o=%s\n", ubits, gbits, obits);
+}
+
+int
+parse_symbolic_mode (mode, initial_bits)
+     char *mode;
+     int initial_bits;
+{
+  int who, op, perm, bits, c;
+  char *s;
+
+  for (s = mode, bits = initial_bits;;)
+    {
+      who = op = perm = 0;
+
+      /* Parse the `who' portion of the symbolic mode clause. */
+      while (member (*s, "agou"))
+       {
+         switch (c = *s++)
+           {
+           case 'u':
+             who |= S_IRWXU;
+             continue;
+           case 'g':
+             who |= S_IRWXG;
+             continue;
+           case 'o':
+             who |= S_IRWXO;
+             continue;
+           case 'a':
+             who |= S_IRWXU | S_IRWXG | S_IRWXO;
+             continue;
+           default:
+             break;
+           }
+       }
+
+      /* The operation is now sitting in *s. */
+      op = *s++;
+      switch (op)
+       {
+       case '+':
+       case '-':
+       case '=':
+         break;
+       default:
+         builtin_error (_("`%c': invalid symbolic mode operator"), op);
+         return (-1);
+       }
+
+      /* Parse out the `perm' section of the symbolic mode clause. */
+      while (member (*s, "rwx"))
+       {
+         c = *s++;
+
+         switch (c)
+           {
+           case 'r':
+             perm |= S_IRUGO;
+             break;
+           case 'w':
+             perm |= S_IWUGO;
+             break;
+           case 'x':
+             perm |= S_IXUGO;
+             break;
+           }
+       }
+
+      /* Now perform the operation or return an error for a
+        bad permission string. */
+      if (!*s || *s == ',')
+       {
+         if (who)
+           perm &= who;
+
+         switch (op)
+           {
+           case '+':
+             bits |= perm;
+             break;
+           case '-':
+             bits &= ~perm;
+             break;
+           case '=':
+             bits &= ~who;
+             bits |= perm;
+             break;
+
+           /* No other values are possible. */
+           }
+
+         if (*s == '\0')
+           break;
+         else
+           s++;        /* skip past ',' */
+       }
+      else
+       {
+         builtin_error (_("`%c': invalid symbolic mode character"), *s);
+         return (-1);
+       }
+    }
+
+  return (bits);
+}
+
+/* Set the umask from a symbolic mode string similar to that accepted
+   by chmod.  If the -S argument is given, then print the umask in a
+   symbolic form. */
+static int
+symbolic_umask (list)
+     WORD_LIST *list;
+{
+  int um, bits;
+
+  /* Get the initial umask.  Don't change it yet. */
+  um = umask (022);
+  umask (um);
+
+  /* All work is done with the complement of the umask -- it's
+     more intuitive and easier to deal with.  It is complemented
+     again before being returned. */
+  bits = parse_symbolic_mode (list->word->word, ~um & 0777);
+  if (bits == -1)
+    return (-1);
+
+  um = ~bits & 0777;
+  return (um);
+}
index adfc91de67ab78fa282057e205a7c26777d75137..b5fb9d5657f1ea6f66e3f779bd8a03ff018ab431 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in for Bash 3.0, version 3.164, from autoconf version AC_ACVERSION.
+# From configure.in for Bash 3.0, version 3.165, from autoconf version AC_ACVERSION.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57 for bash 3.0-rc1.
+# Generated by GNU Autoconf 2.57 for bash 3.0-release.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='3.0-rc1'
-PACKAGE_STRING='bash 3.0-rc1'
+PACKAGE_VERSION='3.0-release'
+PACKAGE_STRING='bash 3.0-release'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 
 ac_unique_file="shell.h"
@@ -784,7 +784,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 3.0-rc1 to adapt to many kinds of systems.
+\`configure' configures bash 3.0-release to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -845,7 +845,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 3.0-rc1:";;
+     short | recursive ) echo "Configuration of bash 3.0-release:";;
    esac
   cat <<\_ACEOF
 
@@ -1000,7 +1000,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 3.0-rc1
+bash configure 3.0-release
 generated by GNU Autoconf 2.57
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
@@ -1015,7 +1015,7 @@ cat >&5 <<_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 3.0-rc1, which was
+It was created by bash $as_me 3.0-release, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   $ $0 $@
@@ -1384,7 +1384,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
 
 BASHVERS=3.0
-RELSTATUS=rc1
+RELSTATUS=release
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*)    DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -24610,7 +24610,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by bash $as_me 3.0-rc1, which was
+This file was extended by bash $as_me 3.0-release, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24673,7 +24673,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-bash config.status 3.0-rc1
+bash config.status 3.0-release
 configured by $0, generated by GNU Autoconf 2.57,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
index a15aad2503179ab69c8666d294abcfbf9e3c3c77..5bcfdf21d8eae64545f0306a6935d03e14fe22b4 100644 (file)
@@ -147,7 +147,7 @@ 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 2.05b:
+The following URLs tell how to get version 3.0:
 
 ftp://ftp.gnu.org/pub/gnu/bash/bash-3.0.tar.gz
 ftp://ftp.cwru.edu/pub/bash/bash-3.0.tar.gz
@@ -159,10 +159,10 @@ ftp://ftp.cwru.edu/pub/bash/bash-doc-3.0.tar.gz
 
 A4)  On what machines will bash run?
 
-Bash has been ported to nearly every version of UNIX.  All you
+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
+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.
@@ -195,11 +195,6 @@ part of their current release.
 Bash-2.05b and later versions should require no local Cygnus changes to
 build and run under CYGWIN.
 
-The Cygnus port works only on Intel machines.  There is a port of bash
-(I don't know which version) to the alpha/NT environment available from
-
-ftp://ftp.gnustep.org//pub/win32/bash-alpha-nt-1.01.tar.gz
-
 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
 
@@ -214,7 +209,7 @@ 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 has begun to work with bash-2.05, but I don't know the status.
+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.
@@ -797,7 +792,7 @@ Things bash has or uses that ksh88 does not:
        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
+       debugger support, including the `caller' builtin
        RETURN trap
        Timestamps in history entries
        {x..y} brace expansion
@@ -1758,7 +1753,7 @@ H3) What's coming in future versions?
 
 These are features I hope to include in a future version of bash.
 
-a better bash debugger (a minimally-tested version is included with bash-2.05b)
+Rocky Bernstein's bash debugger (support is included with bash-3.0)
 associative arrays
 co-processes, but with a new-style syntax that looks like function declaration
 
index 00fedc65c4f5cab3a92a2bc3dfd5c028e6cd12fa..daee51de8e284c875ede3551aeba466480531383 100644 (file)
@@ -64,8 +64,8 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
               function tracing (see the description of the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be option
               to the s\bse\bet\bt builtin below).
        -\b--\b-d\bdu\bum\bmp\bp-\b-p\bpo\bo-\b-s\bst\btr\bri\bin\bng\bgs\bs
-              Equivalent to -\b-D\bD, but the output is in the GNU _\bg_\be_\bt_\bt_\be_\bx_\bt p\bpo\bo  (por-
-              table object) file format.
+              Equivalent to -\b-D\bD, but the  output  is  in  the  GNU  _\bg_\be_\bt_\bt_\be_\bx_\bt  p\bpo\bo
+              (portable object) file format.
        -\b--\b-d\bdu\bum\bmp\bp-\b-s\bst\btr\bri\bin\bng\bgs\bs
               Equivalent to -\b-D\bD.
        -\b--\b-h\bhe\bel\blp\bp Display  a  usage  message  on standard output and exit success-
@@ -133,8 +133,8 @@ I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
 
        The following paragraphs describe how b\bba\bas\bsh\bh executes its startup  files.
        If  any  of  the files exist but cannot be read, b\bba\bas\bsh\bh reports an error.
-       Tildes are expanded in file names as described below under T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bn-\b-
-       s\bsi\bio\bon\bn in the E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN section.
+       Tildes are expanded in  file  names  as  described  below  under  T\bTi\bil\bld\bde\be
+       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn in the E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN section.
 
        When  b\bba\bas\bsh\bh is invoked as an interactive login shell, or as a non-inter-
        active shell with the -\b--\b-l\blo\bog\bgi\bin\bn option, it first reads and executes  com-
@@ -405,10 +405,10 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
               The  P\bPS\bS3\b3 prompt is then displayed and a line read from the stan-
               dard input.  If the line consists of a number  corresponding  to
               one  of  the  displayed  words, then the value of _\bn_\ba_\bm_\be is set to
-              that word.  If the line is empty, the words and prompt are  dis-
-              played again.  If EOF is read, the command completes.  Any other
-              value read causes _\bn_\ba_\bm_\be to be set to  null.   The  line  read  is
-              saved  in  the  variable R\bRE\bEP\bPL\bLY\bY.  The _\bl_\bi_\bs_\bt is executed after each
+              that word.  If the line is  empty,  the  words  and  prompt  are
+              displayed  again.   If  EOF is read, the command completes.  Any
+              other value read causes _\bn_\ba_\bm_\be to be set to null.  The  line  read
+              is saved in the variable R\bRE\bEP\bPL\bLY\bY.  The _\bl_\bi_\bs_\bt is executed after each
               selection until a b\bbr\bre\bea\bak\bk command is executed.  The exit status of
               s\bse\bel\ble\bec\bct\bt  is the exit status of the last command executed in _\bl_\bi_\bs_\bt,
               or zero if no commands were executed.
@@ -678,8 +678,8 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
 
        C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
               An  index  into $\b${\b{C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS}\b} of the word containing the current
-              cursor position.  This variable is available only in shell func-
-              tions  invoked  by  the  programmable completion facilities (see
+              cursor position.  This  variable  is  available  only  in  shell
+              functions invoked by the programmable completion facilities (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).
 
        C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE
@@ -1428,9 +1428,9 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        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\bS that is not I\bIF\bFS\bS white-
-       space,  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
+       I\bIF\bFS\bS whitespace character).  Any  character  in  I\bIF\bFS\bS  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
@@ -1543,8 +1543,8 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
        are processed in the order they appear, from left to right.
 
        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
+       ted,  and  the  first  character  of the redirection operator is <\b<, the
+       redirection 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).
 
@@ -1615,8 +1615,8 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
        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.
+       the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command  is  not  enabled,  the
+       redirection 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
@@ -1697,8 +1697,8 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
        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
+       digits  in  _\bw_\bo_\br_\bd  do  not  specify a file descriptor open for output, a
+       redirection 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.
 
@@ -2102,13 +2102,13 @@ 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
        A command invoked  in  this  separate  environment  cannot  affect  the
        shell's execution environment.
 
-       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
-       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.
+       Command  substitution,  commands  grouped  with  parentheses, and asyn-
+       chronous commands are invoked in  a  subshell  environment  that  is  a
+       duplicate  of  the  shell  environment, except that traps caught by the
+       shell are reset to the values that the shell inherited from its  parent
+       at invocation.  Builtin commands that are invoked as part of a pipeline
+       are also executed in a subshell environment.  Changes made to the  sub-
+       shell environment cannot affect the shell's execution environment.
 
        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.
@@ -2191,7 +2191,7 @@ S\bSI\bIG\bGN\bNA\bAL\bLS\bS
        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 for which a trap has been set, the trap will not be executed until
+       If  0for which a trap has been set, the trap will not be executed until
        the command completes.  When b\bba\bas\bsh\bh is waiting for an  asynchronous  com-
        mand  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
@@ -2301,8 +2301,8 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\A\bA     the current time in 24-hour HH:MM format
               \\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 + patchelvel (e.g., 2.00.0)
-              \\b\w\bw     the current working  directory,  with  $\b$H\bHO\bOM\bME\b abbreviated
+              \\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\bE abbreviated
                      with a tilde
               \\b\W\bW     the basename of the current working directory, with $\b$H\bHO\bOM\bME\bE
                      abbreviated with a tilde
@@ -2311,63 +2311,63 @@ 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\bt 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\b 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.
        By default, the line editing commands are similar to those of emacs.  A
-       vi-style  line  editing  interface is also available.  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\b options
+       vi-style line editing interface is also available.  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 (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 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
+       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
@@ -2375,19 +2375,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.
 
@@ -2398,15 +2398,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
@@ -2414,7 +2414,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
@@ -2425,7 +2425,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
@@ -2435,20 +2435,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
@@ -2458,37 +2458,37 @@ 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.
+       Except where noted, readline variables can take the values O\bOn\bn  or  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.
        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-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\bcommand.  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\b command.  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-
@@ -2496,111 +2496,111 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               v\bvi\bi.
        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\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
-              If set to o\bon\bn, the history code attempts to place  point  at  the
-              same  location  on each history line retrived 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 retrived  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\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_\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
+              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
               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, unless the leading `.' is supplied  by  the
+              This  variable,  when  set to O\bOn\bn, causes readline to match files
+              whose names begin with a  `.'  (hidden  files)  when  performing
+              filename  completion,  unless the leading `.' is supplied by the
               user in the filename to be completed.
        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.
        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.
+              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
+              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
+              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
+              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.
        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_\bd and
-                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bkeymaps 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_\b and
+                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\b keymaps  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
+                     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:
 
                      $\b$i\bif\bf Bash
@@ -2615,51 +2615,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
@@ -2675,11 +2675,11 @@ 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).
        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.
@@ -2687,128 +2687,128 @@ 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.
        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.
        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\bE\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history  expansion.
+              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\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\b above
+              Perform  alias expansion on the current line.  See A\bAL\bLI\bIA\bAS\bSE\bES\bS 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$F\bFC\bCE\bED\bDI\bIT\bT,
+              Invoke an editor on the current command line,  and  execute  the
+              result  as  shell  commands.   B\bBa\bas\bsh\bh  attempts to invoke $\b$F\bFC\bCE\bED\bDI\bIT\bT,
               $\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\breplace  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\b replace  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
@@ -2817,24 +2817,24 @@ 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.
        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.
@@ -2843,61 +2843,61 @@ 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
+              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.
        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)
@@ -2906,197 +2906,197 @@ 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.
        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.
        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
+              Print all of the readline key sequences bound to macros and  the
               strings they ouput.  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\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 a compspec has been  defined
+       First,  the command name is identified.  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
+       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.
 
-       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 filename expansion  pattern  to  the  -\b-G\bG
+       Any  completions  specified  by  a filename 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,  arithmetic expansion, and
-       pathname 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
+       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,  arithmetic  expansion,  and
+       pathname  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 com-
        pleted, 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  and  C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT  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
+       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 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.
 
@@ -3104,127 +3104,127 @@ 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.
 
 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
+       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 an inter-
-       active shell exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from  the  his-
+       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.  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\bE-\b-
+       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.  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\bE-\b-
        S\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), and r\bre\bea\bad\bd-\b-
        l\bli\bin\bne\be is being used, history substitutions are not immediately passed to
-       the shell parser.  Instead, the expanded  line  is  reloaded  into  the
+       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 sub-
        stitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for correc-
-       tion.  The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command may be used to  see
+       tion.   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\bbuiltin may be used to add commands to the end of  the  history
-       list  without  actually  executing them, so that they are available for
+       h\bhi\bis\bst\bto\bor\bry\b builtin  may be used to add commands to the end of 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).
 
    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-
+       An  event designator is a reference to a command line entry in the his-
        tory 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
+       !\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.
@@ -3232,21 +3232,21 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        !\b!_\bs_\bt_\br_\bi_\bn_\bg
               Refer to the most recent command 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-
+              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.
        ^\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
+              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).
        !\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)
@@ -3256,17 +3256,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.
@@ -3275,24 +3275,24 @@ 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
@@ -3300,44 +3300,44 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
        options.
        :\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 the 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,  if  _\bj_\bo_\bb_\bs_\bp_\be_\bc  was not found or started without job con-
+              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, if _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or started  without  job  con-
               trol.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bV]
@@ -3346,29 +3346,29 @@ 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-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-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-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
                      Read key bindings from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
@@ -3379,136 +3379,136 @@ 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
+                     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.
 
-              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
+              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 the shell is not executing
               a loop when b\bbr\bre\bea\bak\bk is executed.
 
        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\bcd\bd [-\b-L\bL|\b|-\b-P\bP] [_\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.  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
-              argument, and the directory change is successful,  the  absolute
+              lowed.   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
+              argument,  and  the directory change is successful, the absolute
               pathname of the new working directory is written to the standard
-              output.  The return value is true if the directory was  success-
+              output.   The return value is true if the directory was success-
               fully changed; false otherwise.
 
        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-
+              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\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\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
+              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
               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-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt]  [-\b-W\bW
+       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-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt] [-\b-W\bW
        _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [_\bn_\ba_\bm_\be ...]
-              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
+              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
               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  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\b and -\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\band -\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
+                              Tell readline that the compspec generates  file-
+                              names,  so  it can perform any filename-specific
+                              processing (like adding  a  slash  to  directory
                               names or suppressing 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.
               -\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
@@ -3516,7 +3516,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
@@ -3525,17 +3525,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.
@@ -3544,135 +3544,136 @@ 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-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The filename expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
+                      The  filename  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
                       generate the possible completions.
               -\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-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-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt  is  a pattern as used for filename 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.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for  filename  expansion.
+                      It  is  applied  to  the  list  of  possible completions
+                      generated 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.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
+                      _\bp_\br_\be_\bf_\bi_\bis 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.
 
-              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
+              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
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        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\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''
+              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''
               loop) is resumed.  The return value is 0 unless the shell is not
               executing a loop when c\bco\bon\bnt\bti\bin\bnu\bue\be is executed.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baf\bfF\bFi\bir\brt\btx\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baf\bfF\bFi\bir\brt\btx\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
-              display the attributes and values of  each  _\bn_\ba_\bm_\be.   When  -\b-p\b is
-              used,  additional  options  are ignored.  The -\b-F\bF option inhibits
-              the display of function definitions; only the function name  and
+              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, additional options are ignored.  The  -\b-F\bF  option  inhibits
+              the  display of function definitions; 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  displayed  as  well.   The -\b-F\bF option
-              implies -\b-f\bf.  The following options can be used to restrict  out-
-              put  to  variables with the specified attribute or to give vari-
+              using  s\bsh\bho\bop\bpt\bt,  the  source  file  name and line number where the
+              function is defined  are  displayed  as  well.   The  -\b-F\b option
+              implies  -\b-f\bf.  The following options can be used to restrict out-
+              put to variables with the specified attribute or to  give  vari-
               ables attributes:
               -\b-a\ba     Each _\bn_\ba_\bm_\be is an 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 )\b) is performed when the
+                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN )\b) is performed  when  the
                      variable is assigned a value.
               -\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
+              -\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 trap from the calling shell.  The trace
                      attribute has no special meaning for variables.
-              -\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
-              the  exception that +\b+a\ba may not be used to destroy an array vari-
-              able.  When used in a function, makes each _\bn_\ba_\bm_\be local,  as  with
-              the  l\blo\boc\bca\bal\bl  command.   If a variable name is followed by =_\bv_\ba_\bl_\bu_\be,
-              the value of the variable is set to _\bv_\ba_\bl_\bu_\be.  The return value  is
+              Using  `+'  instead of `-' turns off the attribute instead, with
+              the exception that +\b+a\ba may not be used to destroy an array  vari-
+              able.   When  used in a function, makes each _\bn_\ba_\bm_\be local, as with
+              the l\blo\boc\bca\bal\bl command.  If a variable name is  followed  by  =_\bv_\ba_\bl_\bu_\be,
+              the  value of the variable is set to _\bv_\ba_\bl_\bu_\be.  The return value is
               0 unless an invalid option is encountered, an attempt is made to
-              define a function using ``-f foo=bar'', an attempt  is  made  to
-              assign  a  value  to  a readonly variable, an attempt is made to
-              assign a value to an array variable without using  the  compound
-              assignment  syntax (see 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  read-
-              only  status for a readonly variable, an attempt is made to turn
+              define  a  function  using ``-f foo=bar'', an attempt is made to
+              assign a value to a readonly variable, an  attempt  is  made  to
+              assign  a  value to an array variable without using the compound
+              assignment syntax (see 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 read-
+              only 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-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\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 the -\b-h\bh option is given,  each  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  not
+              Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from  the  table  of
+              active  jobs.   If  the  -\b-h\bh option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not
               removed from the table, 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_\b is
-              present,  and  neither the -\b-a\ba nor the -\b-r\br option is supplied, the
-              _\bc_\bu_\br_\br_\be_\bn_\b_\bj_\bo_\bb is used.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the  -\b-a\b option
-              means  to  remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\b-
-              _\bs_\bp_\be_\bargument restricts operation to running jobs.   The  return
+              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_\b _\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_\b-
+              _\bs_\bp_\be_\b argument  restricts operation to running jobs.  The return
               value is 0 unless a _\bj_\bo_\bb_\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\b does  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\bdoes 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
@@ -3684,188 +3685,188 @@ 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\_\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 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)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\bad\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 arg 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 as the
-              zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd  cannot  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 can-
-              not be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any  redirections
-              take  effect  in  the current shell, and the return status is 0.
+              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 cannot 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  can-
+              not  be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections
+              take effect in the current shell, and the return  status  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-n\bnl\blr\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_\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
+              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
               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\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-
+              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-
               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\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
+              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
               _\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\b 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\bD 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
+              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 ?.
 
-              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
+              g\bge\bet\bto\bop\bpt\bts\bnormally 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\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-
+              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-
               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\bis 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\b is  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\b returns true if an option, specified or unspecified, is
+              g\bge\bet\bto\bop\bpt\bts\breturns 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]
-              For  each  _\bn_\ba_\bm_\be, the full file name of the command is determined
+              For each _\bn_\ba_\bm_\be, the full file name of the command  is  determined
               by searching the directories in $\b$P\bPA\bAT\bTH\bH and remembered.  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\br option causes
-              the  shell  to  forget  all remembered locations.  The -\b-d\bd option
+              the shell to forget all remembered  locations.   The  -\b-d\b 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_\bcorresponds is printed.  If  multiple  _\bn_\ba_\bm_\be  arguments  are
-              supplied  with  -\b-t\bt,  the  _\bn_\ba_\bm_\be is printed before the hashed full
+              If the -\b-t\bt option is supplied, the full pathname  to  which  each
+              _\bn_\ba_\bm_\b corresponds  is  printed.   If multiple _\bn_\ba_\bm_\be arguments 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 displayed in a for-
-              mat  that may be reused as input.  If no arguments are given, or
+              mat that may be reused as input.  If no arguments are given,  or
               if only -\b-l\bl is supplied, information about remembered commands is
-              printed.   The  return status is true unless a _\bn_\ba_\bm_\be is not found
+              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-s\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
-              structures  is printed.  The -\b-s\bs option restricts the information
-              displayed to a short usage synopsis.  The  return  status  is  0
+              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.  The -\b-s\bs option restricts the  information
+              displayed  to  a  short  usage synopsis.  The return status is 0
               unless no command matches _\bp_\ba_\bt_\bt_\be_\br_\bn.
 
        h\bhi\bis\bst\bto\bor\bry\by [\b[_\bn]\b]
@@ -3876,41 +3877,41 @@ 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
-              _\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
+              _\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
               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_\bs 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_\b 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 is set, the time stamp information associ-
-              ated  with  each  history  entry is written to the history file.
-              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 supplied as an argument to -\b-d\bd, or the  history
+              ated with each history entry is written  to  the  history  file.
+              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 supplied as an argument to -\b-d\bd, or the history
               expansion supplied as an argument to -\b-p\bp fails.
 
        j\bjo\bob\bbs\bs [-\b-l\bln\bnp\bpr\brs\bs] [ _\bj_\bo_\bb_\bs_\bp_\be_\bc ... ]
@@ -3918,144 +3919,144 @@ 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-p\bp     List only the process  ID  of  the  job's  process  group
+              -\b-p\bp     List  only  the  process  ID  of  the job's process group
                      leader.
-              -\b-n\bn     Display  information  only  about  jobs that have changed
-                     status since the user was last notified of their  status.
+              -\b-n\bn     Display information only about  jobs  that  have  changed
+                     status  since the user was last notified of their status.
               -\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_\bor _\ba_\br_\bg_\bs with the corresponding  process  group  ID,  and
+              _\bc_\bo_\bm_\bm_\ba_\bn_\b or  _\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\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
+              -\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
               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\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN).  If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt returns
+              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN).  If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\b 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\b is  used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
+              l\blo\boc\bca\bal\bis 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.
 
        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+_\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.
-              -\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.
 
-              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 _\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 _\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 for-
-              mat specifications, each of which causes printing  of  the  next
+              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 _\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  for-
+              mat  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) for-
-              mats, %\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,
+              mats,  %\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 escapes
-              beginning  with \\b\0\b0 may contain up to four digits), and %\b%q\bq causes
+              beginning with \\b\0\b0 may contain up to four digits), and %\b%q\b 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.
 
-              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] [_\bd_\bi_\br]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
-              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+_\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.
-              -\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.
               _\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-u\bu _\bf_\bd] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-d\bd
        _\bd_\be_\bl_\bi_\bm] [_\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
@@ -4063,98 +4064,98 @@ 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.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
                      waiting for a complete line of input.
               -\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.   This
-                     option  has  no  effect if r\bre\bea\bad\bd is not reading input from
+                     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.  This
+                     option has no effect if r\bre\bea\bad\bd is not  reading  input  from
                      the terminal or a pipe.
               -\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, or an invalid  file  descriptor  is
+              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, 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\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\b option
-              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
+              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 arrays.  If no
-              _\bn_\ba_\bm_\b 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  vari-
-              able  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
+              _\bn_\ba_\bm_\barguments 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 vari-
+              able 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 is not a func-
               tion.
 
        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\bCH\bHP\bP] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
-              Without options, the name and value of each shell  variable  are
-              displayed  in  a format that can be reused as input.  The output
-              is sorted according to the current  locale.   When  options  are
-              specified,  they  set  or unset shell attributes.  Any arguments
-              remaining after the options are processed are treated as  values
+              Without  options,  the name and value of each shell variable are
+              displayed in a format that can be reused as input.   The  output
+              is  sorted  according  to  the current locale.  When options are
+              specified, they set or unset shell  attributes.   Any  arguments
+              remaining  after the options are processed are treated as values
               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  mean-
+              $\b$2\b2,  .\b..\b..\b.   $\b$_\bn.   Options, if specified, have the following mean-
               ings:
-              -\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 _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              -\b-e\be      Exit immediately if a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd (see S\bSH\bHE\bEL\bLL\b 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\b keyword,
-                      part  of the test in an _\bi_\bf statement, part of a &\b&&\b& or |\b||\b|
+                      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 in an _\bi_\bf statement, part of a &\b&&\b& or  |\b||\b|
                       list, or if the command's return value is being inverted
-                      via  !\b!.   A  trap on E\bER\bRR\bR, if set, is executed before the
+                      via !\b!.  A trap on E\bER\bRR\bR, if set, is  executed  before  the
                       shell exits.
               -\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:
@@ -4162,7 +4163,7 @@ 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.
@@ -4178,8 +4179,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.
@@ -4193,12 +4194,12 @@ 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
+                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
                               operation differs from the POSIX 1003.2 standard
                               to match the standard (_\b`_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
@@ -4207,224 +4208,224 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       v\bvi\bi      Use a vi-style command line editing interface.
                       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
-                      variable, if it appears in the environment, is  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 supplied, these actions are taken and the
+              -\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
+                      variable,  if it appears in the environment, is 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 supplied, these actions are taken and  the
                       effective user id is set to the real user id.  If the -\b-p\bp
-                      option  is supplied at startup, the effective user id is
+                      option is supplied 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
+                      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 as an error when performing param-
-                      eter  expansion.   If expansion is attempted on an unset
+                      eter expansion.  If expansion is attempted on  an  unset
                       variable, 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  trap on D\bDE\bEB\bBU\bUG\bG is inherited by shell func-
+              -\b-T\bT      If set, any trap on D\bDE\bEB\bBU\bUG\bG is inherited  by  shell  func-
                       tions, command substitutions, and commands executed in a
-                      subshell  environment.   The  D\bDE\bEB\bBU\bUG\bG trap is normally not
+                      subshell environment.  The D\bDE\bEB\bBU\bUG\bG trap  is  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:
 
               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\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-
-                      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
+                      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\bLU\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
                       easy re-editing of multi-line commands.
-              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.
               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\bE shell
-                      variable cause words to be ignored when performing  word
+                      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
                       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\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
                       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\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\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-
@@ -4432,44 +4433,44 @@ 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
-              signal.   The  -\b-f\bf option says not to complain if this is a login
-              shell; just suspend anyway.  The return status is 0  unless  the
+              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              signal.  The -\b-f\bf option says not to complain if this is  a  login
+              shell;  just  suspend anyway.  The return status is 0 unless the
               shell is a login shell and -\b-f\bf is not supplied, 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
+              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.
 
-              Expressions  may  be  combined  using  the  following operators,
+              Expressions may  be  combined  using  the  following  operators,
               listed in decreasing order of precedence.
               !\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.
@@ -4486,109 +4487,109 @@ 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.  If  the
-                     first  argument  is  !\b!,  the value is the negation of the
-                     two-argument test using the second and  third  arguments.
+                     using  the first and third arguments as operands.  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.   Otherwise,  the  expression is false.
-                     The -\b-a\ba and -\b-o\bo operators are considered  binary  operators
+                     is  exactly )\b), the result is the one-argument test of the
+                     second argument.  Otherwise,  the  expression  is  false.
+                     The  -\b-a\ba  and -\b-o\bo operators are considered binary operators
                      in this case.
               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_\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 SIG 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 executed before  every
+              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
+              case  insensitive  and the SIG 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 executed 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_\bt command, 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\btg\bgl\blo\bob\bb  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 E\bER\bRR\bR,
-              the command _\ba_\br_\bg is executed whenever  a  simple  command  has  a
-              non-zero  exit status, subject to the following conditions.  The
-              E\bER\bRR\btrap 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\bl keyword,
+              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\btg\bgl\blo\bob\bb  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  E\bER\bRR\bR,
+              the  command  _\ba_\br_\bg  is  executed  whenever a simple command has a
+              non-zero exit status, subject to the following conditions.   The
+              E\bER\bRR\b 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\b keyword,
               part of the test in an _\bi_\bf statement, part of 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.   If  a
+              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.  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-
               ishes executing.  Signals ignored upon entry to the shell cannot
-              be trapped or reset.  Trapped signals are reset to their  origi-
-              nal  values  in  a child process when it is created.  The return
-              status is false  if  any  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  invalid;  otherwise  t\btr\bra\bap\bp
+              be  trapped or reset.  Trapped signals are reset to their origi-
+              nal values in a child process when it 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
               any of the arguments are found, false if none are found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-S\bSH\bHa\bac\bcd\bdf\bfl\blm\bmn\bnp\bps\bst\btu\buv\bv [_\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  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 specified,  both  the  soft
-              and  hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt can be a number in
+              for  the  given resource.  A hard limit cannot be increased 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 specified, 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_\b 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
+              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_\bis 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 interpreted as fol-
               lows:
               -\b-a\ba     All current limits are reported
@@ -4602,63 +4603,63 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-p\bp     The pipe size in 512-byte blocks (this may not be set)
               -\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
 
               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-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
+              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-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
+              refers to a shell variable.   Read-only  variables  may  not  be
               unset.  If -\b-f\bf is specifed, each _\bn_\ba_\bm_\be refers to a shell function,
-              and  the function definition is removed.  Each unset variable or
-              function is removed from the environment  passed  to  subsequent
+              and the function definition is removed.  Each unset variable  or
+              function  is  removed  from the environment passed to subsequent
               commands.  If any of 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  proper-
-              ties,  even  if they are subsequently reset.  The exit status is
+              G\bGR\bRO\bOU\bUP\bPS\bS,  or  D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are unset, they lose their special proper-
+              ties, 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]
-              Wait for the specified process and return its  termination  sta-
-              tus.   _\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 processes
+              Wait  for  the specified process and return its termination sta-
+              tus.  _\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  processes
               are waited for, and the return status is zero.  If _\bn specifies a
-              non-existent  process  or job, the return status is 127.  Other-
-              wise, the return status is the exit status of the  last  process
+              non-existent process or job, the return status is  127.   Other-
+              wise,  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
@@ -4667,28 +4668,28 @@ 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-
-              ion operators
+       +\bo      redirecting  output using the >, >|, <>, >&, &>, and >> redirec-
+              tion operators
 
        +\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
@@ -4698,14 +4699,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)
@@ -4721,7 +4722,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
@@ -4735,14 +4736,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/_\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:
@@ -4753,7 +4754,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
@@ -4770,11 +4771,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
-       unit.
+       handled  gracefully  when process suspension is attempted.  When a pro-
+       cess is stopped, the shell immediately executes the next command in the
+       sequence.  It suffices to place the sequence of commands between paren-
+       theses to force it into a subshell, which may be stopped as a unit.
 
        Commands inside of $\b$(\b(...)\b) command substitution  are  not  parsed  until
        substitution  is attempted.  This will delay error reporting until some
index a0c72ced5fdb1bcfd63c0897ccc5f9a23763d8d3..21d0aba7841000989bf628840c8f4fef8cda7e40 100644 (file)
@@ -487,7 +487,6 @@ command:
 .if n ! case  do done elif else esac fi for function if in select then until while { } time [[ ]]
 .if t !    case    do    done    elif    else    esac    fi    for    function    if    in    select    then    until    while    {    }    time    [[    ]]
 .if t .RE
-.RE
 .SH "SHELL GRAMMAR"
 .SS Simple Commands
 .PP
@@ -4164,7 +4163,7 @@ the username of the current user
 the version of \fBbash\fP (e.g., 2.00)
 .TP
 .B \eV
-the release of \fBbash\fP, version + patchelvel (e.g., 2.00.0)
+the release of \fBbash\fP, version + patch level (e.g., 2.00.0)
 .TP
 .B \ew
 the current working directory, with \fB$HOME\fP abbreviated with a tilde
diff --git a/flags.c b/flags.c
index d988de920c6ce0ea855446d295137b4a7360c4d1..0c0868bcf6c7d264db219db953818a8837a0e581 100644 (file)
--- a/flags.c
+++ b/flags.c
@@ -40,6 +40,8 @@ extern int set_job_control __P((int));
 extern char *shell_name;
 #endif
 
+extern int shell_initialized;
+
 /* -c, -s invocation options -- not really flags, but they show up in $- */
 extern int want_pending_command, read_from_stdin;
 
@@ -280,7 +282,7 @@ change_flag (flag, on_or_off)
 
 #if defined (RESTRICTED_SHELL)
     case 'r':
-      if (on_or_off == FLAG_ON)
+      if (on_or_off == FLAG_ON && shell_initialized)
        maybe_make_restricted (shell_name);
       break;
 #endif
diff --git a/flags.c~ b/flags.c~
new file mode 100644 (file)
index 0000000..77d9919
--- /dev/null
+++ b/flags.c~
@@ -0,0 +1,355 @@
+/* flags.c -- Everything about flags except the `set' command.  That
+   is in builtins.c */
+
+/* Copyright (C) 1987,1989 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 2, 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; see the file COPYING.  If not, write to the Free Software
+Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+
+/* Flags hacking. */
+#include "config.h"
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "shell.h"
+#include "flags.h"
+
+#if defined (BANG_HISTORY)
+#  include "bashhist.h"
+#endif
+
+#if defined (JOB_CONTROL)
+extern int set_job_control __P((int));
+#endif
+
+#if defined (RESTRICTED_SHELL)
+extern char *shell_name;
+#endif
+
+extern int shell_intialized;
+
+/* -c, -s invocation options -- not really flags, but they show up in $- */
+extern int want_pending_command, read_from_stdin;
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     The Standard Sh Flags.                      */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Non-zero means automatically mark variables which are modified or created
+   as auto export variables. */
+int mark_modified_vars = 0;
+
+/* Non-zero causes asynchronous job notification.  Otherwise, job state
+   notification only takes place just before a primary prompt is printed. */
+int asynchronous_notification = 0;
+
+/* Non-zero means exit immediately if a command exits with a non-zero
+   exit status. */
+int exit_immediately_on_error = 0;
+
+/* Non-zero means disable filename globbing. */
+int disallow_filename_globbing = 0;
+
+/* Non-zero means that all keyword arguments are placed into the environment
+   for a command, not just those that appear on the line before the command
+   name. */
+int place_keywords_in_env = 0;
+
+/* Non-zero means read commands, but don't execute them.  This is useful
+   for debugging shell scripts that should do something hairy and possibly
+   destructive. */
+int read_but_dont_execute = 0;
+
+/* Non-zero means end of file is after one command. */
+int just_one_command = 0;
+
+/* Non-zero means don't overwrite existing files while doing redirections. */
+int noclobber = 0;
+
+/* Non-zero means trying to get the value of $i where $i is undefined
+   causes an error, instead of a null substitution. */
+int unbound_vars_is_error = 0;
+
+/* Non-zero means type out input lines after you read them. */
+int echo_input_at_read = 0;
+
+/* Non-zero means type out the command definition after reading, but
+   before executing. */
+int echo_command_at_execute = 0;
+
+/* Non-zero means turn on the job control features. */
+int jobs_m_flag = 0;
+
+/* Non-zero means this shell is interactive, even if running under a
+   pipe. */
+int forced_interactive = 0;
+
+/* By default, follow the symbolic links as if they were real directories
+   while hacking the `cd' command.  This means that `cd ..' moves up in
+   the string of symbolic links that make up the current directory, instead
+   of the absolute directory.  The shell variable `nolinks' also controls
+   this flag. */
+int no_symbolic_links = 0;
+
+/* **************************************************************** */
+/*                                                                 */
+/*                  Non-Standard Flags Follow Here.                */
+/*                                                                 */
+/* **************************************************************** */
+
+#if 0
+/* Non-zero means do lexical scoping in the body of a FOR command. */
+int lexical_scoping = 0;
+#endif
+
+/* Non-zero means no such thing as invisible variables. */
+int no_invisible_vars = 0;
+
+/* Non-zero means look up and remember command names in a hash table, */
+int hashing_enabled = 1;
+
+#if defined (BANG_HISTORY)
+/* Non-zero means that we are doing history expansion.  The default.
+   This means !22 gets the 22nd line of history. */
+int history_expansion = 1;
+#endif /* BANG_HISTORY */
+
+/* Non-zero means that we allow comments to appear in interactive commands. */
+int interactive_comments = 1;
+
+#if defined (RESTRICTED_SHELL)
+/* Non-zero means that this shell is `restricted'.  A restricted shell
+   disallows: changing directories, command or path names containing `/',
+   unsetting or resetting the values of $PATH and $SHELL, and any type of
+   output redirection. */
+int restricted = 0;            /* currently restricted */
+int restricted_shell = 0;      /* shell was started in restricted mode. */
+#endif /* RESTRICTED_SHELL */
+
+/* Non-zero means that this shell is running in `privileged' mode.  This
+   is required if the shell is to run setuid.  If the `-p' option is
+   not supplied at startup, and the real and effective uids or gids
+   differ, disable_priv_mode is called to relinquish setuid status. */
+int privileged_mode = 0;
+
+#if defined (BRACE_EXPANSION)
+/* Zero means to disable brace expansion: foo{a,b} -> fooa foob */
+int brace_expansion = 1;
+#endif
+
+/* Non-zero means that shell functions inherit the DEBUG trap. */
+int function_trace_mode = 0;
+
+/* Non-zero means that shell functions inherit the ERR trap. */
+int error_trace_mode = 0;
+
+/* Non-zero means that the rightmost non-zero exit status in a pipeline
+   is the exit status of the entire pipeline.  If each processes exits
+   with a 0 status, the status of the pipeline is 0. */
+int pipefail_opt = 0;
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     The Flags ALIST.                            */
+/*                                                                 */
+/* **************************************************************** */
+
+struct flags_alist shell_flags[] = {
+  /* Standard sh flags. */
+  { 'a', &mark_modified_vars },
+#if defined (JOB_CONTROL)
+  { 'b', &asynchronous_notification },
+#endif /* JOB_CONTROL */
+  { 'e', &exit_immediately_on_error },
+  { 'f', &disallow_filename_globbing },
+  { 'h', &hashing_enabled },
+  { 'i', &forced_interactive },
+  { 'k', &place_keywords_in_env },
+#if defined (JOB_CONTROL)
+  { 'm', &jobs_m_flag },
+#endif /* JOB_CONTROL */
+  { 'n', &read_but_dont_execute },
+  { 'p', &privileged_mode },
+#if defined (RESTRICTED_SHELL)
+  { 'r', &restricted },
+#endif /* RESTRICTED_SHELL */
+  { 't', &just_one_command },
+  { 'u', &unbound_vars_is_error },
+  { 'v', &echo_input_at_read },
+  { 'x', &echo_command_at_execute },
+
+  /* New flags that control non-standard things. */
+#if 0
+  { 'l', &lexical_scoping },
+#endif
+#if defined (BRACE_EXPANSION)
+  { 'B', &brace_expansion },
+#endif
+  { 'C', &noclobber },
+  { 'E', &error_trace_mode },
+#if defined (BANG_HISTORY)
+  { 'H', &history_expansion },
+#endif /* BANG_HISTORY */
+  { 'I', &no_invisible_vars },
+  { 'P', &no_symbolic_links },
+  { 'T', &function_trace_mode },
+  {0, (int *)NULL}
+};
+
+#define NUM_SHELL_FLAGS (sizeof (shell_flags) / sizeof (struct flags_alist))
+
+char optflags[NUM_SHELL_FLAGS+4] = { '+' };
+
+int *
+find_flag (name)
+     int name;
+{
+  int i;
+  for (i = 0; shell_flags[i].name; i++)
+    {
+      if (shell_flags[i].name == name)
+       return (shell_flags[i].value);
+    }
+  return (FLAG_UNKNOWN);
+}
+
+/* Change the state of a flag, and return it's original value, or return
+   FLAG_ERROR if there is no flag FLAG.  ON_OR_OFF must be either
+   FLAG_ON or FLAG_OFF. */
+int
+change_flag (flag, on_or_off)
+  int flag;
+  int on_or_off;
+{
+  int *value, old_value;
+
+#if defined (RESTRICTED_SHELL)
+  /* Don't allow "set +r" in a shell which is `restricted'. */
+  if (restricted && flag == 'r' && on_or_off == FLAG_OFF)
+    return (FLAG_ERROR);
+#endif /* RESTRICTED_SHELL */
+
+  value = find_flag (flag);
+
+  if ((value == (int *)FLAG_UNKNOWN) || (on_or_off != FLAG_ON && on_or_off != FLAG_OFF))
+    return (FLAG_ERROR);
+
+  old_value = *value;
+
+  *value = (on_or_off == FLAG_ON) ? 1 : 0;
+
+  /* Special cases for a few flags. */
+  switch (flag)
+    {
+#if defined (BANG_HISTORY)
+    case 'H':
+      if (on_or_off == FLAG_ON)
+       bash_initialize_history ();
+      break;
+#endif
+
+#if defined (JOB_CONTROL)
+    case 'm':
+      set_job_control (on_or_off == FLAG_ON);
+      break;
+#endif /* JOB_CONTROL */
+
+    case 'n':
+      if (interactive_shell)
+       read_but_dont_execute = 0;
+      break;
+
+    case 'p':
+      if (on_or_off == FLAG_OFF)
+       disable_priv_mode ();
+      break;
+
+#if defined (RESTRICTED_SHELL)
+    case 'r':
+      if (on_or_off == FLAG_ON && shell_initialized)
+       maybe_make_restricted (shell_name);
+      break;
+#endif
+
+    }
+
+  return (old_value);
+}
+
+/* Return a string which is the names of all the currently
+   set shell flags. */
+char *
+which_set_flags ()
+{
+  char *temp;
+  int i, string_index;
+
+  temp = (char *)xmalloc (1 + NUM_SHELL_FLAGS + read_from_stdin + want_pending_command);
+  for (i = string_index = 0; shell_flags[i].name; i++)
+    if (*(shell_flags[i].value))
+      temp[string_index++] = shell_flags[i].name;
+
+  if (want_pending_command)
+    temp[string_index++] = 'c';
+  if (read_from_stdin)
+    temp[string_index++] = 's';
+
+  temp[string_index] = '\0';
+  return (temp);
+}
+
+void
+reset_shell_flags ()
+{
+  mark_modified_vars = exit_immediately_on_error = disallow_filename_globbing = 0;
+  place_keywords_in_env = read_but_dont_execute = just_one_command = 0;
+  noclobber = unbound_vars_is_error = echo_input_at_read = 0;
+  echo_command_at_execute = jobs_m_flag = forced_interactive = 0;
+  no_symbolic_links = no_invisible_vars = privileged_mode = pipefail_opt = 0;
+
+  hashing_enabled = interactive_comments = 1;
+
+#if defined (JOB_CONTROL)
+  asynchronous_notification = 0;
+#endif
+
+#if defined (BANG_HISTORY)
+  history_expansion = 1;
+#endif
+
+#if defined (BRACE_EXPANSION)
+  brace_expansion = 1;
+#endif
+
+#if defined (RESTRICTED_SHELL)
+  restricted = 0;
+#endif
+}
+
+void
+initialize_flags ()
+{
+  register int i;
+
+  for (i = 0; shell_flags[i].name; i++)
+    optflags[i+1] = shell_flags[i].name;
+  optflags[++i] = 'o';
+  optflags[++i] = ';';
+  optflags[i+1] = '\0';
+}
index 443a7d092894c71b0c10ae8bf70e7746efc544df..044338e879b5cf43b2c261a2ebaab981d0a9f434 100644 (file)
@@ -212,6 +212,11 @@ rl_gather_tyi ()
       fcntl (tty, F_SETFL, tem);
       if (chars_avail == -1 && errno == EAGAIN)
        return 0;
+      if (chars_avail == 0)    /* EOF */
+       {
+         rl_stuff_char (EOF);
+         return (0);
+       }
     }
 #endif /* O_NDELAY */
 
index e9c060888fdd73ca087a337f035e54cc56c92dd1..222b317c4a8cb1ee93e3f1d66cac992dfe08ed65 100644 (file)
@@ -816,6 +816,12 @@ struct readline_state {
   int catchsigs;
   int catchsigwinch;
 
+  /* search state */
+
+  /* completion state */
+
+  /* options state */
+
   /* reserved for future expansion, so the struct size doesn't change */
   char reserved[64];
 };
index 7f0cfd9fb1bf05082a47879fdc67cd2e8181525d..74d8acbbc05ed830846bcfe7f33329d561e39f64 100644 (file)
@@ -784,7 +784,9 @@ rl_vi_put (count, key)
   if (!_rl_uppercase_p (key) && (rl_point + 1 <= rl_end))
     rl_point = _rl_find_next_mbchar (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
 
-  rl_yank (1, key);
+  while (count--)
+    rl_yank (1, key);
+
   rl_backward_char (1, key);
   return (0);
 }