]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
documentation updates; test suite updates to reduce extraneous diff output; don't...
authorChet Ramey <chet.ramey@case.edu>
Thu, 9 Jan 2025 21:13:16 +0000 (16:13 -0500)
committerChet Ramey <chet.ramey@case.edu>
Thu, 9 Jan 2025 21:13:16 +0000 (16:13 -0500)
35 files changed:
CHANGES
CHANGES-5.3
CWRU/CWRU.chlog
NEWS
NEWS-5.3
doc/bash.0
doc/bash.1
doc/bash.html
doc/bash.info
doc/bash.pdf
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.cp
doc/bashref.cps
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.texi
doc/bashref.toc
doc/builtins.0
doc/builtins.pdf
doc/version.texi
lib/readline/doc/history.3
lib/readline/doc/hstech.texi
lib/readline/doc/readline.3
lib/readline/doc/rltech.texi
lib/readline/doc/rluser.texi
lib/readline/doc/version.texi
shell.c
tests/printf.right
tests/printf.tests
tests/run-all
tests/run-minimal

diff --git a/CHANGES b/CHANGES
index 4b826d0a47375027e73b0a38472bf919a76a88e4..16cd0e3510cda76a48a5a1d1614961c38b01b754 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -152,7 +152,7 @@ l. There is a new `bash_source_fullpath' shopt option, which makes bash put
    at configure time.
 
 m. Posix mode now forces job notifications to occur when the new edition of
-   POSIX specifes (since it now specifies them).
+   POSIX specifies (since it now specifies them).
 
 n. Interactive shells don't print job notifications while sourcing scripts.
 
@@ -325,7 +325,7 @@ vv. Fixed a bug that caused unset not to remove a function named a[b] if
 ww. Posix mode doesn't perform function lookup for function names containing
     a slash.
 
-xx. <( and >( can now be used in funtion names.
+xx. <( and >( can now be used in function names.
 
 yy. Fixed a bug that caused tilde expansion not to be performed on some
     array subscripts.
@@ -451,7 +451,7 @@ oooo. If the cd builtin uses $OLDPWD, allow it to use $CDPATH if the user has
       set it to something that's not a full pathname.
 
 pppp. The test builtin only supports the optional argument to -t if parsing
-      an expression with more than four aguments and not in posix mode.
+      an expression with more than four arguments and not in posix mode.
 
 qqqq. Changes to filename quoting and rewriting to deal with NFC and NFD
       Unicode forms (primarily for macOS).
@@ -618,7 +618,7 @@ a. Fixed a bug in clearing the visible line structure before redisplay.
 b. Fix a bug where setlocale(3) returning NULL caused a crash.
 
 c. Fixed signal checking in callback mode to handle signals that arrive before
-   readline restore's the application's signal handlers.
+   readline restores the application's signal handlers.
 
 d. Fixed a bug with word completion where the directory name needs to be
    dequoted and tilde-expanded.
@@ -675,7 +675,7 @@ u. Call the filename rewrite hook on the word being completed before comparing
    strings.
 
 v. Fix infinite recursion that can happen if someone binds a key that doesn't
-   have a different upper and lower case represenation to do-lowercase-version.
+   have a different upper and lower case representation to do-lowercase-version.
 
 w. Check for non-ANSI (dumb) terminals a little more thoroughly.
 
@@ -718,12 +718,12 @@ j. `trap' has a new -P option that prints the trap action associated with each
    signal argument.
 
 k. The `command' builtin preceding a declaration builtin (e.g., `declare')
-   preserves the special asisgnment statement parsing for the declation
+   preserves the special assignment statement parsing for the declation
    builtin. This is a new POSIX requirement.
 
 l. `printf' uses the `alternate form' for %q and %Q to force single quoting.
 
-m. `printf' now interprets %ls (%S) and %lc (%C)nas referring to wide strings
+m. `printf' now interprets %ls (%S) and %lc (%C) as referring to wide strings
    and characters, respectively, when in a multibyte locale.
 
 n. The shell can be compiled with a different default value for the
@@ -817,6 +817,8 @@ i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
    case, anything bound to quoted-insert) to quote characters in the search
    string.
 
+j. There is a new rl_print_keybinding function that prints the key bindings
+   for a single bindable function specified by name.
 ------------------------------------------------------------------------------
 This document details the changes between this version, bash-5.2-release, and
 the previous version, bash-5.2-rc4.
index 286c9ff9b366a51bf651aa2da749ab3c22037028..806be742cb156fb31fa940a4f7ed5a8fa8692e21 100644 (file)
@@ -152,7 +152,7 @@ l. There is a new `bash_source_fullpath' shopt option, which makes bash put
    at configure time.
 
 m. Posix mode now forces job notifications to occur when the new edition of
-   POSIX specifes (since it now specifies them).
+   POSIX specifies (since it now specifies them).
 
 n. Interactive shells don't print job notifications while sourcing scripts.
 
@@ -325,7 +325,7 @@ vv. Fixed a bug that caused unset not to remove a function named a[b] if
 ww. Posix mode doesn't perform function lookup for function names containing
     a slash.
 
-xx. <( and >( can now be used in funtion names.
+xx. <( and >( can now be used in function names.
 
 yy. Fixed a bug that caused tilde expansion not to be performed on some
     array subscripts.
@@ -451,7 +451,7 @@ oooo. If the cd builtin uses $OLDPWD, allow it to use $CDPATH if the user has
       set it to something that's not a full pathname.
 
 pppp. The test builtin only supports the optional argument to -t if parsing
-      an expression with more than four aguments and not in posix mode.
+      an expression with more than four arguments and not in posix mode.
 
 qqqq. Changes to filename quoting and rewriting to deal with NFC and NFD
       Unicode forms (primarily for macOS).
@@ -618,7 +618,7 @@ a. Fixed a bug in clearing the visible line structure before redisplay.
 b. Fix a bug where setlocale(3) returning NULL caused a crash.
 
 c. Fixed signal checking in callback mode to handle signals that arrive before
-   readline restore's the application's signal handlers.
+   readline restores the application's signal handlers.
 
 d. Fixed a bug with word completion where the directory name needs to be
    dequoted and tilde-expanded.
@@ -675,7 +675,7 @@ u. Call the filename rewrite hook on the word being completed before comparing
    strings.
 
 v. Fix infinite recursion that can happen if someone binds a key that doesn't
-   have a different upper and lower case represenation to do-lowercase-version.
+   have a different upper and lower case representation to do-lowercase-version.
 
 w. Check for non-ANSI (dumb) terminals a little more thoroughly.
 
@@ -718,12 +718,12 @@ j. `trap' has a new -P option that prints the trap action associated with each
    signal argument.
 
 k. The `command' builtin preceding a declaration builtin (e.g., `declare')
-   preserves the special asisgnment statement parsing for the declation
+   preserves the special asisgnment statement parsing for the declaration
    builtin. This is a new POSIX requirement.
 
 l. `printf' uses the `alternate form' for %q and %Q to force single quoting.
 
-m. `printf' now interprets %ls (%S) and %lc (%C)nas referring to wide strings
+m. `printf' now interprets %ls (%S) and %lc (%C) as referring to wide strings
    and characters, respectively, when in a multibyte locale.
 
 n. The shell can be compiled with a different default value for the
@@ -816,3 +816,6 @@ h. execute-named-command: a new bindable command that reads the name of a
 i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
    case, anything bound to quoted-insert) to quote characters in the search
    string.
+
+j. There is a new rl_print_keybinding function that prints the key bindings
+   for a single bindable function specified by name.
index 20d8bb3292aa5bd3513890202d0f6c16b7f64d69..d5c1792e5060ce88f51975e4b7e360b3358636b1 100644 (file)
@@ -10790,3 +10790,9 @@ lib/readline/util.c
 
 tests/printf7.sub,tests/cond-regexp2.sub
        - accommodate different error messages across different systems
+
+                                1/2/2025
+                                --------
+tests/run-all, tests/run-minimal
+       - BASHOPTS: unset or unexport as appropriate, same as SHELLOPTS
+         From a report by Martin D Kealey <martin@kurahaupo.gen.nz>
diff --git a/NEWS b/NEWS
index 3bd189d7b098955da1ceeb317cf730ad0d577d5f..41aecda29dd9b21a864df582ce87984a9d02c76b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -29,12 +29,12 @@ j. `trap' has a new -P option that prints the trap action associated with each
    signal argument.
 
 k. The `command' builtin preceding a declaration builtin (e.g., `declare')
-   preserves the special asisgnment statement parsing for the declation
+   preserves the special asisgnment statement parsing for the declaration
    builtin. This is a new POSIX requirement.
 
 l. `printf' uses the `alternate form' for %q and %Q to force single quoting.
 
-m. `printf' now interprets %ls (%S) and %lc (%C)nas referring to wide strings
+m. `printf' now interprets %ls (%S) and %lc (%C) as referring to wide strings
    and characters, respectively, when in a multibyte locale.
 
 n. The shell can be compiled with a different default value for the
@@ -129,7 +129,7 @@ pp. There is a new `bash_source_fullpath' shopt option, which makes bash put
     at configure time.
 
 qq. Posix mode now forces job notifications to occur when the new edition of
-    POSIX specifes (since it now specifies them).
+    POSIX specifies (since it now specifies them).
 
 rr. Interactive shells don't print job notifications while sourcing scripts.
 
@@ -175,16 +175,19 @@ i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
    case, anything bound to quoted-insert) to quote characters in the search
    string.
 
-j. Documentation has been significantly updated.
+j. There is a new rl_print_keybinding function that prints the key bindings
+   for a single bindable function specified by name.
 
-k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
+k. Documentation has been significantly updated.
+
+l. New `force-meta-prefix' bindable variable, which forces the use of ESC as
    the meta prefix when using "\M-" in key bindings instead of overloading
    convert-meta.
 
-l. The default value for `readline-colored-completion-prefix' no longer has a
+m. The default value for `readline-colored-completion-prefix' no longer has a
    leading `.'; the original report was based on a misunderstanding.
 
-m. There is a new bindable command, `export-completions', which writes the
+n. There is a new bindable command, `export-completions', which writes the
    possible completions for a word to the standard output in a defined format.
 
 -------------------------------------------------------------------------------
index 1d2f647d9d2410aafa9f68446cd7540d136dc446..f143571fed7a0e8d948661b2fefc46a6a8742a9a 100644 (file)
--- a/NEWS-5.3
+++ b/NEWS-5.3
@@ -29,12 +29,12 @@ j. `trap' has a new -P option that prints the trap action associated with each
    signal argument.
 
 k. The `command' builtin preceding a declaration builtin (e.g., `declare')
-   preserves the special asisgnment statement parsing for the declation
+   preserves the special asisgnment statement parsing for the declaration
    builtin. This is a new POSIX requirement.
 
 l. `printf' uses the `alternate form' for %q and %Q to force single quoting.
 
-m. `printf' now interprets %ls (%S) and %lc (%C)nas referring to wide strings
+m. `printf' now interprets %ls (%S) and %lc (%C) as referring to wide strings
    and characters, respectively, when in a multibyte locale.
 
 n. The shell can be compiled with a different default value for the
@@ -129,7 +129,7 @@ pp. There is a new `bash_source_fullpath' shopt option, which makes bash put
     at configure time.
 
 qq. Posix mode now forces job notifications to occur when the new edition of
-    POSIX specifes (since it now specifies them).
+    POSIX specifies (since it now specifies them).
 
 rr. Interactive shells don't print job notifications while sourcing scripts.
 
@@ -175,14 +175,17 @@ i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
    case, anything bound to quoted-insert) to quote characters in the search
    string.
 
-j. Documentation has been significantly updated.
+j. There is a new rl_print_keybinding function that prints the key bindings
+   for a single bindable function specified by name.
 
-k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
+k. Documentation has been significantly updated.
+
+l. New `force-meta-prefix' bindable variable, which forces the use of ESC as
    the meta prefix when using "\M-" in key bindings instead of overloading
    convert-meta.
 
-l. The default value for `readline-colored-completion-prefix' no longer has a
+m. The default value for `readline-colored-completion-prefix' no longer has a
    leading `.'; the original report was based on a misunderstanding.
 
-m. There is a new bindable command, `export-completions', which writes the
+n. There is a new bindable command, `export-completions', which writes the
    possible completions for a word to the standard output in a defined format.
index d8aa1ad21582868c0b0c49f0e9bf721ef26bdaaa..9cb764df99c8ec2722d663a4f5c39433ae6121a4 100644 (file)
@@ -7,29 +7,34 @@ S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
        b\bba\bas\bsh\bh [options] [command_string | file]
 
 C\bCO\bOP\bPY\bYR\bRI\bIG\bGH\bHT\bT
-       Bash is Copyright (C) 1989-2024 by the Free Software Foundation, Inc.
+       Bash is Copyright (C) 1989-2025 by the Free Software Foundation, Inc.
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-       B\bBa\bas\bsh\bh  is  an  s\bsh\bh-compatible  command language interpreter that executes
-       commands read from the standard input, from a string, or from  a  file.
-       B\bBa\bas\bsh\bh  also incorporates useful features from the _\bK_\bo_\br_\bn and _\bC shells (k\bks\bsh\bh
-       and c\bcs\bsh\bh).
-
-       POSIX is the name for a family of computing standards  based  on  Unix.
-       B\bBa\bas\bsh\bh  is  intended  to  be a conformant implementation of the Shell and
-       Utilities portion  of  the  IEEE  POSIX  specification  (IEEE  Standard
-       1003.1).  B\bBa\bas\bsh\bh can be configured to be POSIX-conformant by default.
+       B\bBa\bas\bsh\bh is a command language interpreter that executes commands read from
+       the standard input, from a string, or from a file.  It is a reimplemen-
+       tation  and  extension of the Bourne shell, the historical Unix command
+       language interpreter.  B\bBa\bas\bsh\bh also incorporates useful features from  the
+       _\bK_\bo_\br_\bn and _\bC shells (k\bks\bsh\bh and c\bcs\bsh\bh).
+
+       POSIX  is  the  name for a family of computing standards based on Unix.
+       B\bBa\bas\bsh\bh is intended to be a conformant implementation  of  the  Shell  and
+       Utilities  portion  of  the  IEEE  POSIX  specification  (IEEE Standard
+       1003.1).  B\bBa\bas\bsh\bh POSIX mode (hereafter referred to as _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be) changes
+       the shell's behavior where its default operation differs from the stan-
+       dard to strictly conform to the standard.  See S\bSE\bEE\bE  A\bAL\bLS\bSO\bO  below  for  a
+       reference  to a document that details how posix mode affects b\bba\bas\bsh\bh's be-
+       havior.  B\bBa\bas\bsh\bh can be configured to be POSIX-conformant by default.
 
 O\bOP\bPT\bTI\bIO\bON\bNS\bS
        All of the single-character shell options documented in the description
-       of  the  s\bse\bet\bt builtin command, including -\b-o\bo, can be used as options when
-       the shell is invoked.  In addition, b\bba\bas\bsh\bh interprets the  following  op-
+       of the s\bse\bet\bt builtin command, including -\b-o\bo, can be used as  options  when
+       the  shell  is invoked.  In addition, b\bba\bas\bsh\bh interprets the following op-
        tions when it is invoked:
 
-       -\b-c\bc        If  the -\b-c\bc option is present, then commands are read from the
+       -\b-c\bc        If the -\b-c\bc option is present, then commands are read from  the
                  first non-option argument _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b__\bs_\bt_\br_\bi_\bn_\bg.  If there are argu-
-                 ments after the _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b__\bs_\bt_\br_\bi_\bn_\bg, the  first  argument  is  as-
-                 signed  to $\b$0\b0 and any remaining arguments are assigned to the
+                 ments  after  the  _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b__\bs_\bt_\br_\bi_\bn_\bg,  the first argument is as-
+                 signed to $\b$0\b0 and any remaining arguments are assigned to  the
                  positional parameters.  The assignment to $\b$0\b0 sets the name of
                  the shell, which is used in warning and error messages.
 
@@ -38,72 +43,72 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
        -\b-l\bl        Make b\bba\bas\bsh\bh act as if it had been invoked as a login shell (see
                  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN below).
 
-       -\b-r\br        If the -\b-r\br option is present,  the  shell  becomes  _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd
+       -\b-r\br        If  the  -\b-r\br  option  is present, the shell becomes _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd
                  (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).
 
-       -\b-s\bs        If  the -\b-s\bs option is present, or if no arguments remain after
+       -\b-s\bs        If the -\b-s\bs option is present, or if no arguments remain  after
                  option processing, the shell reads commands from the standard
-                 input.  This option allows the positional  parameters  to  be
-                 set  when invoking an interactive shell or when reading input
+                 input.   This  option  allows the positional parameters to be
+                 set when invoking an interactive shell or when reading  input
                  through a pipe.
 
-       -\b-D\bD        Print a list of all double-quoted strings preceded  by  $\b on
-                 the  standard output.  These are the strings that are subject
-                 to language translation when the current locale is not  C\b or
-                 P\bPO\bOS\bSI\bIX\bX.   This implies the -\b-n\bn option; no commands will be exe-
+       -\b-D\bD        Print  a  list  of all double-quoted strings preceded by $\b$ on
+                 the standard output.  These are the strings that are  subject
+                 to  language  translation when the current locale is not C\bC or
+                 P\bPO\bOS\bSI\bIX\bX.  This implies the -\b-n\bn option; no commands will be  exe-
                  cuted.
 
        [\b[-\b-+\b+]\b]O\bO [\b[_\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn]\b]
-                 _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bis one of the  shell  options  accepted  by  the
-                 s\bsh\bho\bop\bpt\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).   If
+                 _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\b is  one  of  the  shell options accepted by the
+                 s\bsh\bho\bop\bpt\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).    If
                  _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn is present, -\b-O\bO sets the value of that option; +\b+O\bO
-                 unsets it.  If _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn is not supplied, b\bba\bas\bsh\bh prints  the
-                 names  and  values  of the shell options accepted by s\bsh\bho\bop\bpt\bt on
-                 the standard output.  If the invocation  option  is  +\b+O\bO,  the
+                 unsets  it.  If _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn is not supplied, b\bba\bas\bsh\bh prints the
+                 names and values of the shell options accepted  by  s\bsh\bho\bop\bpt\b on
+                 the  standard  output.   If  the invocation option is +\b+O\bO, the
                  output is displayed in a format that may be reused as input.
 
-       -\b--\b-        A  -\b--\b-  signals the end of options and disables further option
-                 processing.  Any arguments after the  -\b--\b-  are  treated  as  a
-                 shell  script  filename  (see  below) and arguments passed to
+       -\b--\b-        A -\b--\b- signals the end of options and disables  further  option
+                 processing.   Any  arguments  after  the  -\b--\b- are treated as a
+                 shell script filename (see below)  and  arguments  passed  to
                  that script.  An argument of -\b- is equivalent to -\b--\b-.
 
-       B\bBa\bas\bsh\balso interprets a number of multi-character  options.   These  op-
-       tions  must  appear on the command line before the single-character op-
+       B\bBa\bas\bsh\b also  interprets  a number of multi-character options.  These op-
+       tions must appear on the command line before the  single-character  op-
        tions to be recognized.
 
        -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br
               Arrange for the debugger profile to be executed before the shell
-              starts.  Turns on extended debugging mode (see  the  description
+              starts.   Turns  on extended debugging mode (see the description
               of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\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 "po"
+              Equivalent to -\b-D\bD, but the output is  in  the  GNU  _\bg_\be_\bt_\bt_\be_\bx_\b "po"
               (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-
+       -\b--\b-h\bhe\bel\blp\bp Display  a  usage  message  on standard output and exit success-
               fully.
 
        -\b--\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be _\bf_\bi_\bl_\be
        -\b--\b-r\brc\bcf\bfi\bil\ble\be _\bf_\bi_\bl_\be
               Execute commands from _\bf_\bi_\bl_\be instead of the standard personal ini-
-              tialization  file _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc if the shell is interactive (see I\bIN\bN-\b-
+              tialization file _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc if the shell is interactive (see  I\bIN\bN-\b-
               V\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN below).
 
        -\b--\b-l\blo\bog\bgi\bin\bn
               Equivalent to -\b-l\bl.
 
        -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg
-              Do not use the GNU r\bre\bea\bad\bdl\bli\bin\bne\be library to read command  lines  when
+              Do  not  use the GNU r\bre\bea\bad\bdl\bli\bin\bne\be library to read command lines when
               the shell is interactive.
 
        -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be
-              Do  not read either the system-wide startup file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be or
-              any  of  the  personal  initialization  files   _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bp_\br_\bo_\bf_\bi_\bl_\be,
-              _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bi_\bn,  or  _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be.   By  default,  b\bba\bas\bsh\bh reads these
-              files when it is invoked as a login shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\b be-
+              Do not read either the system-wide startup file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\b or
+              any   of  the  personal  initialization  files  _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bp_\br_\bo_\bf_\bi_\bl_\be,
+              _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bi_\bn, or _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be.   By  default,  b\bba\bas\bsh\bh  reads  these
+              files  when  it  is invoked as a login shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN be-
               low).
 
        -\b--\b-n\bno\bor\brc\bc Do  not  read  and  execute  the  personal  initialization  file
@@ -111,10 +116,8 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
               fault if the shell is invoked as s\bsh\bh.
 
        -\b--\b-p\bpo\bos\bsi\bix\bx
-              Change the behavior of b\bba\bas\bsh\bh where the default operation  differs
-              from the POSIX standard to match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See
-              S\bSE\bEE\bE  A\bAL\bLS\bSO\bO  below  for a reference to a document that details how
-              posix mode affects B\bBa\bas\bsh\bh's behavior.
+              Enable posix mode; change the behavior of b\bba\bas\bsh\bh where the default
+              operation differs from the POSIX standard to match the standard.
 
        -\b--\b-r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd
               The shell becomes restricted (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).
@@ -123,58 +126,58 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
               Equivalent to -\b-v\bv.
 
        -\b--\b-v\bve\ber\brs\bsi\bio\bon\bn
-              Show version information for this instance of b\bba\bas\bsh\bh on the  stan-
+              Show  version information for this instance of b\bba\bas\bsh\bh on the stan-
               dard output and exit successfully.
 
 A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bTS\bS
        If arguments remain after option processing, and neither the -\b-c\bc nor the
-       -\b-s\b option  has  been supplied, the first argument is assumed to be the
-       name of a file containing shell commands (a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt).  If b\bba\bas\bsh\bh  is
-       invoked in this fashion, $\b$0\b0 is set to the name of the file, and the po-
-       sitional parameters are set to the remaining arguments.  B\bBa\bas\bsh\bh reads and
-       executes  commands  from  this file, then exits.  B\bBa\bas\bsh\bh's exit status is
+       -\b-s\boption has been supplied, the first argument is treated as the  name
+       of a file containing shell commands (a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt).  When b\bba\bas\bsh\bh is in-
+       voked in this fashion, $\b$0\b0 is set to the name of the file, and the posi-
+       tional  parameters  are set to the remaining arguments.  B\bBa\bas\bsh\bh reads and
+       executes commands from this file, then exits.  B\bBa\bas\bsh\bh's  exit  status  is
        the exit status of the last command executed in the script.  If no com-
-       mands are executed, the exit status is 0.  Bash first attempts to  open
-       the  file  in  the  current  directory,  and, if no file is found, then
-       searches the directories in P\bPA\bAT\bTH\bH for the script.
+       mands  are executed, the exit status is 0.  B\bBa\bas\bsh\bh first attempts to open
+       the file in the current directory, and, if no file is  found,  searches
+       the directories in P\bPA\bAT\bTH\bH for the script.
 
 I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
-       A _\bl_\bo_\bg_\bi_\bn _\bs_\bh_\be_\bl_\bl is one whose first character of argument zero is a -\b-,  or
+       A  _\bl_\bo_\bg_\bi_\bn _\bs_\bh_\be_\bl_\bl is one whose first character of argument zero is a -\b-, or
        one started with the -\b--\b-l\blo\bog\bgi\bin\bn option.
 
-       An  _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bv_\be  shell is one started without non-option arguments (un-
-       less -\b-s\bs is specified) and without the -\b-c\bc option, whose  standard  input
-       and  standard  error  are both connected to terminals (as determined by
-       _\bi_\bs_\ba_\bt_\bt_\by(3)), or one started with the -\b-i\bi option.  B\bBa\bas\bsh\bh sets  P\bPS\bS1\b1  and  $\b$-\b-
-       includes  i\bi if the shell is interactive, so a shell script or a startup
+       An _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bv_\be _\bs_\bh_\be_\bl_\bl is one started without non-option  arguments  (un-
+       less -\b-s\bs is specified) and without the -\b-c\bc option, and whose standard in-
+       put  and  standard error are both connected to terminals (as determined
+       by _\bi_\bs_\ba_\bt_\bt_\by(3)), or one started with the -\b-i\bi option.  B\bBa\bas\bsh\bh sets P\bPS\bS1\b1 and $\b$-\b-
+       includes i\bi if the shell is interactive, so a shell script or a  startup
        file can test this state.
 
-       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 filenames as described below under T\bTi\bil\bld\bde\b E\bEx\bxp\bpa\ban\bn-\b-
+       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 filenames 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.
 
-       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-
-       mands  from  the file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be, if that file exists.  After reading
+       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-
+       mands from the file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be, if that file exists.   After  reading
        that file, it looks for _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bp_\br_\bo_\bf_\bi_\bl_\be, _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bi_\bn, and _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be,
-       in that order, and reads and executes commands from the first one  that
-       exists  and  is  readable.  The -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be option may be used when the
+       in  that order, and reads and executes commands from the first one that
+       exists and is readable.  The -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be option may be  used  when  the
        shell is started to inhibit this behavior.
 
        When an interactive login shell exits, or a non-interactive login shell
-       executes the e\bex\bxi\bit\bt builtin command, b\bba\bas\bsh\bh  reads  and  executes  commands
+       executes  the  e\bex\bxi\bit\bt  builtin  command, b\bba\bas\bsh\bh reads and executes commands
        from the file _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt, if it exists.
 
-       When  an  interactive  shell that is not a login shell is started, b\bba\bas\bsh\bh
-       reads and executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file  exists.   The
-       -\b--\b-n\bno\bor\brc\b option inhibits this behavior.  The -\b--\b-r\brc\bcf\bfi\bil\ble\be _\bf_\bi_\bl_\be option causes
+       When an interactive shell that is not a login shell  is  started,  b\bba\bas\bsh\bh
+       reads  and  executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file exists.  The
+       -\b--\b-n\bno\bor\brc\boption inhibits this behavior.  The -\b--\b-r\brc\bcf\bfi\bil\ble\be _\bf_\bi_\bl_\be option  causes
        b\bba\bas\bsh\bh to use _\bf_\bi_\bl_\be instead of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc.
 
-       When b\bba\bas\bsh\bh is started non-interactively, to run a shell script, for  ex-
-       ample,  it  looks for the variable B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV in the environment, expands
-       its value if it appears there, and uses the expanded value as the  name
-       of  a  file to read and execute.  B\bBa\bas\bsh\bh behaves as if the following com-
+       When  b\bba\bas\bsh\bh is started non-interactively, to run a shell script, for ex-
+       ample, it looks for the variable B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV in the  environment,  expands
+       its  value if it appears there, and uses the expanded value as the name
+       of a file to read and execute.  B\bBa\bas\bsh\bh behaves as if the  following  com-
        mand were executed:
 
               if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
@@ -182,60 +185,62 @@ I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
        but does not use the value of the P\bPA\bAT\bTH\bH variable to search for the file-
        name.
 
-       If b\bba\bas\bsh\bh is invoked with the name s\bsh\bh, it tries to mimic the startup  be-
-       havior  of historical versions of s\bsh\bh as closely as possible, while con-
-       forming to the POSIX standard as well.  When invoked as an  interactive
-       login  shell,  or  a  non-interactive shell with the -\b--\b-l\blo\bog\bgi\bin\bn option, it
-       first attempts to read  and  execute  commands  from  _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\b and
+       If  b\bba\bas\bsh\bh is invoked with the name s\bsh\bh, it tries to mimic the startup be-
+       havior of historical versions of s\bsh\bh as closely as possible, while  con-
+       forming  to the POSIX standard as well.  When invoked as an interactive
+       login shell, or a non-interactive shell with  the  -\b--\b-l\blo\bog\bgi\bin\bn  option,  it
+       first  attempts  to  read  and  execute  commands from _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be and
        _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be, in that order.  The -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be option inhibits this behav-
        ior.  When invoked as an interactive shell with the name s\bsh\bh, b\bba\bas\bsh\bh looks
-       for  the variable E\bEN\bNV\bV, expands its value if it is defined, and uses the
-       expanded value as the name of a file to  read  and  execute.   Since  a
-       shell  invoked as s\bsh\bh does not attempt to read and execute commands from
-       any other startup files, the -\b--\b-r\brc\bcf\bfi\bil\ble\be option has no effect.  A  non-in-
-       teractive  shell  invoked with the name s\bsh\bh does not attempt to read any
-       other startup files.  When invoked as s\bsh\bh, b\bba\bas\bsh\bh enters posix mode  after
-       reading the startup files.
-
-       When  b\bba\bas\bsh\bh  is  started in posix mode, as with the -\b--\b-p\bpo\bos\bsi\bix\bx command line
+       for the variable E\bEN\bNV\bV, expands its value if it is defined, and uses  the
+       expanded  value  as  the  name  of a file to read and execute.  Since a
+       shell invoked as s\bsh\bh does not attempt to read and execute commands  from
+       any  other startup files, the -\b--\b-r\brc\bcf\bfi\bil\ble\be option has no effect.  A non-in-
+       teractive shell invoked with the name s\bsh\bh does not attempt to  read  any
+       other startup files.
+
+       When  invoked  as  s\bsh\bh, b\bba\bas\bsh\bh enters posix mode after reading the startup
+       files.
+
+       When b\bba\bas\bsh\bh is started in posix mode, as with the  -\b--\b-p\bpo\bos\bsi\bix\bx  command  line
        option, it follows the POSIX standard for startup files.  In this mode,
-       interactive shells expand the E\bEN\bNV\bV variable and read  and  execute  com-
+       interactive  shells  expand  the E\bEN\bNV\bV variable and read and execute com-
        mands from the file whose name is the expanded value.  No other startup
        files are read.
 
        B\bBa\bas\bsh\bh attempts to determine when it is being run with its standard input
-       connected  to  a network connection, as when executed by the historical
-       and rarely-seen remote shell daemon, usually _\br_\bs_\bh_\bd, or the secure  shell
-       daemon  _\bs_\bs_\bh_\bd.   If b\bba\bas\bsh\bh determines it is being run non-interactively in
-       this fashion, it reads and executes commands from  _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc,  if  that
-       file  exists  and is readable.  B\bBa\bas\bsh\bh does not read this file if invoked
-       as s\bsh\bh.  The -\b--\b-n\bno\bor\brc\bc option inhibits this behavior, and the -\b--\b-r\brc\bcf\bfi\bil\ble\b op-
-       tion  makes b\bba\bas\bsh\bh use a different file instead of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, but neither
-       _\br_\bs_\bh_\bnor _\bs_\bs_\bh_\bd generally invoke the shell with those  options  or  allow
+       connected to a network connection, as when executed by  the  historical
+       and  rarely-seen remote shell daemon, usually _\br_\bs_\bh_\bd, or the secure shell
+       daemon _\bs_\bs_\bh_\bd.  If b\bba\bas\bsh\bh determines it is being run  non-interactively  in
+       this  fashion,  it  reads and executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that
+       file exists and is readable.  B\bBa\bas\bsh\bh does not read this file  if  invoked
+       as  s\bsh\bh.  The -\b--\b-n\bno\bor\brc\bc option inhibits this behavior, and the -\b--\b-r\brc\bcf\bfi\bil\ble\be op-
+       tion makes b\bba\bas\bsh\bh use a different file instead of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, but  neither
+       _\br_\bs_\bh_\b nor  _\bs_\bs_\bh_\bd  generally invoke the shell with those options or allow
        them to be specified.
 
        If the shell is started with the effective user (group) id not equal to
        the real user (group) id, and the -\b-p\bp option is not supplied, no startup
        files are read, shell functions are not inherited from the environment,
-       the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they ap-
-       pear in the environment, are ignored, and the effective user id is  set
-       to  the  real user id.  If the -\b-p\bp option is supplied at invocation, the
+       the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they  ap-
+       pear  in the environment, are ignored, and the effective user id is set
+       to the real user id.  If the -\b-p\bp option is supplied at  invocation,  the
        startup behavior is the same, but the effective user id is not reset.
 
 D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS
-       The following definitions are used throughout the rest  of  this  docu-
+       The  following  definitions  are used throughout the rest of this docu-
        ment.
        b\bbl\bla\ban\bnk\bk  A space or tab.
        w\bwh\bhi\bit\bte\bes\bsp\bpa\bac\bce\be
-              A  character  belonging to the s\bsp\bpa\bac\bce\be character class in the cur-
+              A character belonging to the s\bsp\bpa\bac\bce\be character class in  the  cur-
               rent locale, or for which _\bi_\bs_\bs_\bp_\ba_\bc_\be(3) returns true.
-       w\bwo\bor\brd\bd   A sequence of characters considered as  a  single  unit  by  the
+       w\bwo\bor\brd\bd   A  sequence  of  characters  considered  as a single unit by the
               shell.  Also known as a t\bto\bok\bke\ben\bn.
-       n\bna\bam\bme\be   A  _\bw_\bo_\br_\bd  consisting  only  of alphanumeric characters and under-
-              scores, and beginning with an alphabetic character or an  under-
+       n\bna\bam\bme\be   A _\bw_\bo_\br_\bd consisting only of  alphanumeric  characters  and  under-
+              scores,  and beginning with an alphabetic character or an under-
               score.  Also referred to as an i\bid\bde\ben\bnt\bti\bif\bfi\bie\ber\br.
        m\bme\bet\bta\bac\bch\bha\bar\bra\bac\bct\bte\ber\br
-              A  character  that,  when unquoted, separates words.  One of the
+              A character that, when unquoted, separates words.   One  of  the
               following:
               |\b|  &\b& ;\b; (\b( )\b) <\b< >\b> s\bsp\bpa\bac\bce\be t\bta\bab\bb n\bne\bew\bwl\bli\bin\bne\be
        c\bco\bon\bnt\btr\bro\bol\bl o\bop\bpe\ber\bra\bat\bto\bor\br
@@ -246,204 +251,204 @@ D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS
 R\bRE\bES\bSE\bER\bRV\bVE\bED\bD W\bWO\bOR\bRD\bDS\bS
        _\bR_\be_\bs_\be_\br_\bv_\be_\bd _\bw_\bo_\br_\bd_\bs are words that have a special meaning to the shell.  The
        following words are recognized as reserved when unquoted and either the
-       first word of a command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR below), the third word of  a
-       c\bca\bas\bse\b or  s\bse\bel\ble\bec\bct\bt command (only i\bin\bn is valid), or the third word of a f\bfo\bor\br
+       first  word of a command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR below), the third word of a
+       c\bca\bas\bse\bor s\bse\bel\ble\bec\bct\bt command (only i\bin\bn is valid), or the third word of  a  f\bfo\bor\br
        command (only i\bin\bn and d\bdo\bo are valid):
 
-       !\bc\bca\bas\bse\be  c\bco\bop\bpr\bro\boc\bc  d\bdo\bo d\bdo\bon\bne\be e\bel\bli\bif\bf e\bel\bls\bse\be e\bes\bsa\bac\bc f\bfi\bi f\bfo\bor\br  f\bfu\bun\bnc\bct\bti\bio\bon\bn  i\bif\bf  i\bin\b s\bse\bel\ble\bec\bct\bt
+       !\b c\bca\bas\bse\be   c\bco\bop\bpr\bro\boc\bc   d\bdo\bo  d\bdo\bon\bne\be e\bel\bli\bif\bf e\bel\bls\bse\be e\bes\bsa\bac\bc f\bfi\bi f\bfo\bor\br f\bfu\bun\bnc\bct\bti\bio\bon\bn i\bif\bf i\bin\bn s\bse\bel\ble\bec\bct\bt
        t\bth\bhe\ben\bn u\bun\bnt\bti\bil\bl w\bwh\bhi\bil\ble\be {\b{ }\b} t\bti\bim\bme\be [\b[[\b[ ]\b]]\b]
 
 S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-       This  section  describes  the syntax of the various forms of shell com-
+       This section describes the syntax of the various forms  of  shell  com-
        mands.
 
    S\bSi\bim\bmp\bpl\ble\be C\bCo\bom\bmm\bma\ban\bnd\bds\bs
-       A _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a sequence of optional  variable  assignments  fol-
-       lowed  by  b\bbl\bla\ban\bnk\bk-separated  words and redirections, and terminated by a
+       A  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  is a sequence of optional variable assignments fol-
+       lowed by b\bbl\bla\ban\bnk\bk-separated words and redirections, and  terminated  by  a
        _\bc_\bo_\bn_\bt_\br_\bo_\bl _\bo_\bp_\be_\br_\ba_\bt_\bo_\br.  The first word specifies the command to be executed,
-       and is passed as argument zero.  The remaining words are passed as  ar-
+       and  is passed as argument zero.  The remaining words are passed as ar-
        guments to the invoked command.
 
-       The  return  value  of a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd is its exit status, or 128+_\bn if
+       The return value of a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd is its exit status,  or  128+_\b if
        the command is terminated by signal _\bn.
 
    P\bPi\bip\bpe\bel\bli\bin\bne\bes\bs
-       A _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be is a sequence of one or more commands separated  by  one  of
+       A  _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be  is  a sequence of one or more commands separated by one of
        the control operators |\b| or |\b|&\b&.  The format for a pipeline is:
 
               [t\bti\bim\bme\be [-\b-p\bp]] [ ! ] _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 [ [|\b|||\b|&\b&] _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2 ... ]
 
        The standard output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 is connected via a pipe to the standard
-       input  of  _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2.   This connection is performed before any redirec-
-       tions specified by the _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1(see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below).  If |\b|&\b&  is  the
-       pipeline  operator, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1's standard error, in addition to its stan-
-       dard output, is connected to  _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2's  standard  input  through  the
-       pipe;  it  is  shorthand  for 2\b2>\b>&\b&1\b1 |\b|.  This implicit redirection of the
-       standard error to the standard output is performed after  any  redirec-
+       input of _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2.  This connection is performed  before  any  redirec-
+       tions  specified  by the _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1(see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below).  If |\b|&\b& is the
+       pipeline operator, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1's standard error, in addition to its  stan-
+       dard  output,  is  connected  to  _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2's standard input through the
+       pipe; it is shorthand for 2\b2>\b>&\b&1\b1 |\b|.  This  implicit  redirection  of  the
+       standard  error  to the standard output is performed after any redirec-
        tions specified by _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1.
 
        The return status of a pipeline is the exit status of the last command,
-       unless  the  p\bpi\bip\bpe\bef\bfa\bai\bil\bl  option  is enabled.  If p\bpi\bip\bpe\bef\bfa\bai\bil\bl is enabled, the
-       pipeline's return status is the value of the last  (rightmost)  command
-       to  exit  with a non-zero status, or zero if all commands exit success-
+       unless the p\bpi\bip\bpe\bef\bfa\bai\bil\bl option is enabled.  If  p\bpi\bip\bpe\bef\bfa\bai\bil\bl  is  enabled,  the
+       pipeline's  return  status is the value of the last (rightmost) command
+       to exit with a non-zero status, or zero if all commands  exit  success-
        fully.  If the reserved word !\b!  precedes a pipeline, the exit status of
-       that pipeline is the logical negation of the exit status  as  described
-       above.   If  a  pipeline is executed synchronously, the shell waits for
+       that  pipeline  is the logical negation of the exit status as described
+       above.  If a pipeline is executed synchronously, the  shell  waits  for
        all commands in the pipeline to terminate before returning a value.
 
-       If the t\bti\bim\bme\be reserved word precedes a pipeline, the  shell  reports  the
-       elapsed  as well as user and system time consumed by its execution when
-       the pipeline terminates.  The -\b-p\bp option changes the  output  format  to
-       that  specified by POSIX.  When the shell is in posix mode, it does not
-       recognize t\bti\bim\bme\be as a reserved word if the next token begins with a  "-".
-       The  value of the T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is a format string that specifies
-       how the timing information should be displayed; see the description  of
+       If  the  t\bti\bim\bme\be  reserved word precedes a pipeline, the shell reports the
+       elapsed as well as user and system time consumed by its execution  when
+       the  pipeline  terminates.   The -\b-p\bp option changes the output format to
+       that specified by POSIX.  When the shell is in posix mode, it does  not
+       recognize  t\bti\bim\bme\be as a reserved word if the next token begins with a "-".
+       The value of the T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is a format string that  specifies
+       how  the timing information should be displayed; see the description of
        T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT below under S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.
 
-       When  the shell is in posix mode, t\bti\bim\bme\be may appear by itself as the only
-       word in a simple command.  In this case, the shell displays  the  total
+       When the shell is in posix mode, t\bti\bim\bme\be may appear by itself as the  only
+       word  in  a simple command.  In this case, the shell displays the total
        user and system time consumed by the shell and its children.  The T\bTI\bIM\bME\bE-\b-
        F\bFO\bOR\bRM\bMA\bAT\bT variable specifies the format of the time information.
 
-       Each  command  in a multi-command pipeline, where pipes are created, is
-       executed in a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl, which is a separate process.  See C\bCO\bOM\bMM\bMA\bAN\bND\b E\bEX\bXE\bE-\b-
-       C\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT for a description of subshells and a subshell envi-
-       ronment.  If the l\bla\bas\bst\btp\bpi\bip\bpe\be option is enabled  using  the  s\bsh\bho\bop\bpt\b builtin
-       (see  the  description  of s\bsh\bho\bop\bpt\bt below), and job control is not active,
+       Each command in a multi-command pipeline, where pipes are  created,  is
+       executed  in a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl, which is a separate process.  See C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bE-\b-
+       C\bCU\bUT\bTI\bIO\bON\bE\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT for a description of subshells and a subshell  envi-
+       ronment.   If  the  l\bla\bas\bst\btp\bpi\bip\bpe\be  option is enabled using the s\bsh\bho\bop\bpt\bt builtin
+       (see the description of s\bsh\bho\bop\bpt\bt below), and job control  is  not  active,
        the last element of a pipeline may be run by the shell process.
 
    L\bLi\bis\bst\bts\bs
-       A _\bl_\bi_\bs_\bt is a sequence of one or more pipelines separated by one  of  the
+       A  _\bl_\bi_\bs_\bt  is a sequence of one or more pipelines separated by one of the
        operators ;\b;, &\b&, &\b&&\b&, or |\b||\b|, and optionally terminated by one of ;\b;, &\b&, or
        <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.
 
        Of these list operators, &\b&&\b& and |\b||\b| have equal precedence, followed by ;\b;
        and &\b&, which have equal precedence.
 
-       A  sequence  of  one or more newlines may appear in a _\bl_\bi_\bs_\bt instead of a
+       A sequence of one or more newlines may appear in a _\bl_\bi_\bs_\bt  instead  of  a
        semicolon to delimit commands.
 
-       If a command is terminated by the control operator &\b&,  the  shell  exe-
-       cutes  the command in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd in a subshell.  The shell does not
-       wait for the command to finish, and the return status is 0.  These  are
-       referred  to  as  _\ba_\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs commands.  Commands separated by a ;\b; are
+       If  a  command  is terminated by the control operator &\b&, the shell exe-
+       cutes the command in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd in a subshell.  The shell does  not
+       wait  for the command to finish, and the return status is 0.  These are
+       referred to as _\ba_\bs_\by_\bn_\bc_\bh_\br_\bo_\bn_\bo_\bu_\bs commands.  Commands separated by  a  ;\b are
        executed sequentially; the shell waits for each command to terminate in
-       turn.  The return status is the exit status of the  last  command  exe-
+       turn.   The  return  status is the exit status of the last command exe-
        cuted.
 
-       AND  and  OR  lists are sequences of one or more pipelines separated by
-       the &\b&&\b& and |\b||\b| control operators, respectively.  AND and  OR  lists  are
+       AND and OR lists are sequences of one or more  pipelines  separated  by
+       the  &\b&&\b&  and  |\b||\b| control operators, respectively.  AND and OR lists are
        executed with left associativity.  An AND list has the form
 
               _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 &\b&&\b& _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2
 
-       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b is  executed if, and only if, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns an exit status
+       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bis executed if, and only if, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns an  exit  status
        of zero (success).
 
        An OR list has the form
 
               _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 |\b||\b| _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2
 
-       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bis executed if, and only if, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns a non-zero  exit
-       status.   The  return  status of AND and OR lists is the exit status of
+       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b is executed if, and only if, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns a non-zero exit
+       status.  The return status of AND and OR lists is the  exit  status  of
        the last command executed in the list.
 
    C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs
-       A _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd is one of the following.  In most cases a _\bl_\bi_\bs_\bt in  a
-       command's  description may be separated from the rest of the command by
-       one or more newlines, and may be followed by a newline in  place  of  a
+       A  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd is one of the following.  In most cases a _\bl_\bi_\bs_\bt in a
+       command's description may be separated from the rest of the command  by
+       one  or  more  newlines, and may be followed by a newline in place of a
        semicolon.
 
-       (_\bl_\bi_\bs_\bt) _\bl_\bi_\bs_\b is  executed in a subshell (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bN-\b-
-              M\bME\bEN\bNT\bbelow for a description of a subshell environment).   Vari-
-              able  assignments  and  builtin commands that affect the shell's
+       (_\bl_\bi_\bs_\bt) _\bl_\bi_\bs_\bis executed in a subshell (see C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bN-\b-
+              M\bME\bEN\bNT\b below for a description of a subshell environment).  Vari-
+              able assignments and builtin commands that  affect  the  shell's
               environment do not remain in effect after the command completes.
               The return status is the exit status of _\bl_\bi_\bs_\bt.
 
        { _\bl_\bi_\bs_\bt; }
               _\bl_\bi_\bs_\bt is executed in the current shell environment.  _\bl_\bi_\bs_\bt must be
-              terminated with a newline or semicolon.   This  is  known  as  a
+              terminated  with  a  newline  or  semicolon.  This is known as a
               _\bg_\br_\bo_\bu_\bp _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  The return status is the exit status of _\bl_\bi_\bs_\bt.
 
-              Note  that  unlike  the  metacharacters (\b( and )\b), {\b{ and }\b} are _\br_\be_\b-
-              _\bs_\be_\br_\bv_\be_\b_\bw_\bo_\br_\bd_\bs and must occur where a reserved word  is  permitted
-              to  be  recognized.   Since they do not cause a word break, they
-              must be separated from  _\bl_\bi_\bs_\bt  by  whitespace  or  another  shell
+              Note that unlike the metacharacters (\b( and )\b), {\b{  and  }\b}  are  _\br_\be_\b-
+              _\bs_\be_\br_\bv_\be_\b _\bw_\bo_\br_\bd_\bs  and must occur where a reserved word is permitted
+              to be recognized.  Since they do not cause a  word  break,  they
+              must  be  separated  from  _\bl_\bi_\bs_\bt  by  whitespace or another shell
               metacharacter.
 
        ((_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn))
-              The  arithmetic  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn  is evaluated according to the rules
-              described below under A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If  the  value  of
-              the  expression  is  non-zero, the return status is 0; otherwise
-              the return status is 1.  The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the  same  ex-
-              pansions  as  if  it were within double quotes, but double quote
-              characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated specially and  are  re-
+              The arithmetic _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is evaluated according  to  the  rules
+              described  below  under  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If the value of
+              the expression is non-zero, the return status  is  0;  otherwise
+              the  return  status is 1.  The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same ex-
+              pansions as if it were within double quotes,  but  double  quote
+              characters  in  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated specially and are re-
               moved.
 
        [\b[[\b[ _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn ]\b]]\b]
               Evaluate the conditional expression _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn and return a sta-
-              tus  of  zero  (true) or non-zero (false).  Expressions are com-
+              tus of zero (true) or non-zero (false).   Expressions  are  com-
               posed of the primaries described below under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bS-\b-
-              S\bSI\bIO\bON\bNS\bS.  The words between the [\b[[\b[ and  ]\b]]\b]  do  not  undergo  word
-              splitting  and pathname expansion.  The shell performs tilde ex-
+              S\bSI\bIO\bON\bNS\bS.   The  words  between  the  [\b[[\b[ and ]\b]]\b] do not undergo word
+              splitting and pathname expansion.  The shell performs tilde  ex-
               pansion, parameter and variable expansion, arithmetic expansion,
               command substitution, process substitution, and quote removal on
-              those words.  Conditional operators such as -\b-f\bf must be  unquoted
+              those  words.  Conditional operators such as -\b-f\bf must be unquoted
               to be recognized as primaries.
 
-              When  used with [\b[[\b[, the <\b< and >\b> operators sort lexicographically
+              When used with [\b[[\b[, the <\b< and >\b> operators sort  lexicographically
               using the current locale.
 
-              When the =\b==\b= and !\b!=\b= operators are used, the string to  the  right
+              When  the  =\b==\b= and !\b!=\b= operators are used, the string to the right
               of the operator is considered a pattern and matched according to
               the rules described below under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg, as if the e\bex\bxt\bt-\b-
               g\bgl\blo\bob\bb shell option were enabled.  The =\b= operator is equivalent to
-              =\b==\b=.   If  the  n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the match is
-              performed without regard to the case of  alphabetic  characters.
-              The  return  value  is  0 if the string matches (=\b==\b=) or does not
-              match (!\b!=\b=) the pattern, and 1 otherwise.  If  any  part  of  the
-              pattern  is  quoted,  the quoted portion is matched as a string:
+              =\b==\b=.  If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled,  the  match  is
+              performed  without  regard to the case of alphabetic characters.
+              The return value is 0 if the string matches  (=\b==\b=)  or  does  not
+              match  (!\b!=\b=)  the  pattern,  and 1 otherwise.  If any part of the
+              pattern is quoted, the quoted portion is matched  as  a  string:
               every character in the quoted portion matches itself, instead of
               having any special pattern matching meaning.
 
-              An additional binary operator, =\b=~\b~, is available, with  the  same
-              precedence  as  =\b==\b=  and  !\b!=\b=.  When it is used, the string to the
+              An  additional  binary operator, =\b=~\b~, is available, with the same
+              precedence as =\b==\b= and !\b!=\b=.  When it is used,  the  string  to  the
               right of the operator is considered a POSIX extended regular ex-
-              pression and matched accordingly (using the  POSIX  _\br_\be_\bg_\bc_\bo_\bm_\b and
-              _\br_\be_\bg_\be_\bx_\be_\b interfaces  usually described in _\br_\be_\bg_\be_\bx(3)).  The return
-              value is 0 if the string matches the pattern, and  1  otherwise.
+              pression  and  matched  accordingly (using the POSIX _\br_\be_\bg_\bc_\bo_\bm_\bp and
+              _\br_\be_\bg_\be_\bx_\be_\binterfaces usually described in _\br_\be_\bg_\be_\bx(3)).   The  return
+              value  is  0 if the string matches the pattern, and 1 otherwise.
               If the regular expression is syntactically incorrect, the condi-
               tional expression's return value is 2.  If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell
-              option  is enabled, the match is performed without regard to the
+              option is enabled, the match is performed without regard to  the
               case of alphabetic characters.
 
-              If any part of the pattern is  quoted,  the  quoted  portion  is
-              matched  literally,  as  above.   If  the pattern is stored in a
+              If  any  part  of  the  pattern is quoted, the quoted portion is
+              matched literally, as above.  If the  pattern  is  stored  in  a
               shell variable, quoting the variable expansion forces the entire
-              pattern to be matched literally.  Treat bracket  expressions  in
-              regular  expressions carefully, since normal quoting and pattern
+              pattern  to  be matched literally.  Treat bracket expressions in
+              regular expressions carefully, since normal quoting and  pattern
               characters lose their meanings between brackets.
 
-              The match succeeds if  the  pattern  matches  any  part  of  the
+              The  match  succeeds  if  the  pattern  matches  any part of the
               string.  Anchor the pattern using the ^\b^ and $\b$ regular expression
               operators to force it to match the entire string.
 
-              The  array  variable  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH  records  which  parts of the
-              string matched the pattern.  The element  of  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\b with
-              index  0  contains the portion of the string matching the entire
-              regular expression.  Substrings matched by parenthesized  subex-
+              The array variable  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH  records  which  parts  of  the
+              string  matched  the  pattern.  The element of B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH with
+              index 0 contains the portion of the string matching  the  entire
+              regular  expression.  Substrings matched by parenthesized subex-
               pressions within the regular expression are saved in the remain-
-              ing  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH indices.  The element of B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH with in-
-              dex _\bn is the portion of the string matching  the  _\bnth  parenthe-
-              sized  subexpression.   B\bBa\bas\bsh\bh  sets  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH  in  the global
-              scope; declaring it as a local variable will lead to  unexpected
+              ing B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH indices.  The element of B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH with  in-
+              dex  _\bn  is  the portion of the string matching the _\bnth parenthe-
+              sized subexpression.   B\bBa\bas\bsh\bh  sets  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH  in  the  global
+              scope;  declaring it as a local variable will lead to unexpected
               results.
 
-              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_\be_\bs_\bs_\bi_\bo_\bn )\b)
-                     Returns the value of _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn.  This  may  be  used  to
+                     Returns  the  value  of  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn.  This may be used to
                      override the normal precedence of operators.
               !\b! _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn
                      True if _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is false.
@@ -453,72 +458,72 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
                      True if either _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b1 or _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b2 is true.
 
               The &\b&&\b& and |\b||\b| operators do not evaluate _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b2 if the value
-              of  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b1  is  sufficient to determine the return value of
+              of _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b1 is sufficient to determine the  return  value  of
               the entire conditional expression.
 
        f\bfo\bor\br _\bn_\ba_\bm_\be [ [ i\bin\bn [ _\bw_\bo_\br_\bd _\b._\b._\b. ] ] ; ] d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
-              First, expand The list of words following i\bin\bn, generating a  list
-              of  items.   Then,  the  variable _\bn_\ba_\bm_\be is set to each element of
-              this list in turn, and _\bl_\bi_\bs_\bt is executed each time.   If  the  i\bin\bn
+              First,  expand The list of words following i\bin\bn, generating a list
+              of items.  Then, the variable _\bn_\ba_\bm_\be is set  to  each  element  of
+              this  list  in  turn, and _\bl_\bi_\bs_\bt is executed each time.  If the i\bin\bn
               _\bw_\bo_\br_\bd is omitted, the f\bfo\bor\br command executes _\bl_\bi_\bs_\bt once for each po-
-              sitional  parameter that is set (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).  The re-
-              turn status is the exit status of the  last  command  that  exe-
+              sitional parameter that is set (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).  The  re-
+              turn  status  is  the  exit status of the last command that exe-
               cutes.  If the expansion of the items following i\bin\bn results in an
-              empty  list,  no commands are executed, and the return status is
+              empty list, no commands are executed, and the return  status  is
               0.
 
        f\bfo\bor\br (( _\be_\bx_\bp_\br_\b1 ; _\be_\bx_\bp_\br_\b2 ; _\be_\bx_\bp_\br_\b3 )) ; d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
               First, evaluate the arithmetic expression _\be_\bx_\bp_\br_\b1 according to the
-              rules described below under A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC  E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.   Then,  re-
+              rules  described  below  under A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  Then, re-
               peatedly evaluate the arithmetic expression _\be_\bx_\bp_\br_\b2 until it eval-
-              uates  to  zero.  Each time _\be_\bx_\bp_\br_\b2 evaluates to a non-zero value,
-              execute _\bl_\bi_\bs_\bt and evaluate the arithmetic expression  _\be_\bx_\bp_\br_\b3.   If
-              any  expression  is omitted, it behaves as if it evaluates to 1.
-              The return value is the exit status of the last command in  _\bl_\bi_\bs_\bt
-              that  is  executed, or non-zero if any of the expressions is in-
+              uates to zero.  Each time _\be_\bx_\bp_\br_\b2 evaluates to a  non-zero  value,
+              execute  _\bl_\bi_\bs_\bt  and evaluate the arithmetic expression _\be_\bx_\bp_\br_\b3.  If
+              any expression is omitted, it behaves as if it evaluates  to  1.
+              The  return value is the exit status of the last command in _\bl_\bi_\bs_\bt
+              that is executed, or non-zero if any of the expressions  is  in-
               valid.
 
-              Use the b\bbr\bre\bea\bak\bk and c\bco\bon\bnt\bti\bin\bnu\bue\be builtins (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
+              Use  the b\bbr\bre\bea\bak\bk and c\bco\bon\bnt\bti\bin\bnu\bue\be builtins (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               below) to control loop execution.
 
        s\bse\bel\ble\bec\bct\bt _\bn_\ba_\bm_\be [ i\bin\bn _\bw_\bo_\br_\bd ] ; d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
-              First,  expand the list of words following i\bin\bn, generating a list
-              of items, and print the set of expanded words the  standard  er-
-              ror,  each  preceded  by  a  number.  If the i\bin\bn _\bw_\bo_\br_\bd is omitted,
-              print the positional parameters (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).   s\bse\bel\ble\bec\bct\bt
-              then  displays the P\bPS\bS3\b3 prompt and reads a line from the standard
+              First, expand the list of words following i\bin\bn, generating a  list
+              of  items,  and print the set of expanded words the standard er-
+              ror, each preceded by a number.  If  the  i\bin\bn  _\bw_\bo_\br_\bd  is  omitted,
+              print  the positional parameters (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).  s\bse\bel\ble\bec\bct\bt
+              then displays the P\bPS\bS3\b3 prompt and reads a line from the  standard
               input.  If the line consists of a number corresponding to one of
-              the displayed words, then s\bse\bel\ble\bec\bct\bt sets the value of _\bn_\ba_\bm_\be to  that
-              word.   If  the  line  is  empty,  s\bse\bel\ble\bec\bct\bt displays the words and
-              prompt again.  If EOF is read, s\bse\bel\ble\bec\bct\bt completes and  returns  1.
-              Any  other  value  sets _\bn_\ba_\bm_\be 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
+              the  displayed words, then s\bse\bel\ble\bec\bct\bt sets the value of _\bn_\ba_\bm_\be to that
+              word.  If the line is  empty,  s\bse\bel\ble\bec\bct\bt  displays  the  words  and
+              prompt  again.   If EOF is read, s\bse\bel\ble\bec\bct\bt completes and returns 1.
+              Any other value sets _\bn_\ba_\bm_\be 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.
 
        c\bca\bas\bse\be _\bw_\bo_\br_\bd i\bin\bn [ [(] _\bp_\ba_\bt_\bt_\be_\br_\bn [ |\b| _\bp_\ba_\bt_\bt_\be_\br_\bn ] ... ) _\bl_\bi_\bs_\bt ;; ] ... e\bes\bsa\bac\bc
               A c\bca\bas\bse\be command first expands _\bw_\bo_\br_\bd, and tries to match it against
-              each  _\bp_\ba_\bt_\bt_\be_\br_\bn  in turn, proceeding from first to last, using the
-              matching rules described under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below.   A  pat-
-              tern  list  is  a set of one or more patterns separated by , and
-              the ) operator terminates the pattern list.   The  _\bw_\bo_\br_\bd  is  ex-
-              panded  using tilde expansion, parameter and variable expansion,
+              each _\bp_\ba_\bt_\bt_\be_\br_\bn in turn, proceeding from first to last,  using  the
+              matching  rules  described under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below.  A pat-
+              tern list is a set of one or more patterns separated  by  ,  and
+              the  )  operator  terminates  the pattern list.  The _\bw_\bo_\br_\bd is ex-
+              panded using tilde expansion, parameter and variable  expansion,
               arithmetic expansion, command substitution, process substitution
-              and quote removal.  Each  _\bp_\ba_\bt_\bt_\be_\br_\bn  examined  is  expanded  using
-              tilde  expansion,  parameter  and variable expansion, arithmetic
+              and  quote  removal.   Each  _\bp_\ba_\bt_\bt_\be_\br_\bn  examined is expanded using
+              tilde expansion, parameter and  variable  expansion,  arithmetic
               expansion, command substitution, process substitution, and quote
-              removal.  If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the  match
-              is  performed  without  regard to the case of alphabetic charac-
+              removal.   If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the match
+              is performed without regard to the case  of  alphabetic  charac-
               ters.  A _\bc_\bl_\ba_\bu_\bs_\be is a pattern list and an associated _\bl_\bi_\bs_\bt.
 
               When a match is found, c\bca\bas\bse\be executes the corresponding _\bl_\bi_\bs_\bt.  If
-              the ;\b;;\b; operator terminates the case  clause,  the  c\bca\bas\bse\b command
+              the  ;\b;;\b;  operator  terminates  the case clause, the c\bca\bas\bse\be command
               completes after the first match.  Using ;\b;&\b& in place of ;\b;;\b; causes
-              execution  to  continue  with  the _\bl_\bi_\bs_\bt associated with the next
+              execution to continue with the _\bl_\bi_\bs_\bt  associated  with  the  next
               pattern list.  Using ;\b;;\b;&\b& in place of ;\b;;\b; causes the shell to test
-              the next pattern list in the statement, if any, and execute  any
-              associated  _\bl_\bi_\bs_\bt  if  the  match  succeeds.  continuing the case
+              the  next pattern list in the statement, if any, and execute any
+              associated _\bl_\bi_\bs_\bt if  the  match  succeeds,  continuing  the  case
               statement execution as if the pattern list had not matched.  The
               exit status is zero if no pattern matches.
 
@@ -526,19 +531,19 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
               the last _\bl_\bi_\bs_\bt executed.
 
        i\bif\bf _\bl_\bi_\bs_\bt; t\bth\bhe\ben\bn _\bl_\bi_\bs_\bt; [ e\bel\bli\bif\bf _\bl_\bi_\bs_\bt; t\bth\bhe\ben\bn _\bl_\bi_\bs_\bt; ] ... [ e\bel\bls\bse\be _\bl_\bi_\bs_\bt; ] f\bfi\bi
-              The i\bif\bf _\bl_\bi_\bs_\bt is executed.  If its exit status is zero,  the  t\bth\bhe\ben\bn
-              _\bl_\bi_\bs_\b is  executed.   Otherwise,  each  e\bel\bli\bif\bf _\bl_\bi_\bs_\bt is executed in
-              turn, and if its exit status is  zero,  the  corresponding  t\bth\bhe\ben\bn
+              The  i\bif\bf  _\bl_\bi_\bs_\bt is executed.  If its exit status is zero, the t\bth\bhe\ben\bn
+              _\bl_\bi_\bs_\bis executed.  Otherwise, each  e\bel\bli\bif\bf  _\bl_\bi_\bs_\bt  is  executed  in
+              turn,  and  if  its  exit status is zero, the corresponding t\bth\bhe\ben\bn
               _\bl_\bi_\bs_\bt is executed and the command completes.  Otherwise, the e\bel\bls\bse\be
-              _\bl_\bi_\bs_\b is executed, if present.  The exit status is the exit sta-
+              _\bl_\bi_\bs_\bis executed, if present.  The exit status is the exit  sta-
               tus of the last command executed, or zero if no condition tested
               true.
 
        w\bwh\bhi\bil\ble\be _\bl_\bi_\bs_\bt_\b-_\b1; d\bdo\bo _\bl_\bi_\bs_\bt_\b-_\b2; d\bdo\bon\bne\be
        u\bun\bnt\bti\bil\bl _\bl_\bi_\bs_\bt_\b-_\b1; d\bdo\bo _\bl_\bi_\bs_\bt_\b-_\b2; d\bdo\bon\bne\be
-              The w\bwh\bhi\bil\ble\be command continuously executes the list _\bl_\bi_\bs_\bt_\b-_\b2 as  long
+              The  w\bwh\bhi\bil\ble\be command continuously executes the list _\bl_\bi_\bs_\bt_\b-_\b2 as long
               as the last command in the list _\bl_\bi_\bs_\bt_\b-_\b1 returns an exit status of
-              zero.   The u\bun\bnt\bti\bil\bl command is identical to the w\bwh\bhi\bil\ble\be command, ex-
+              zero.  The u\bun\bnt\bti\bil\bl command is identical to the w\bwh\bhi\bil\ble\be command,  ex-
               cept that the test is negated: _\bl_\bi_\bs_\bt_\b-_\b2 is executed as long as the
               last command in _\bl_\bi_\bs_\bt_\b-_\b1 returns a non-zero exit status.  The exit
               status of the w\bwh\bhi\bil\ble\be and u\bun\bnt\bti\bil\bl commands is the exit status of the
@@ -546,143 +551,143 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
 
    C\bCo\bop\bpr\bro\boc\bce\bes\bss\bse\bes\bs
        A _\bc_\bo_\bp_\br_\bo_\bc_\be_\bs_\bs is a shell command preceded by the c\bco\bop\bpr\bro\boc\bc reserved word.  A
-       coprocess is executed asynchronously in a subshell, as if  the  command
-       had  been  terminated  with the &\b& control operator, with a two-way pipe
+       coprocess  is  executed asynchronously in a subshell, as if the command
+       had been terminated with the &\b& control operator, with  a  two-way  pipe
        established between the executing shell and the coprocess.
 
        The syntax for a coprocess is:
 
               c\bco\bop\bpr\bro\boc\bc [_\bN_\bA_\bM_\bE] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn_\bs]
 
-       This creates a coprocess named _\bN_\bA_\bM_\bE.  _\bc_\bo_\bm_\bm_\ba_\bn_\bd may be  either  a  simple
-       command  or  a  compound command (see above).  _\bN_\bA_\bM_\bE is a shell variable
+       This  creates  a  coprocess named _\bN_\bA_\bM_\bE.  _\bc_\bo_\bm_\bm_\ba_\bn_\bd may be either a simple
+       command or a compound command (see above).  _\bN_\bA_\bM_\bE is  a  shell  variable
        name.  If _\bN_\bA_\bM_\bE is not supplied, the default name is C\bCO\bOP\bPR\bRO\bOC\bC.
 
        The recommended form to use for a coprocess is
 
               c\bco\bop\bpr\bro\boc\bc _\bN_\bA_\bM_\bE { _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn_\bs]; }
 
-       This form is preferred because simple commands result in the  coprocess
-       always  being  named C\bCO\bOP\bPR\bRO\bOC\bC, and it is simpler to use and more complete
+       This  form is preferred because simple commands result in the coprocess
+       always being named C\bCO\bOP\bPR\bRO\bOC\bC, and it is simpler to use and  more  complete
        than the other compound commands.
 
-       If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a compound command, _\bN_\bA_\bM_\bE is optional. The word  following
-       c\bco\bop\bpr\bro\boc\b determines whether that word is interpreted as a variable name:
-       it is interpreted as _\bN_\bA_\bM_\bE if it is not a reserved word that  introduces
-       a  compound  command.   If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a simple command, _\bN_\bA_\bM_\bE is not al-
-       lowed; this is to avoid confusion between _\bN_\bA_\bM_\bE and the  first  word  of
+       If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a compound command, _\bN_\bA_\bM_\bE is optional. The word following
+       c\bco\bop\bpr\bro\boc\bdetermines whether that word is interpreted as a variable  name:
+       it  is interpreted as _\bN_\bA_\bM_\bE if it is not a reserved word that introduces
+       a compound command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a simple command, _\bN_\bA_\bM_\bE  is  not  al-
+       lowed;  this  is  to avoid confusion between _\bN_\bA_\bM_\bE and the first word of
        the simple command.
 
-       When  the  coprocess  is  executed, the shell creates an array variable
-       (see A\bAr\brr\bra\bay\bys\bs below) named _\bN_\bA_\bM_\bE in the context of  the  executing  shell.
-       The  standard  output  of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a pipe to a file de-
-       scriptor in the executing shell, and that file descriptor  is  assigned
+       When the coprocess is executed, the shell  creates  an  array  variable
+       (see  A\bAr\brr\bra\bay\bys\bs  below)  named _\bN_\bA_\bM_\bE in the context of the executing shell.
+       The standard output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a pipe to  a  file  de-
+       scriptor  in  the executing shell, and that file descriptor is assigned
        to _\bN_\bA_\bM_\bE[0].  The standard input of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a pipe to a
        file descriptor in the executing shell, and that file descriptor is as-
-       signed  to  _\bN_\bA_\bM_\bE[1].   This pipe is established before any redirections
+       signed to _\bN_\bA_\bM_\bE[1].  This pipe is established  before  any  redirections
        specified by the command (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below).  The file descriptors
-       can be utilized as arguments to shell commands and  redirections  using
-       standard  word expansions.  Other than those created to execute command
-       and process substitutions, the file descriptors are  not  available  in
+       can  be  utilized as arguments to shell commands and redirections using
+       standard word expansions.  Other than those created to execute  command
+       and  process  substitutions,  the file descriptors are not available in
        subshells.
 
-       The  process ID of the shell spawned to execute the coprocess is avail-
-       able as the value of the variable _\bN_\bA_\bM_\bE_PID.  The w\bwa\bai\bit\bt  builtin  may  be
+       The process ID of the shell spawned to execute the coprocess is  avail-
+       able  as  the  value of the variable _\bN_\bA_\bM_\bE_PID.  The w\bwa\bai\bit\bt builtin may be
        used to wait for the coprocess to terminate.
 
-       Since  the  coprocess is created as an asynchronous command, the c\bco\bop\bpr\bro\boc\bc
-       command always returns success.  The return status of  a  coprocess  is
+       Since the coprocess is created as an asynchronous command,  the  c\bco\bop\bpr\bro\boc\bc
+       command  always  returns  success.  The return status of a coprocess is
        the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
 
    S\bSh\bhe\bel\bll\bl F\bFu\bun\bnc\bct\bti\bio\bon\bn D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bns\bs
-       A  shell function is an object that is called like a simple command and
-       executes a compound command with a new set  of  positional  parameters.
+       A shell function is an object that is called like a simple command  and
+       executes  a  compound  command with a new set of positional parameters.
        Shell functions are declared as follows:
 
        _\bf_\bn_\ba_\bm_\be () _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn]
        f\bfu\bun\bnc\bct\bti\bio\bon\bn _\bf_\bn_\ba_\bm_\be [()] _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn]
               This defines a function named _\bf_\bn_\ba_\bm_\be.  The reserved word f\bfu\bun\bnc\bct\bti\bio\bon\bn
-              is  optional.   If  the  f\bfu\bun\bnc\bct\bti\bio\bon\bn reserved word is supplied, the
-              parentheses are optional.  The _\bb_\bo_\bd_\by of the function is the  com-
-              pound  command  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd  (see C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs above).
-              That command is usually a _\bl_\bi_\bs_\bt of commands between { and },  but
+              is optional.  If the f\bfu\bun\bnc\bct\bti\bio\bon\bn reserved  word  is  supplied,  the
+              parentheses  are optional.  The _\bb_\bo_\bd_\by of the function is the com-
+              pound command _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (see  C\bCo\bom\bmp\bpo\bou\bun\bnd\bd  C\bCo\bom\bmm\bma\ban\bnd\bds\b above).
+              That  command is usually a _\bl_\bi_\bs_\bt of commands between { and }, but
               may be any command listed under C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs above.  If the
               f\bfu\bun\bnc\bct\bti\bio\bon\bn reserved word is used, but the parentheses are not sup-
               plied, the braces are recommended.  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed
-              whenever  _\bf_\bn_\ba_\bm_\be  is  specified  as the name of a simple command.
+              whenever _\bf_\bn_\ba_\bm_\be is specified as the name  of  a  simple  command.
               When in posix mode, _\bf_\bn_\ba_\bm_\be must be a valid shell _\bn_\ba_\bm_\be and may not
-              be the name of one of the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl  _\bb_\bu_\bi_\bl_\bt_\bi_\bn_\bs.   In  default
-              mode,  a  function name can be any unquoted shell word that does
+              be  the  name  of one of the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl _\bb_\bu_\bi_\bl_\bt_\bi_\bn_\bs.  In default
+              mode, a function name can be any unquoted shell word  that  does
               not contain $\b$.
 
-       Any redirections (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below) specified when a  function  is
+       Any  redirections  (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below) specified when a function is
        defined are performed when the function is executed.
 
-       The  exit status of a function definition is zero unless a syntax error
-       occurs or a readonly function with the same name already exists.   When
-       executed,  the exit status of a function is the exit status of the last
+       The exit status of a function definition is zero unless a syntax  error
+       occurs  or a readonly function with the same name already exists.  When
+       executed, the exit status of a function is the exit status of the  last
        command executed in the body.  (See F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below.)
 
 C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
        In a non-interactive shell, or an interactive shell in which the i\bin\bnt\bte\ber\br-\b-
-       a\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\boption to the  s\bsh\bho\bop\bpt\bt  builtin  is  enabled  (see  S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), a word beginning with #\b# introduces a comment.
+       a\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\b option  to  the  s\bsh\bho\bop\bpt\bt  builtin  is enabled (see S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), a word beginning with #\b# introduces a  comment.
        A word begins at the beginning of a line, after unquoted whitespace, or
-       after an operator.  The comment causes  that  word  and  all  remaining
-       characters  on  that  line to be ignored.  An interactive shell without
-       the i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option enabled does not allow  comments.   The
+       after  an  operator.   The  comment  causes that word and all remaining
+       characters on that line to be ignored.  An  interactive  shell  without
+       the  i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs  option enabled does not allow comments.  The
        i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs  option  is  enabled  by  default  in  interactive
        shells.
 
 Q\bQU\bUO\bOT\bTI\bIN\bNG\bG
-       _\bQ_\bu_\bo_\bt_\bi_\bn_\bis used to remove the special meaning of certain characters  or
-       words  to  the shell.  Quoting can be used to disable special treatment
+       _\bQ_\bu_\bo_\bt_\bi_\bn_\b is used to remove the special meaning of certain characters or
+       words to the shell.  Quoting can be used to disable  special  treatment
        for special characters, to prevent reserved words from being recognized
        as such, and to prevent parameter expansion.
 
-       Each of the _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs listed above under D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS  has  special
+       Each  of  the _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs listed above under D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS has special
        meaning to the shell and must be quoted if it is to represent itself.
 
-       When  the command history expansion facilities are being used (see H\bHI\bIS\bS-\b-
+       When the command history expansion facilities are being used (see  H\bHI\bIS\bS-\b-
        T\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below), the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, usually !\b!, must
        be quoted to prevent history expansion.
 
        There are four quoting mechanisms: the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br, single quotes,
        double quotes, and dollar-single quotes.
 
-       A non-quoted backslash (\\b\) is the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br.  It  preserves  the
-       literal  value of the next character that follows, removing any special
-       meaning it has, with the exception of <newline>.  If a \\b\<newline>  pair
-       appears,  and  the  backslash  is  not itself quoted, the \\b\<newline> is
-       treated as a line continuation (that is, it is removed from  the  input
+       A  non-quoted  backslash (\\b\) is the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br.  It preserves the
+       literal value of the next character that follows, removing any  special
+       meaning  it has, with the exception of <newline>.  If a \\b\<newline> pair
+       appears, and the backslash is not  itself  quoted,  the  \\b\<newline>  is
+       treated  as  a line continuation (that is, it is removed from the input
        stream and effectively ignored).
 
-       Enclosing  characters  in  single quotes preserves the literal value of
+       Enclosing characters in single quotes preserves the  literal  value  of
        each character within the quotes.  A single quote may not occur between
        single quotes, even when preceded by a backslash.
 
-       Enclosing characters in double quotes preserves the  literal  value  of
-       all  characters  within the quotes, with the exception of $\b$, `\b`, \\b\, and,
+       Enclosing  characters  in  double quotes preserves the literal value of
+       all characters within the quotes, with the exception of $\b$, `\b`,  \\b\,  and,
        when history expansion is enabled, !\b!.  When the shell is in posix mode,
-       the !\b! has no special meaning within double quotes,  even  when  history
-       expansion  is  enabled.   The  characters  $\b$ and `\b` retain their special
-       meaning within double quotes.  The backslash retains its special  mean-
-       ing  only when followed by one of the following characters: $\b$, `\b`, "\b", \\b\,
+       the  !\b!  has  no special meaning within double quotes, even when history
+       expansion is enabled.  The characters $\b$  and  `\b`  retain  their  special
+       meaning  within double quotes.  The backslash retains its special mean-
+       ing only when followed by one of the following characters: $\b$, `\b`, "\b",  \\b\,
        or <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.  Backslashes preceding characters without a special mean-
        ing are left unmodified.
 
-       A double quote may be quoted within double quotes by preceding it  with
+       A  double quote may be quoted within double quotes by preceding it with
        a backslash.  If enabled, history expansion will be performed unless an
-       !\b!   appearing in double quotes is escaped using a backslash.  The back-
+       !\b!  appearing in double quotes is escaped using a backslash.  The  back-
        slash preceding the !\b!  is not removed.
 
-       The special parameters *\b* and @\b@ have  special  meaning  when  in  double
+       The  special  parameters  *\b*  and  @\b@ have special meaning when in double
        quotes (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).
 
-       Character  sequences  of  the  form  $\b$'_\bs_\bt_\br_\bi_\bn_\bg' are treated as a special
-       variant of single quotes.  The sequence expands to _\bs_\bt_\br_\bi_\bn_\bg,  with  back-
-       slash-escaped  characters in _\bs_\bt_\br_\bi_\bn_\bg replaced as specified by the ANSI C
-       standard.  Backslash escape sequences, if present, are decoded as  fol-
+       Character sequences of the form $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  are  treated  as  a  special
+       variant  of  single quotes.  The sequence expands to _\bs_\bt_\br_\bi_\bn_\bg, with back-
+       slash-escaped characters in _\bs_\bt_\br_\bi_\bn_\bg replaced as specified by the ANSI  C
+       standard.   Backslash escape sequences, if present, are decoded as fol-
        lows:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -697,77 +702,77 @@ Q\bQU\bUO\bOT\bTI\bIN\bNG\bG
               \\b\'\b'     single quote
               \\b\"\b"     double quote
               \\b\?\b?     question mark
-              \\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).
-              \\b\u\bu_\bH_\bH_\bH_\bH The  Unicode (ISO/IEC 10646) character whose value is the
+              \\b\u\bu_\bH_\bH_\bH_\bH The Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits).
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     The Unicode (ISO/IEC 10646) character whose value is  the
+                     The  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits).
               \\b\c\bc_\bx    A control-_\bx character.
 
-       The  expanded  result  is  single-quoted, as if the dollar sign had not
+       The expanded result is single-quoted, as if the  dollar  sign  had  not
        been present.
 
    T\bTr\bra\ban\bns\bsl\bla\bat\bti\bin\bng\bg S\bSt\btr\bri\bin\bng\bgs\bs
        A double-quoted string preceded by a dollar sign ($\b$"_\bs_\bt_\br_\bi_\bn_\bg") causes the
-       string to be translated according to the current locale.   The  _\bg_\be_\bt_\bt_\be_\bx_\bt
-       infrastructure  performs  the lookup and translation, using the L\bLC\bC_\b_M\bME\bES\bS-\b-
-       S\bSA\bAG\bGE\bES\bS, T\bTE\bEX\bXT\bTD\bDO\bOM\bMA\bAI\bIN\bND\bDI\bIR\bR, and T\bTE\bEX\bXT\bTD\bDO\bOM\bMA\bAI\bIN\bN shell variables.  If  the  current
+       string  to  be translated according to the current locale.  The _\bg_\be_\bt_\bt_\be_\bx_\bt
+       infrastructure performs the lookup and translation, using  the  L\bLC\bC_\b_M\bME\bES\bS-\b-
+       S\bSA\bAG\bGE\bES\bS,  T\bTE\bEX\bXT\bTD\bDO\bOM\bMA\bAI\bIN\bND\bDI\bIR\bR,  and T\bTE\bEX\bXT\bTD\bDO\bOM\bMA\bAI\bIN\bN shell variables.  If the current
        locale is C\bC or P\bPO\bOS\bSI\bIX\bX, if there are no translations available, or if the
        string is not translated, the dollar sign is ignored, and the string is
-       treated  as double-quoted as described above.  This is a form of double
+       treated as double-quoted as described above.  This is a form of  double
        quoting, so the string remains double-quoted by default, whether or not
-       it is translated and replaced.  If the n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn  option  is
-       enabled  using  the s\bsh\bho\bop\bpt\bt builtin, translated strings are single-quoted
-       instead of double-quoted.  See the description  of  s\bsh\bho\bop\bpt\bt  below  under
+       it  is  translated and replaced.  If the n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn option is
+       enabled using the s\bsh\bho\bop\bpt\bt builtin, translated strings  are  single-quoted
+       instead  of  double-quoted.   See  the description of s\bsh\bho\bop\bpt\bt below under
        S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS.
 
 P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
-       A  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values.  It can be a _\bn_\ba_\bm_\be, a num-
-       ber, or one of the special characters listed below under S\bSp\bpe\bec\bci\bia\bal\b P\bPa\bar\bra\ba-\b-
+       A _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values.  It can be a _\bn_\ba_\bm_\be, a  num-
+       ber,  or one of the special characters listed below under S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\ba-\b-
        m\bme\bet\bte\ber\brs\bs.  A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be is a parameter denoted by a _\bn_\ba_\bm_\be.  A variable has a
-       _\bv_\ba_\bl_\bu_\b and  zero or more _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs.  Attributes are assigned using the
-       d\bde\bec\bcl\bla\bar\bre\bbuiltin command (see d\bde\bec\bcl\bla\bar\bre\be below in S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS).
+       _\bv_\ba_\bl_\bu_\band zero or more _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs.  Attributes are assigned  using  the
+       d\bde\bec\bcl\bla\bar\bre\b builtin command (see d\bde\bec\bcl\bla\bar\bre\be below in S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS).
        The e\bex\bxp\bpo\bor\brt\bt and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins assign specific attributes.
 
        A parameter is set if it has been assigned a value.  The null string is
-       a  valid  value.  Once a variable is set, it may be unset only by using
+       a valid value.  Once a variable is set, it may be unset only  by  using
        the u\bun\bns\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
        A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be may be assigned to by a statement of the form
 
               _\bn_\ba_\bm_\be=[_\bv_\ba_\bl_\bu_\be]
 
-       If _\bv_\ba_\bl_\bu_\be is not given, the variable is assigned the null  string.   All
-       _\bv_\ba_\bl_\bu_\be_\b undergo tilde expansion, parameter and variable expansion, com-
-       mand substitution, arithmetic expansion, and quote removal (see  E\bEX\bXP\bPA\bAN\bN-\b-
+       If  _\bv_\ba_\bl_\bu_\be  is not given, the variable is assigned the null string.  All
+       _\bv_\ba_\bl_\bu_\be_\bundergo tilde expansion, parameter and variable expansion,  com-
+       mand  substitution, arithmetic expansion, and quote removal (see E\bEX\bXP\bPA\bAN\bN-\b-
        S\bSI\bIO\bON\bN below).  If the variable has its i\bin\bnt\bte\beg\bge\ber\br attribute set, then _\bv_\ba_\bl_\bu_\be
        is evaluated as an arithmetic expression even if the $\b$(\b((\b(...)\b))\b) expansion
        is not used (see A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn below).  Word splitting and path-
-       name  expansion  are not performed.  Assignment statements may also ap-
+       name expansion are not performed.  Assignment statements may  also  ap-
        pear as arguments to the a\bal\bli\bia\bas\bs, d\bde\bec\bcl\bla\bar\bre\be, t\bty\byp\bpe\bes\bse\bet\bt, e\bex\bxp\bpo\bor\brt\bt, r\bre\bea\bad\bdo\bon\bnl\bly\by, and
-       l\blo\boc\bca\bal\bbuiltin commands (_\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn commands).   When  in  posix  mode,
-       these  builtins  may appear in a command after one or more instances of
+       l\blo\boc\bca\bal\b builtin  commands  (_\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn  commands).  When in posix mode,
+       these builtins may appear in a command after one or more  instances  of
        the c\bco\bom\bmm\bma\ban\bnd\bd builtin and retain these assignment statement properties.
 
-       In the context where an assignment statement is assigning a value to  a
-       shell  variable  or  array index, the += operator appends to or adds to
-       the variable's previous value.  This includes arguments to  _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn
-       commands such as d\bde\bec\bcl\bla\bar\bre\be that accept assignment statements.  When += is
-       applied to a variable for which the i\bin\bnt\bte\beg\bge\ber\br attribute has been set, the
-       variable's current value and _\bv_\ba_\bl_\bu_\be are each evaluated as arithmetic ex-
-       pressions,  and  the  sum  of the results is assigned as the variable's
+       In  the context where an assignment statement is assigning a value to a
+       shell variable or array index, the "+=" operator appends to or adds  to
+       the  variable's previous value.  This includes arguments to _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn
+       commands such as d\bde\bec\bcl\bla\bar\bre\be that accept assignment statements.  When  "+="
+       is  applied to a variable for which the i\bin\bnt\bte\beg\bge\ber\br attribute has been set,
+       the variable's current value and _\bv_\ba_\bl_\bu_\be are each evaluated as arithmetic
+       expressions, and the sum of the results is assigned as  the  variable's
        value.  The current value is usually an integer constant, but may be an
-       expression.  When += is applied to an array variable using compound as-
-       signment (see A\bAr\brr\bra\bay\bys\bs below), the variable's value is not unset  (as  it
-       is when using =), and new values are appended to the array beginning at
-       one  greater  than  the  array's  maximum index (for indexed arrays) or
-       added as additional key-value pairs in an associative array.  When  ap-
-       plied  to  a  string-valued variable, _\bv_\ba_\bl_\bu_\be is expanded and appended to
-       the variable's value.
+       expression.   When  "+=" is applied to an array variable using compound
+       assignment (see A\bAr\brr\bra\bay\bys\bs below), the variable's value is not unset (as it
+       is when using and new values are appended to the array beginning at one
+       greater than the array's maximum index (for indexed arrays) or added as
+       additional key-value pairs in an associative array.  When applied to  a
+       string-valued  variable,  _\bv_\ba_\bl_\bu_\be  is  expanded and appended to the vari-
+       able's value.
 
        A variable can be assigned the _\bn_\ba_\bm_\be_\br_\be_\bf attribute using the -\b-n\bn option to
        the d\bde\bec\bcl\bla\bar\bre\be or l\blo\boc\bca\bal\bl builtin commands (see the descriptions of  d\bde\bec\bcl\bla\bar\bre\be
@@ -797,6 +802,10 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        a  nameref  variable  as  an  argument,  the variable referenced by the
        nameref variable is unset.
 
+       When the shell starts, it reads its environment  and  creates  a  shell
+       variable  from  each environment variable that has a valid name, as de-
+       scribed below (see E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT).
+
    P\bPo\bos\bsi\bit\bti\bio\bon\bna\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
        A _\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\ba_\bl _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a parameter denoted by one  or  more  digits,
        other than the single digit 0.  Positional parameters are assigned from
@@ -954,7 +963,7 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               ments to B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO have no effect, and it may not be unset.
        B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH
               A colon-separated list of directories in which the  e\ben\bna\bab\bbl\ble\be  com-
-              mand looks for dynamically loadable builtins.
+              mand looks for dynamically loadable builtins.
        B\bBA\bAS\bSH\bH_\b_M\bMO\bON\bNO\bOS\bSE\bEC\bCO\bON\bND\bDS\bS
               Each  time  this variable is referenced, it expands to the value
               returned by the system's monotonic clock, if one  is  available.
@@ -1169,193 +1178,199 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               appearing  in  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt -\b-o\bo.  If
               this variable is in the environment when  b\bba\bas\bsh\bh  starts  up,  the
               shell enables each option in the list before reading any startup
-              files.  This variable is read-only.
+              files.   If  this variable is exported, child shells will enable
+              each option in the list.  This variable is read-only.
        S\bSH\bHL\bLV\bVL\bL  Incremented by one each time an instance of b\bba\bas\bsh\bh is started.
        S\bSR\bRA\bAN\bND\bDO\bOM\bM
-              Each  time  it  is referenced, this variable expands to a 32-bit
+              Each time it is referenced, this variable expands  to  a  32-bit
               pseudo-random number.  The random number generator is not linear
-              on systems that support _\b/_\bd_\be_\bv_\b/_\bu_\br_\ba_\bn_\bd_\bo_\bm or _\ba_\br_\bc_\b4_\br_\ba_\bn_\bd_\bo_\bm(3),  so  each
+              on  systems  that support _\b/_\bd_\be_\bv_\b/_\bu_\br_\ba_\bn_\bd_\bo_\bm or _\ba_\br_\bc_\b4_\br_\ba_\bn_\bd_\bo_\bm(3), so each
               returned number has no relationship to the numbers preceding it.
-              The  random number generator cannot be seeded, so assignments to
+              The random number generator cannot be seeded, so assignments  to
               this variable have no effect.  If S\bSR\bRA\bAN\bND\bDO\bOM\bM is unset, it loses its
               special properties, even if it is subsequently reset.
        U\bUI\bID\bD    Expands to the user ID of the current user, initialized at shell
               startup.  This variable is readonly.
 
-       The shell uses the following variables. In some cases, b\bba\bas\bsh\bh  assigns  a
+       The  shell  uses the following variables. In some cases, b\bba\bas\bsh\bh assigns a
        default value to a variable; these cases are noted below.
 
        B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT
-              The  value  is used to set the shell's compatibility level.  See
-              S\bSH\bHE\bEL\bLL\bC\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below for a description of the  various
+              The value is used to set the shell's compatibility  level.   See
+              S\bSH\bHE\bEL\bLL\b C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below for a description of the various
               compatibility levels and their effects.  The value may be a dec-
-              imal  number  (e.g., 4.2) or an integer (e.g., 42) corresponding
-              to the desired compatibility level.  If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is unset  or
-              set  to  the empty string, the compatibility level is set to the
-              default for the current version.  If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT  is  set  to  a
-              value  that  is  not  one of the valid compatibility levels, the
-              shell prints an error message and sets the  compatibility  level
-              to  the  default for the current version.  A subset of the valid
-              values correspond to the compatibility  levels  described  below
-              under  S\bSH\bHE\bEL\bLL\bL  C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY  M\bMO\bOD\bDE\bE.   For example, 4.2 and 42 are
-              valid values that correspond to the c\bco\bom\bmp\bpa\bat\bt4\b42\b2  s\bsh\bho\bop\bpt\bt  option  and
-              set  the compatibility level to 42.  The current version is also
+              imal number (e.g., 4.2) or an integer (e.g.,  42)  corresponding
+              to  the desired compatibility level.  If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is unset or
+              set to the empty string, the compatibility level is set  to  the
+              default  for  the  current  version.  If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is set to a
+              value that is not one of the  valid  compatibility  levels,  the
+              shell  prints  an error message and sets the compatibility level
+              to the default for the current version.  A subset of  the  valid
+              values  correspond  to  the compatibility levels described below
+              under S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE.  For example,  4.2  and  42  are
+              valid  values  that  correspond to the c\bco\bom\bmp\bpa\bat\bt4\b42\b2 s\bsh\bho\bop\bpt\bt option and
+              set the compatibility level to 42.  The current version is  also
               a valid value.
        B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
-              If this parameter is set when b\bba\bas\bsh\bh is executing a shell  script,
-              its  expanded value is interpreted as a filename containing com-
-              mands to initialize the shell before it reads and executes  com-
-              mands  from  the  script.  The value of B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV is subjected to
+              If  this parameter is set when b\bba\bas\bsh\bh is executing a shell script,
+              its expanded value is interpreted as a filename containing  com-
+              mands  to initialize the shell before it reads and executes com-
+              mands from the script.  The value of B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV  is  subjected  to
               parameter expansion, command substitution, and arithmetic expan-
-              sion before being interpreted as a filename.  P\bPA\bAT\bTH\bH is  not  used
+              sion  before  being interpreted as a filename.  P\bPA\bAT\bTH\bH is not used
               to search for the resultant filename.
        B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD
-              If  set  to an integer corresponding to a valid file descriptor,
-              b\bba\bas\bsh\bwrites the trace output generated when "set -x" is  enabled
-              to  that  file  descriptor,  instead of the standard error.  The
-              file descriptor is closed when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD  is  unset  or  as-
+              If set to an integer corresponding to a valid  file  descriptor,
+              b\bba\bas\bsh\b writes the trace output generated when "set -x" is enabled
+              to that file descriptor, instead of  the  standard  error.   The
+              file  descriptor  is  closed  when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or as-
               signed a new value.  Unsetting B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD or assigning it the
-              empty  string causes the trace output to be sent to the standard
+              empty string causes the trace output to be sent to the  standard
               error.  Note that setting B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD to 2 (the standard error
-              file descriptor) and then unsetting it will result in the  stan-
+              file  descriptor) and then unsetting it will result in the stan-
               dard error being closed.
-       C\bCD\bDP\bPA\bAT\bTH\bH The  search  path for the c\bcd\bd command.  This is a colon-separated
+       C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command.  This is  a  colon-separated
               list of directories where the shell looks for directories speci-
-              fied as  arguments  to  the  c\bcd\bd  command.   A  sample  value  is
+              fied  as  arguments  to  the  c\bcd\bd  command.   A  sample  value is
               ".:~:/usr".
        C\bCH\bHI\bIL\bLD\bD_\b_M\bMA\bAX\bX
-              Set  the  number  of exited child status values for the shell to
-              remember.  B\bBa\bas\bsh\bh will not allow this value to be decreased  below
-              a  POSIX-mandated  minimum,  and  there is a maximum value (cur-
-              rently 8192) that this may not exceed.   The  minimum  value  is
+              Set the number of exited child status values for  the  shell  to
+              remember.   B\bBa\bas\bsh\bh will not allow this value to be decreased below
+              a POSIX-mandated minimum, and there is  a  maximum  value  (cur-
+              rently  8192)  that  this  may not exceed.  The minimum value is
               system-dependent.
        C\bCO\bOL\bLU\bUM\bMN\bNS\bS
-              Used  by  the  s\bse\bel\ble\bec\bct\bt compound command to determine the terminal
-              width when printing selection lists.  Automatically set  if  the
-              c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\b option  is enabled or in an interactive shell upon
+              Used by the s\bse\bel\ble\bec\bct\bt compound command to  determine  the  terminal
+              width  when  printing selection lists.  Automatically set if the
+              c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\boption is enabled or in an interactive  shell  upon
               receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
        C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
               An array variable from which b\bba\bas\bsh\bh reads the possible completions
-              generated by a shell function invoked by the  programmable  com-
-              pletion  facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).  Each ar-
+              generated  by  a shell function invoked by the programmable com-
+              pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).  Each  ar-
               ray element contains one possible completion.
-       E\bEM\bMA\bAC\bCS\bS  If b\bba\bas\bsh\bh finds this variable in the environment  when  the  shell
-              starts  with  value "t", it assumes that the shell is running in
+       E\bEM\bMA\bAC\bCS\bS  If  b\bba\bas\bsh\bh  finds  this variable in the environment when the shell
+              starts with value "t", it assumes that the shell is  running  in
               an Emacs shell buffer and disables line editing.
-       E\bEN\bNV\bV    Expanded and executed  similarly  to  B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
+       E\bEN\bNV\bV    Expanded  and  executed  similarly  to  B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
               above) when an interactive shell is invoked in posix mode.
        E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE
-              A  colon-separated list of shell patterns (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg)
-              defining the set of filenames to be ignored  by  command  search
-              using  P\bPA\bAT\bTH\bH.  Files whose full pathnames match one of these pat-
-              terns are not considered executable files for  the  purposes  of
+              A colon-separated list of shell patterns (see P\bPa\bat\btt\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg)
+              defining  the  set  of filenames to be ignored by command search
+              using P\bPA\bAT\bTH\bH.  Files whose full pathnames match one of these  pat-
+              terns  are  not  considered executable files for the purposes of
               completion and command execution via P\bPA\bAT\bTH\bH lookup.  This does not
               affect the behavior of the [\b[, t\bte\bes\bst\bt, and [\b[[\b[ commands.  Full path-
-              names  in  the command hash table are not subject to E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE.
-              Use this variable to ignore shared library files that  have  the
-              executable  bit  set, but are not executable files.  The pattern
+              names in the command hash table are not subject  to  E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE.
+              Use  this  variable to ignore shared library files that have the
+              executable bit set, but are not executable files.   The  pattern
               matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell option.
        F\bFC\bCE\bED\bDI\bIT\bT The default editor for the f\bfc\bc builtin command.
        F\bFI\bIG\bGN\bNO\bOR\bRE\bE
-              A colon-separated list of suffixes  to  ignore  when  performing
+              A  colon-separated  list  of  suffixes to ignore when performing
               filename completion (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).  A filename whose suf-
-              fix  matches  one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
+              fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded  from  the
               list of matched filenames.  A sample value is ".o:~".
        F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT
-              If set to a numeric value greater  than  0,  defines  a  maximum
-              function  nesting  level.  Function invocations that exceed this
+              If  set  to  a  numeric  value greater than 0, defines a maximum
+              function nesting level.  Function invocations that  exceed  this
               nesting level cause the current command to abort.
        G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE
-              A colon-separated list of patterns  defining  the  set  of  file
-              names  to  be  ignored  by  pathname  expansion.  If a file name
-              matched by a pathname expansion pattern also matches one of  the
-              patterns  in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of matches.
+              A  colon-separated  list  of  patterns  defining the set of file
+              names to be ignored by  pathname  expansion.   If  a  file  name
+              matched  by a pathname expansion pattern also matches one of the
+              patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of  matches.
               The pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell op-
               tion.
        G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT
-              Controls how the results of pathname expansion are sorted.   The
-              value  of this variable specifies the sort criteria and sort or-
-              der for the results of pathname expansion.  If this variable  is
-              unset  or  set  to  the null string, pathname expansion uses the
-              historical behavior of sorting by  name,  in  ascending  lexico-
+              Controls  how the results of pathname expansion are sorted.  The
+              value of this variable specifies the sort criteria and sort  or-
+              der  for the results of pathname expansion.  If this variable is
+              unset or set to the null string,  pathname  expansion  uses  the
+              historical  behavior  of  sorting  by name, in ascending lexico-
               graphic order as determined by the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE shell variable.
 
-              If  set,  a  valid value begins with an optional _\b+, which is ig-
+              If set, a valid value begins with an optional _\b+,  which  is  ig-
               nored, or _\b-, which reverses the sort order from ascending to de-
-              scending, followed by a sort specifier.  The valid  sort  speci-
-              fiers  are _\bn_\ba_\bm_\be, _\bn_\bu_\bm_\be_\br_\bi_\bc, _\bs_\bi_\bz_\be, _\bm_\bt_\bi_\bm_\be, _\ba_\bt_\bi_\bm_\be, _\bc_\bt_\bi_\bm_\be, and _\bb_\bl_\bo_\bc_\bk_\bs,
+              scending,  followed  by a sort specifier.  The valid sort speci-
+              fiers are _\bn_\ba_\bm_\be, _\bn_\bu_\bm_\be_\br_\bi_\bc, _\bs_\bi_\bz_\be, _\bm_\bt_\bi_\bm_\be, _\ba_\bt_\bi_\bm_\be, _\bc_\bt_\bi_\bm_\be, and  _\bb_\bl_\bo_\bc_\bk_\bs,
               which sort the files on name, names in numeric rather than lexi-
-              cographic order, file size, modification time, access time,  in-
-              ode  change time, and number of blocks, respectively.  If any of
-              the non-name keys compare as equal (e.g., if two files  are  the
+              cographic  order, file size, modification time, access time, in-
+              ode change time, and number of blocks, respectively.  If any  of
+              the  non-name  keys compare as equal (e.g., if two files are the
               same size), sorting uses the name as a secondary sort key.
 
-              For  example,  a value of _\b-_\bm_\bt_\bi_\bm_\be sorts the results in descending
+              For example, a value of _\b-_\bm_\bt_\bi_\bm_\be sorts the results  in  descending
               order by modification time (newest first).
 
-              The _\bn_\bu_\bm_\be_\br_\bi_\bc specifier treats names consisting solely  of  digits
-              as  numbers  and  sorts  them  using their numeric value (so "2"
+              The  _\bn_\bu_\bm_\be_\br_\bi_\bc  specifier treats names consisting solely of digits
+              as numbers and sorts them using  their  numeric  value  (so  "2"
               sorts before "10", for example).  When using _\bn_\bu_\bm_\be_\br_\bi_\bc, names con-
-              taining non-digits sort after all the all-digit  names  and  are
+              taining  non-digits  sort  after all the all-digit names and are
               sorted by name using the traditional behavior.
 
               A sort specifier of _\bn_\bo_\bs_\bo_\br_\bt disables sorting completely; b\bba\bas\bsh\bh re-
-              turns  the results in the order they are read from the file sys-
+              turns the results in the order they are read from the file  sys-
               tem, ignoring any leading _\b-.
 
-              If the sort specifier is missing, it  defaults  to  _\bn_\ba_\bm_\be,  so  a
-              value  of  _\b+  is equivalent to the null string, and a value of _\b-
-              sorts by name in descending order.  Any invalid  value  restores
+              If  the  sort  specifier  is  missing, it defaults to _\bn_\ba_\bm_\be, so a
+              value of _\b+ is equivalent to the null string, and a  value  of  _\b-
+              sorts  by  name in descending order.  Any invalid value restores
               the historical sorting behavior.
        H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL
-              A  colon-separated  list  of values controlling how commands are
-              saved on the history list.   If  the  list  of  values  includes
-              _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be,  lines  which  begin with a s\bsp\bpa\bac\bce\be character are not
-              saved in the history list.  A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs  causes  lines
+              A colon-separated list of values controlling  how  commands  are
+              saved  on  the  history  list.   If  the list of values includes
+              _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be  character  are  not
+              saved  in  the history list.  A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
               matching the previous history entry not to be saved.  A value of
               _\bi_\bg_\bn_\bo_\br_\be_\bb_\bo_\bt_\bh is shorthand for _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be and _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs.  A value
               of _\be_\br_\ba_\bs_\be_\bd_\bu_\bp_\bs causes all previous lines matching the current line
-              to  be  removed from the history list before that line is saved.
-              Any value not in the above list is ignored.  If  H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\b is
-              unset,  or  does not include a valid value, b\bba\bas\bsh\bh saves all lines
-              read by the shell parser on the history  list,  subject  to  the
+              to be removed from the history list before that line  is  saved.
+              Any  value  not in the above list is ignored.  If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
+              unset, or does not include a valid value, b\bba\bas\bsh\bh saves  all  lines
+              read  by  the  shell  parser on the history list, subject to the
               value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.  If the first line of a multi-line compound
-              command  was  saved,  the  second  and  subsequent lines are not
-              tested, and are added to the history regardless of the value  of
-              H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.   If  the  first line was not saved, the second and
+              command was saved, the  second  and  subsequent  lines  are  not
+              tested,  and are added to the history regardless of the value of
+              H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.  If the first line was not saved,  the  second  and
               subsequent lines of the command are not saved either.
        H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE
               The name of the file in which command history is saved (see H\bHI\bIS\bS-\b-
-              T\bTO\bOR\bRY\bbelow).  B\bBa\bas\bsh\bh assigns a default value  of  _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.
-              If  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  is unset or null, the shell does not save the com-
+              T\bTO\bOR\bRY\b below).   B\bBa\bas\bsh\bh assigns a default value of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.
+              If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the shell does not save  the  com-
               mand history when it exits.
        H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
               The maximum number of lines contained in the history file.  When
-              this variable is assigned a value, the  history  file  is  trun-
-              cated,  if  necessary,  to  contain  no more than that number of
-              lines by removing the oldest entries.  The history file is  also
+              this  variable  is  assigned  a value, the history file is trun-
+              cated, if necessary, to contain no  more  than  that  number  of
+              lines  by removing the oldest entries.  The history file is also
               truncated to this size after writing it when a shell exits or by
-              the  h\bhi\bis\bst\bto\bor\bry\by  builtin.   If  the value is 0, the history file is
-              truncated to zero size.  Non-numeric values and  numeric  values
-              less  than  zero inhibit truncation.  The shell sets the default
+              the h\bhi\bis\bst\bto\bor\bry\by builtin.  If the value is 0,  the  history  file  is
+              truncated  to  zero size.  Non-numeric values and numeric values
+              less than zero inhibit truncation.  The shell sets  the  default
               value to the value of H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE after reading any startup files.
        H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE
-              A colon-separated list of patterns used to decide which  command
-              lines  should  be  saved on the history list.  If a command line
-              matches one of the patterns in the value of  H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE,  it  is
-              not  saved on the history list.  Each pattern is anchored at the
-              beginning of the line and must match  the  complete  line  (b\bba\bas\bsh\bh
-              does  not   implicitly  append  a  "*\b*").  Each pattern is tested
-              against the line after the checks specified by  H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\b are
+              A  colon-separated list of patterns used to decide which command
+              lines should be saved on the history list.  If  a  command  line
+              matches  one  of  the patterns in the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE, it is
+              not saved on the history list.  Each pattern is anchored at  the
+              beginning  of  the  line  and must match the complete line (b\bba\bas\bsh\bh
+              does not  implicitly append a  "*\b*").   Each  pattern  is  tested
+              against  the  line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL are
               applied.  In addition to the normal shell pattern matching char-
-              acters,  "&\b&" matches the previous history line.  A backslash es-
-              capes the "&\b&"; the backslash  is  removed  before  attempting  a
-              match.   If  the first line of a multi-line compound command was
-              saved, the second and subsequent lines are not tested,  and  are
-              added  to the history regardless of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.  If
+              acters, "&\b&" matches the previous history line.  A backslash  es-
+              capes  the  "&\b&";  the  backslash  is removed before attempting a
+              match.  If the first line of a multi-line compound  command  was
+              saved,  the  second and subsequent lines are not tested, and are
+              added to the history regardless of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.   If
               the first line was not saved, the second and subsequent lines of
-              the command are not saved either.  The pattern  matching  honors
+              the  command  are not saved either.  The pattern matching honors
               the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell option.
+              H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE subsumes some of the function of H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.  A pat-
+              tern of "&" is identical to "ignoredups", and a  pattern  of  "[
+              ]*"  is  identical  to  "ignorespace".  Combining these two pat-
+              terns, separating them with a colon, provides the  functionality
+              of "ignoreboth".
        H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
               The  number  of commands to remember in the command history (see
               H\bHI\bIS\bST\bTO\bOR\bRY\bY below).  If the value is 0, commands are  not  saved  in
@@ -1383,127 +1398,126 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               the new file to the existing list.  If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but  has
               no  value,  or  does  not name a readable file, b\bba\bas\bsh\bh attempts to
               read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname  comple-
-              tions.   When  H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE  is  unset, b\bba\bas\bsh\bh clears the the hostname
-              list.
+              tions.  When H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is unset, b\bba\bas\bsh\bh clears the hostname list.
        I\bIF\bFS\bS    The _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bF_\bi_\be_\bl_\bd _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br that is used for word splitting af-
-              ter expansion and to  split  lines  into  words  with  the  r\bre\bea\bad\bd
+              ter  expansion  and  to  split  lines  into  words with the r\bre\bea\bad\bd
               builtin command.  Word splitting is described below under E\bEX\bXP\bPA\bAN\bN-\b-
               S\bSI\bIO\bON\bN.  The default value is "<space><tab><newline>".
        I\bIG\bGN\bNO\bOR\bRE\bEE\bEO\bOF\bF
               Controls the action of an interactive shell on receipt of an E\bEO\bOF\bF
               character as the sole input.  If set, the value is the number of
-              consecutive  E\bEO\bOF\bF  characters  which  must  be typed as the first
-              characters on an input line before b\bba\bas\bsh\bh exits.  If the  variable
-              is  set but does not have a numeric value, or the value is null,
-              the default value is 10.  If it is unset, E\bEO\bOF\bF signifies the  end
+              consecutive E\bEO\bOF\bF characters which must  be  typed  as  the  first
+              characters  on an input line before b\bba\bas\bsh\bh exits.  If the variable
+              is set but does not have a numeric value, or the value is  null,
+              the  default value is 10.  If it is unset, E\bEO\bOF\bF signifies the end
               of input to the shell.
        I\bIN\bNP\bPU\bUT\bTR\bRC\bC
-              The  filename  for the r\bre\bea\bad\bdl\bli\bin\bne\be startup file, overriding the de-
+              The filename for the r\bre\bea\bad\bdl\bli\bin\bne\be startup file, overriding  the  de-
               fault of _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).
        I\bIN\bNS\bSI\bID\bDE\bE_\b_E\bEM\bMA\bAC\bCS\bS
-              If this variable appears  in  the  environment  when  the  shell
-              starts,  b\bba\bas\bsh\bh  assumes  that it is running inside an Emacs shell
-              buffer and may disable line editing, depending on the  value  of
+              If  this  variable  appears  in  the  environment when the shell
+              starts, b\bba\bas\bsh\bh assumes that it is running inside  an  Emacs  shell
+              buffer  and  may disable line editing, depending on the value of
               T\bTE\bER\bRM\bM.
-       L\bLA\bAN\bNG\bG   Used  to  determine  the  locale  category  for any category not
+       L\bLA\bAN\bNG\bG   Used to determine the  locale  category  for  any  category  not
               specifically selected with a variable starting with L\bLC\bC_\b_.
-       L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of  L\bLA\bAN\bNG\bG  and  any  other  L\bLC\bC_\b_
+       L\bLC\bC_\b_A\bAL\bLL\bL This  variable  overrides  the  value  of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
               variable specifying a locale category.
        L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
-              This  variable  determines the collation order used when sorting
-              the results of pathname expansion, and determines  the  behavior
-              of  range  expressions,  equivalence  classes, and collating se-
+              This variable determines the collation order used  when  sorting
+              the  results  of pathname expansion, and determines the behavior
+              of range expressions, equivalence  classes,  and  collating  se-
               quences within pathname expansion and pattern matching.
        L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE
-              This variable determines the interpretation  of  characters  and
-              the  behavior of character classes within pathname expansion and
+              This  variable  determines  the interpretation of characters and
+              the behavior of character classes within pathname expansion  and
               pattern matching.
        L\bLC\bC_\b_M\bME\bES\bSS\bSA\bAG\bGE\bES\bS
-              This variable determines the locale used  to  translate  double-
+              This  variable  determines  the locale used to translate double-
               quoted strings preceded by a $\b$.
        L\bLC\bC_\b_N\bNU\bUM\bME\bER\bRI\bIC\bC
-              This  variable  determines  the  locale category used for number
+              This variable determines the locale  category  used  for  number
               formatting.
        L\bLC\bC_\b_T\bTI\bIM\bME\bE
-              This variable determines the locale category used for  data  and
+              This  variable  determines the locale category used for data and
               time formatting.
-       L\bLI\bIN\bNE\bES\bS  Used  by  the  s\bse\bel\ble\bec\bct\bt  compound  command to determine the column
-              length for printing selection lists.  Automatically set  if  the
-              c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\b option  is enabled or in an interactive shell upon
+       L\bLI\bIN\bNE\bES\bS  Used by the s\bse\bel\ble\bec\bct\bt compound  command  to  determine  the  column
+              length  for  printing selection lists.  Automatically set if the
+              c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\boption is enabled or in an interactive  shell  upon
               receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
        M\bMA\bAI\bIL\bL   If the value is set to a file or directory name and the M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
-              variable is not set, b\bba\bas\bsh\bh informs the user  of  the  arrival  of
+              variable  is  not  set,  b\bba\bas\bsh\bh informs the user of the arrival of
               mail in the specified file or Maildir-format directory.
        M\bMA\bAI\bIL\bLC\bCH\bHE\bEC\bCK\bK
-              Specifies  how often (in seconds) b\bba\bas\bsh\bh checks for mail.  The de-
-              fault is 60 seconds.  When it is time to  check  for  mail,  the
-              shell  does  so  before  displaying the primary prompt.  If this
-              variable is unset, or set to  a  value  that  is  not  a  number
+              Specifies how often (in seconds) b\bba\bas\bsh\bh checks for mail.  The  de-
+              fault  is  60  seconds.   When it is time to check for mail, the
+              shell does so before displaying the  primary  prompt.   If  this
+              variable  is  unset,  or  set  to  a  value that is not a number
               greater than or equal to zero, the shell disables mail checking.
        M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
               A colon-separated list of filenames to be checked for mail.  The
               message to be printed when mail arrives in a particular file may
-              be  specified by separating the filename from the message with a
-              "?".  When used in the text of the message, $\b$_\b_  expands  to  the
+              be specified by separating the filename from the message with  a
+              "?".   When  used  in the text of the message, $\b$_\b_ expands to the
               name of the current mailfile.  For example:
               M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"'
-              B\bBa\bas\bsh\b can be configured to supply a default value for this vari-
-              able (there is no value by default), but  the  location  of  the
+              B\bBa\bas\bsh\bcan be configured to supply a default value for this  vari-
+              able  (there  is  no  value by default), but the location of the
               user  mail  files  that  it  uses  is  system  dependent  (e.g.,
               /var/mail/$\b$U\bUS\bSE\bER\bR).
        O\bOP\bPT\bTE\bER\bRR\bR If set to the value 1, b\bba\bas\bsh\bh displays error messages generated by
-              the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\b below).
-              O\bOP\bPT\bTE\bER\bRR\b is  initialized to 1 each time the shell is invoked or a
+              the  g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
+              O\bOP\bPT\bTE\bER\bRR\bis initialized to 1 each time the shell is invoked  or  a
               shell script is executed.
-       P\bPA\bAT\bTH\bH   The search path for commands.  It is a colon-separated  list  of
-              directories  in  which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bbelow).  A zero-length (null) directory  name  in  the
+       P\bPA\bAT\bTH\bH   The  search  path for commands.  It is a colon-separated list of
+              directories in which the shell looks for commands  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD
+              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b below).   A  zero-length (null) directory name in the
               value of P\bPA\bAT\bTH\bH indicates the current directory.  A null directory
-              name  may  appear  as  two  adjacent colons, or as an initial or
-              trailing colon.  The default path is  system-dependent,  and  is
+              name may appear as two adjacent colons,  or  as  an  initial  or
+              trailing  colon.   The  default path is system-dependent, and is
               set by the administrator who installs b\bba\bas\bsh\bh.  A common value is
-              "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin".
+                   /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
        P\bPO\bOS\bSI\bIX\bXL\bLY\bY_\b_C\bCO\bOR\bRR\bRE\bEC\bCT\bT
-              If  this  variable  is  in the environment when b\bba\bas\bsh\bh starts, the
-              shell enters posix mode before reading the startup files, as  if
-              the  -\b--\b-p\bpo\bos\bsi\bix\bx  invocation option had been supplied.  If it is set
-              while the shell is running, b\bba\bas\bsh\bh enables posix mode, as  if  the
+              If this variable is in the environment  when  b\bba\bas\bsh\bh  starts,  the
+              shell  enters posix mode before reading the startup files, as if
+              the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied.  If it  is  set
+              while  the  shell is running, b\bba\bas\bsh\bh enables posix mode, as if the
               command "set -o posix" had been executed.  When the shell enters
               posix mode, it sets this variable if it was not already set.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              If  this variable is set, and is an array, the value of each set
-              element is executed as a command prior to issuing  each  primary
-              prompt.   If this is set but not an array variable, its value is
+              If this variable is set, and is an array, the value of each  set
+              element  is  executed as a command prior to issuing each primary
+              prompt.  If this is set but not an array variable, its value  is
               used as a command to execute instead.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM
-              If set to a number greater than zero, the value is used  as  the
+              If  set  to a number greater than zero, the value is used as the
               number of trailing directory components to retain when expanding
-              the  \\b\w\bw  and  \\b\W\bW  prompt  string  escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
+              the \\b\w\bw and \\b\W\bW  prompt  string  escapes  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below).
               Characters removed are replaced with an ellipsis.
-       P\bPS\bS0\b0    The value of this parameter is expanded  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below)
-              and  displayed by interactive shells after reading a command and
+       P\bPS\bS0\b0    The  value  of  this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+              and displayed by interactive shells after reading a command  and
               before the command is executed.
-       P\bPS\bS1\b1    The value of this parameter is expanded  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below)
-              and  used  as  the  primary prompt string.  The default value is
+       P\bPS\bS1\b1    The  value  of  this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+              and used as the primary prompt string.   The  default  value  is
               "\s-\v\$ ".
-       P\bPS\bS2\b2    The value of this parameter is expanded as with P\bPS\bS1\b1 and used  as
+       P\bPS\bS2\b2    The  value of this parameter is expanded as with P\bPS\bS1\b1 and used as
               the secondary prompt string.  The default is "> ".
        P\bPS\bS3\b3    The value of this parameter is used as the prompt for the s\bse\bel\ble\bec\bct\bt
               command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
-       P\bPS\bS4\b4    The  value  of  this  parameter  is expanded as with P\bPS\bS1\b1 and the
+       P\bPS\bS4\b4    The value of this parameter is expanded  as  with  P\bPS\bS1\b1  and  the
               value is printed before each command b\bba\bas\bsh\bh displays during an ex-
               ecution trace.  The first character of the expanded value of P\bPS\bS4\b4
               is replicated multiple times, as necessary, to indicate multiple
               levels of indirection.  The default is "+ ".
-       S\bSH\bHE\bEL\bLL\bL  This variable expands to the full pathname to the shell.  If  it
-              is  not  set  when the shell starts, b\bba\bas\bsh\bh assigns to it the full
+       S\bSH\bHE\bEL\bLL\bL  This  variable expands to the full pathname to the shell.  If it
+              is not set when the shell starts, b\bba\bas\bsh\bh assigns to  it  the  full
               pathname of the current user's login shell.
        T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
-              The value of this parameter is used as a format string  specify-
-              ing  how  the timing information for pipelines prefixed with the
-              t\bti\bim\bme\breserved word should be displayed.  The %\b% character  intro-
-              duces  an  escape  sequence  that is expanded to a time value or
-              other information.  The escape sequences and their meanings  are
+              The  value of this parameter is used as a format string specify-
+              ing how the timing information for pipelines prefixed  with  the
+              t\bti\bim\bme\b reserved word should be displayed.  The %\b% character intro-
+              duces an escape sequence that is expanded to  a  time  value  or
+              other  information.  The escape sequences and their meanings are
               as follows; the brackets denote optional portions.
               %\b%%\b%        A literal %\b%.
               %\b%[\b[_\bp]\b][\b[l\bl]\b]R\bR  The elapsed time in seconds.
@@ -1511,80 +1525,88 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               %\b%[\b[_\bp]\b][\b[l\bl]\b]S\bS  The number of CPU seconds spent in system mode.
               %\b%P\bP        The CPU percentage, computed as (%U + %S) / %R.
 
-              The  optional  _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
+              The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn,  the  number
               of fractional digits after a decimal point.  A value of 0 causes
-              no decimal point or fraction to be output.  t\bti\bim\bme\be prints at  most
-              six  digits  after the decimal point; values of _\bp greater than 6
+              no  decimal point or fraction to be output.  t\bti\bim\bme\be prints at most
+              six digits after the decimal point; values of _\bp greater  than  6
               are changed to 6.  If _\bp is not specified, t\bti\bim\bme\be prints three dig-
               its after the decimal point.
 
-              The optional l\bl specifies a longer format, including minutes,  of
-              the  form  _\bM_\bMm_\bS_\bS._\bF_\bFs.   The value of _\bp determines whether or not
+              The  optional l\bl specifies a longer format, including minutes, of
+              the form _\bM_\bMm_\bS_\bS._\bF_\bFs.  The value of _\bp determines  whether  or  not
               the fraction is included.
 
-              If this variable is not set, b\bba\bas\bsh\bh acts as if it  had  the  value
-              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs\\b\t\bt%\b%3\b3l\blS\bS'\b'.   If  the value is null,
-              b\bba\bas\bsh\bdoes not display any timing information.  A  trailing  new-
+              If  this  variable  is not set, b\bba\bas\bsh\bh acts as if it had the value
+              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs\\b\t\bt%\b%3\b3l\blS\bS'\b'.  If the value  is  null,
+              b\bba\bas\bsh\b does  not display any timing information.  A trailing new-
               line is added when the format string is displayed.
-       T\bTM\bMO\bOU\bUT\bT  If  set  to a value greater than zero, the r\bre\bea\bad\bd builtin uses the
-              value as its default timeout.  The s\bse\bel\ble\bec\bct\bt command terminates  if
-              input  does  not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is coming
-              from a terminal.  In an interactive shell, the value  is  inter-
-              preted  as the number of seconds to wait for a line of input af-
-              ter issuing the primary prompt.  B\bBa\bas\bsh\bh terminates  after  waiting
-              for  that number of seconds if a complete line of input does not
+       T\bTM\bMO\bOU\bUT\bT  If set to a value greater than zero, the r\bre\bea\bad\bd builtin  uses  the
+              value  as its default timeout.  The s\bse\bel\ble\bec\bct\bt command terminates if
+              input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input  is  coming
+              from  a  terminal.  In an interactive shell, the value is inter-
+              preted as the number of seconds to wait for a line of input  af-
+              ter  issuing  the primary prompt.  B\bBa\bas\bsh\bh terminates after waiting
+              for that number of seconds if a complete line of input does  not
               arrive.
-       T\bTM\bMP\bPD\bDI\bIR\bR If set, b\bba\bas\bsh\bh uses its value as the name of a directory in  which
+       T\bTM\bMP\bPD\bDI\bIR\bR If  set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
               b\bba\bas\bsh\bh creates temporary files for the shell's use.
        a\bau\but\bto\bo_\b_r\bre\bes\bsu\bum\bme\be
               This variable controls how the shell interacts with the user and
-              job  control.  If this variable is set, simple commands consist-
-              ing of only a single word, without redirections, are treated  as
-              candidates  for resumption of an existing stopped job.  There is
-              no ambiguity allowed; if there is more than  one  job  beginning
-              with  or containing the word, this selects the most recently ac-
-              cessed job.  The _\bn_\ba_\bm_\be of a stopped job, in this context, is  the
-              command  line used to start it, as displayed by j\bjo\bob\bbs\bs.  If set to
-              the value _\be_\bx_\ba_\bc_\bt, the word must match the name of a  stopped  job
-              exactly;  if  set  to  _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the word needs to match a sub-
-              string of the name of a stopped job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg  value  pro-
+              job control.  If this variable is set, simple commands  consist-
+              ing  of only a single word, without redirections, are treated as
+              candidates for resumption of an existing stopped job.  There  is
+              no  ambiguity  allowed;  if there is more than one job beginning
+              with or containing the word, this selects the most recently  ac-
+              cessed  job.  The _\bn_\ba_\bm_\be of a stopped job, in this context, is the
+              command line used to start it, as displayed by j\bjo\bob\bbs\bs.  If set  to
+              the  value  _\be_\bx_\ba_\bc_\bt, the word must match the name of a stopped job
+              exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the word needs  to  match  a  sub-
+              string  of  the name of a stopped job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value pro-
               vides functionality analogous to the %\b%?\b?  job identifier (see J\bJO\bOB\bB
-              C\bCO\bON\bNT\bTR\bRO\bOL\b below).   If set to any other value (e.g., _\bp_\br_\be_\bf_\bi_\bx), the
-              word must be a prefix of a stopped  job's  name;  this  provides
+              C\bCO\bON\bNT\bTR\bRO\bOL\bbelow).  If set to any other value (e.g.,  _\bp_\br_\be_\bf_\bi_\bx),  the
+              word  must  be  a  prefix of a stopped job's name; this provides
               functionality analogous to the %\b%_\bs_\bt_\br_\bi_\bn_\bg job identifier.
        h\bhi\bis\bst\btc\bch\bha\bar\brs\bs
-              The  two  or  three  characters which control history expansion,
-              quick substitution, and tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\b be-
-              low).   The  first character is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character,
-              the character which begins a history  expansion,  normally  "!\b!".
-              The  second  character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, nor-
-              mally "^\b^".  When it appears as the first character on the  line,
+              The two or three characters  which  control  history  expansion,
+              quick  substitution, and tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN be-
+              low).  The first character is the _\bh_\bi_\bs_\bt_\bo_\br_\by  _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\b character,
+              the  character  which  begins a history expansion, normally "!\b!".
+              The second character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn  character,  nor-
+              mally  "^\b^".  When it appears as the first character on the line,
               history substitution repeats the previous command, replacing one
-              string  with another.  The optional third character is the char-
-              acter which indicates that the remainder of the line is  a  com-
-              ment  when found as the first character of a word, normally "#\b#".
-              The history comment character disables history substitution  for
-              the  remaining words on the line.  It does not necessarily cause
-              the shell parser to treat the rest of the line as a comment.
+              string with another.  The optional third character is  the  _\bh_\bi_\bs_\b-
+              _\bt_\bo_\br_\by  _\bc_\bo_\bm_\bm_\be_\bn_\bt character,  normally "#\b#", which indicates that the
+              remainder of the line is a comment when it appears as the  first
+              character  of  a  word.   The history comment character disables
+              history substitution for the remaining words on  the  line.   It
+              does not necessarily cause the shell parser to treat the rest of
+              the line as a comment.
 
    A\bAr\brr\bra\bay\bys\bs
-       B\bBa\bas\bsh\bh provides one-dimensional indexed and associative array  variables.
-       Any  variable  may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin ex-
-       plicitly declares an array.  There is no maximum limit on the  size  of
-       an  array, nor any requirement that members be indexed or assigned con-
-       tiguously.  Indexed arrays are referenced using arithmetic  expressions
-       that  must  expand to an integer and are zero-based; associative arrays
-       are referenced using arbitrary strings.  Unless  otherwise  noted,  in-
-       dexed array indices must be non-negative integers.
+       B\bBa\bas\bsh\bh  provides one-dimensional indexed and associative array variables.
+       Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be  builtin  ex-
+       plicitly  declares  an array.  There is no maximum limit on the size of
+       an array, nor any requirement that members be indexed or assigned  con-
+       tiguously.   Indexed arrays are referenced using arithmetic expressions
+       that must expand to an integer (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC  E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  below)  and
+       are  zero-based;  associative  arrays  are  referenced  using arbitrary
+       strings.  Unless otherwise noted, indexed array indices  must  be  non-
+       negative integers.
 
        An  indexed  array is created automatically if any variable is assigned
-       to using the syntax _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be.  The _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is treated as
-       an arithmetic expression that must evaluate to a number greater than or
-       equal to zero.  To explicitly declare an indexed array, use d\bde\bec\bcl\bla\bar\bre\be  -\b-a\ba
-       _\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is
-       also accepted; the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is ignored.
-
-       Associative arrays are created using d\bde\bec\bcl\bla\bar\bre\be -\b-A\bA _\bn_\ba_\bm_\be.
+       to using the syntax
+              _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be .
+       The _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is treated as an arithmetic expression that must evaluate
+       to a number greater than or equal to zero.  To  explicitly  declare  an
+       indexed array, use
+              d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be
+       (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
+              d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
+       is also accepted; the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is ignored.
+
+       Associative arrays are created using
+              d\bde\bec\bcl\bla\bar\bre\be -\b-A\bA _\bn_\ba_\bm_\be
+       .
 
        Attributes may be specified for an array variable using the d\bde\bec\bcl\bla\bar\bre\be and
        r\bre\bea\bad\bdo\bon\bnl\bly\by builtins.  Each attribute applies to all members of an array.
@@ -1621,72 +1643,72 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        the maximum index of _\bn_\ba_\bm_\be, so negative indices count back from the  end
        of the array, and an index of -1 references the last element.
 
-       The  +=  operator appends to an array variable when assigning using the
+       The "+=" operator appends to an array variable when assigning using the
        compound assignment syntax; see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS above.
 
-       An array element is referenced using  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.   The  braces
-       are  required to avoid conflicts with pathname expansion.  If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt
+       An  array  element  is referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.  The braces
+       are required to avoid conflicts with pathname expansion.  If  _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt
        is @\b@ or *\b*, the word expands to all members of _\bn_\ba_\bm_\be, unless noted in the
-       description of a builtin or word expansion.   These  subscripts  differ
-       only  when  the word appears within double quotes.  If the word is dou-
-       ble-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the value of  each
-       array  member separated by the first character of the I\bIF\bFS\bS special vari-
-       able, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a  separate  word.
+       description  of  a  builtin or word expansion.  These subscripts differ
+       only when the word appears within double quotes.  If the word  is  dou-
+       ble-quoted,  ${_\bn_\ba_\bm_\be[*]} expands to a single word with the value of each
+       array member separated by the first character of the I\bIF\bFS\bS special  vari-
+       able,  and  ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a separate word.
        When there are no array members, ${_\bn_\ba_\bm_\be[@]} expands to nothing.  If the
-       double-quoted  expansion  occurs  within  a  word, the expansion of the
-       first parameter is joined with the beginning part of the  expansion  of
-       the  original  word,  and the expansion of the last parameter is joined
-       with the last part of the expansion of  the  original  word.   This  is
-       analogous  to the expansion of the special parameters *\b* and @\b@ (see S\bSp\bpe\be-\b-
+       double-quoted expansion occurs within a  word,  the  expansion  of  the
+       first  parameter  is joined with the beginning part of the expansion of
+       the original word, and the expansion of the last  parameter  is  joined
+       with  the  last  part  of  the expansion of the original word.  This is
+       analogous to the expansion of the special parameters *\b* and @\b@ (see  S\bSp\bpe\be-\b-
        c\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs above).
 
-       ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]} expands to the length  of  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.   If
+       ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the length of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.  If
        _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of elements in the ar-
        ray.
 
        If the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt used to reference an element of an indexed array eval-
-       uates  to a number less than zero, it is interpreted as relative to one
-       greater than the maximum index of the array, so negative indices  count
-       back  from the end of the array, and an index of -1 references the last
+       uates to a number less than zero, it is interpreted as relative to  one
+       greater  than the maximum index of the array, so negative indices count
+       back from the end of the array, and an index of -1 references the  last
        element.
 
        Referencing an array variable without a subscript is equivalent to ref-
-       erencing the array with a subscript of 0.  Any reference to a  variable
+       erencing  the array with a subscript of 0.  Any reference to a variable
        using a valid subscript is valid; b\bba\bas\bsh\bh creates an array if necessary.
 
-       An  array variable is considered set if a subscript has been assigned a
+       An array variable is considered set if a subscript has been assigned  a
        value.  The null string is a valid value.
 
-       It is possible to obtain the keys (indices) of an array as well as  the
-       values.   ${!\b!_\bn_\ba_\bm_\be[_\b@]} and ${!\b!_\bn_\ba_\bm_\be[_\b*]} expand to the indices assigned in
+       It  is possible to obtain the keys (indices) of an array as well as the
+       values.  ${!\b!_\bn_\ba_\bm_\be[_\b@]} and ${!\b!_\bn_\ba_\bm_\be[_\b*]} expand to the indices assigned  in
        array variable _\bn_\ba_\bm_\be.  The treatment when in double quotes is similar to
        the expansion of the special parameters _\b@ and _\b* within double quotes.
 
        The u\bun\bns\bse\bet\bt builtin is used to destroy arrays.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] un-
-       sets the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt, for both indexed  and  asso-
-       ciative  arrays.  Negative subscripts to indexed arrays are interpreted
-       as described above.  Unsetting the last element of  an  array  variable
-       does  not  unset the variable.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be, where _\bn_\ba_\bm_\be is an array, re-
-       moves the entire array.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] behaves differently  de-
-       pending  on  whether  _\bn_\ba_\bm_\be is an indexed or associative array when _\bs_\bu_\bb_\b-
+       sets  the  array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt, for both indexed and asso-
+       ciative arrays.  Negative subscripts to indexed arrays are  interpreted
+       as  described  above.   Unsetting the last element of an array variable
+       does not unset the variable.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be, where _\bn_\ba_\bm_\be is an  array,  re-
+       moves  the entire array.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] behaves differently de-
+       pending on whether _\bn_\ba_\bm_\be is an indexed or associative  array  when  _\bs_\bu_\bb_\b-
        _\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@.  If _\bn_\ba_\bm_\be is an associative array, this unsets the el-
-       ement with subscript *\b* or @\b@.  If _\bn_\ba_\bm_\be is an indexed  array,  unset  re-
+       ement  with  subscript  *\b* or @\b@.  If _\bn_\ba_\bm_\be is an indexed array, unset re-
        moves all of the elements but does not remove the array itself.
 
-       When  using  a  variable name with a subscript as an argument to a com-
-       mand, such as with u\bun\bns\bse\bet\bt, without using the word expansion  syntax  de-
-       scribed  above, (e.g., unset a[4]), the argument is subject to pathname
-       expansion.  Quote the argument if pathname  expansion  is  not  desired
+       When using a variable name with a subscript as an argument  to  a  com-
+       mand,  such  as with u\bun\bns\bse\bet\bt, without using the word expansion syntax de-
+       scribed above, (e.g., unset a[4]), the argument is subject to  pathname
+       expansion.   Quote  the  argument  if pathname expansion is not desired
        (e.g., unset 'a[4]').
 
-       The  d\bde\bec\bcl\bla\bar\bre\be,  l\blo\boc\bca\bal\bl,  and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
-       specify an indexed array and a -\b-A\bA option to specify an associative  ar-
-       ray.   If  both  options  are  supplied, -\b-A\bA takes precedence.  The r\bre\bea\bad\bd
-       builtin accepts a -\b-a\ba option to assign a list of  words  read  from  the
+       The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a  -\b-a\ba  option  to
+       specify  an indexed array and a -\b-A\bA option to specify an associative ar-
+       ray.  If both options are supplied,  -\b-A\bA  takes  precedence.   The  r\bre\bea\bad\bd
+       builtin  accepts  a  -\b-a\ba  option to assign a list of words read from the
        standard input to an array.  The s\bse\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtins display array
-       values  in  a  way that allows them to be reused as assignments.  Other
-       builtins accept array name arguments as well (e.g., m\bma\bap\bpf\bfi\bil\ble\be);  see  the
-       descriptions  of individual builtins below for details.  The shell pro-
+       values in a way that allows them to be reused  as  assignments.   Other
+       builtins  accept  array name arguments as well (e.g., m\bma\bap\bpf\bfi\bil\ble\be); see the
+       descriptions of individual builtins below for details.  The shell  pro-
        vides a number of builtin array variables.
 
 E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
@@ -1696,53 +1718,51 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        _\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, and _\bq_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl.
 
        The order of expansions is: brace expansion; tilde expansion, parameter
-       and variable expansion, arithmetic expansion, and command  substitution
-       (done  in a left-to-right fashion); word splitting; pathname expansion;
+       and  variable expansion, arithmetic expansion, and command substitution
+       (done in a left-to-right fashion); word splitting; pathname  expansion;
        and quote removal.
 
        On systems that can support it, there is an additional expansion avail-
-       able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn.  This is performed  at  the  same  time  as
-       tilde,  parameter,  variable, and arithmetic expansion and command sub-
+       able:  _\bp_\br_\bo_\bc_\be_\bs_\bs  _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn.   This  is  performed at the same time as
+       tilde, parameter, variable, and arithmetic expansion and  command  sub-
        stitution.
 
-       _\bQ_\bu_\bo_\bt_\b_\br_\be_\bm_\bo_\bv_\ba_\bl is always performed last.  It  removes  quote  characters
-       present  in the original word, not ones resulting from one of the other
+       _\bQ_\bu_\bo_\bt_\b _\br_\be_\bm_\bo_\bv_\ba_\bl  is  always performed last.  It removes quote characters
+       present in the original word, not ones resulting from one of the  other
        expansions, unless they have been quoted themselves.
 
-       Only brace expansion, word splitting, and pathname  expansion  can  in-
-       crease  the number of words of the expansion; other expansions expand a
-       single word to a single word.  The only exceptions to this are the  ex-
+       Only  brace  expansion,  word splitting, and pathname expansion can in-
+       crease the number of words of the expansion; other expansions expand  a
+       single  word to a single word.  The only exceptions to this are the ex-
        pansions  of  "\b"$\b$@\b@"\b"  and  "\b"$\b${\b{_\bn_\ba_\bm_\be[\b[@\b@]\b]}\b}"\b",  and,  in  most  cases,  $\b$*\b*  and
        $\b${\b{_\bn_\ba_\bm_\be[\b[*\b*]\b]}\b} as explained above (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS).
 
    B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       _\bB_\br_\ba_\bc_\b_\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism to generate arbitrary strings sharing  a
+       _\bB_\br_\ba_\bc_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism to generate arbitrary strings sharing a
        common prefix and suffix, either of which can be empty.  This mechanism
-       is  similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the filenames generated need not
-       exist.  Patterns to be brace expanded are formed from an optional  _\bp_\br_\be_\b-
-       _\ba_\bm_\bb_\bl_\be,  followed by either a series of comma-separated strings or a se-
-       quence expression between a pair of braces,  followed  by  an  optional
-       _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.   The  preamble is prefixed to each string contained within
-       the braces, and the postscript  is  then  appended  to  each  resulting
+       is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the filenames generated need  not
+       exist.   Patterns to be brace expanded are formed from an optional _\bp_\br_\be_\b-
+       _\ba_\bm_\bb_\bl_\be, followed by either a series of comma-separated strings or a  se-
+       quence  expression  between  a  pair of braces, followed by an optional
+       _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.  The preamble is prefixed to each string  contained  within
+       the  braces,  and  the  postscript  is  then appended to each resulting
        string, expanding left to right.
 
-       Brace  expansions  may  be nested.  The results of each expanded string
+       Brace expansions may be nested.  The results of  each  expanded  string
        are not sorted; brace expansion preserves left to right order.  For ex-
        ample, a{\b{d,c,b}\b}e expands into "ade ace abe".
 
-       A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\b are
-       either  integers or single letters, and _\bi_\bn_\bc_\br, an optional increment, is
+       A  sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
+       either integers or single letters, and _\bi_\bn_\bc_\br, an optional increment,  is
        an integer.  When integers are supplied, the expression expands to each
-       number between _\bx and _\by, inclusive.  If either _\bx or  _\by  begins  with  _\b0,
-       each  generated  term  will  contain  the  same number of digits, zero-
-       padding where necessary.  When either _\bx or _\by begins with  a  zero,  the
-       shell  attempts to force all generated terms to contain the same number
-       of digits, zero-padding where necessary.  When  letters  are  supplied,
-       the  expression  expands  to each character lexicographically between _\bx
-       and _\by, inclusive, using the default C locale.  Note that both _\bx  and  _\by
-       must  be  of  the same type (integer or letter).  When the increment is
-       supplied, it is used as the difference between each term.  The  default
-       increment is 1 or -1 as appropriate.
+       number  between  _\bx  and  _\by,  inclusive.  If either _\bx or _\by begins with a
+       zero, each generated term will contain the same number of digits, zero-
+       padding where necessary.  When letters are supplied, the expression ex-
+       pands to each character lexicographically between _\bx and  _\by,  inclusive,
+       using the default C locale.  Note that both _\bx and _\by must be of the same
+       type  (integer  or letter).  When the increment is supplied, it is used
+       as the difference between each term.  The default increment is 1 or  -1
+       as appropriate.
 
        Brace expansion is performed before any other expansions, and any char-
        acters  special to other expansions are preserved in the result.  It is
@@ -1753,10 +1773,10 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        closing braces, and at least one unquoted comma or a valid sequence ex-
        pression.  Any incorrectly formed brace expansion is left unchanged.
 
-       A {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
-       part of a brace expression.  To avoid conflicts with  parameter  expan-
-       sion, the string $\b${\b{ is not considered eligible for brace expansion, and
-       inhibits brace expansion until the closing }\b}.
+       A "{" or Q , may be quoted with a backslash to prevent its  being  con-
+       sidered  part of a brace expression.  To avoid conflicts with parameter
+       expansion, the string "${" is not considered eligible for brace  expan-
+       sion, and inhibits brace expansion until the closing "}".
 
        This construct is typically used as shorthand when the common prefix of
        the strings to be generated is longer than in the above example:
@@ -1769,8 +1789,8 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        versions of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces  specially
        when  they  appear as part of a word, and preserves them in the output.
        B\bBa\bas\bsh\bh removes braces from words as a  consequence  of  brace  expansion.
-       For  example,  a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
-       the output.  B\bBa\bas\bsh\bh outputs that word as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after  brace  expan-
+       For example, a word entered to s\bsh\bh as "file{1,2}" appears identically in
+       the output.  B\bBa\bas\bsh\bh outputs that word as "file1 file2" after brace expan-
        sion.   Start  b\bba\bas\bsh\bh  with the +\b+B\bB option or disable brace expansion with
        the +\b+B\bB option to the s\bse\bet\bt command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) for
        strict s\bsh\bh compatibility.
@@ -2203,7 +2223,7 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        sis, otherwise the construct would be interpreted as a redirection.
 
        Process  substitution  is supported on systems that support named pipes
-       (_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.
+       (_\bF_\bI_\bF_\bO_\bs) or the _\b/_\bd_\be_\bv_\b/_\bf_\bd method of naming open files.
 
        When available, process substitution is performed  simultaneously  with
        parameter  and variable expansion, command substitution, and arithmetic
@@ -2302,8 +2322,9 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell op-
        tion.
 
-       The G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT shell variable controls how the results of pathname expan-
-       sion are sorted, as described above.
+       The  value  of  the G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT shell variable controls how the results of
+       pathname expansion are sorted, as described  above  under  S\bSh\bhe\bel\bll\bl  V\bVa\bar\bri\bi-\b-
+       a\bab\bbl\ble\bes\bs.
 
        P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
 
@@ -2499,14 +2520,14 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]>\b>_\bw_\bo_\br_\bd
 
        If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to  the  s\bse\bet\bt
-       builtin  has been enabled, the redirection fails 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,  b\bba\bas\bsh\bh
+       builtin  command  has  been  enabled, the redirection fails 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 is not  enabled,  b\bba\bas\bsh\bh
        attempts the redirection 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
-       Redirecting   output  in this fashion opens the file whose name results
+       Redirecting  output  in  this fashion opens the file whose name results
        from the expansion of _\bw_\bo_\br_\bd for appending on file descriptor _\bn,  or  the
        standard output (file descriptor 1) if _\bn is not specified.  If the file
        does not exist it is created.
@@ -3828,72 +3849,71 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               list.  If set to zero, any existing history entries are  deleted
               and no new entries are saved.  If set to a value less than zero,
               the  number of history entries is not limited.  By default, b\bba\bas\bsh\bh
-              sets the the maximum number of history entries to the  value  of
-              the  H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE shell variable.  Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a non-nu-
-              meric value will set the maximum number of  history  entries  to
-              500.
+              sets the maximum number of history entries to the value  of  the
+              H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE  shell variable.  Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a non-numeric
+              value will set the maximum number of history entries to 500.
        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)
               Setting this variable to O\bOn\bn makes r\bre\bea\bad\bdl\bli\bin\bne\be 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 new line.  This setting is automatically enabled
+              display, scrolling the input horizontally  on  a  single  screen
+              line  when  it  becomes longer than the screen width rather than
+              wrapping to a new line.  This setting is  automatically  enabled
               for terminals of height 1.
        i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be enables eight-bit input (that is, it does
               not clear the eighth bit in the characters it reads), regardless
               of what the terminal claims it can support.  The default is _\bO_\bf_\bf,
-              but r\bre\bea\bad\bdl\bli\bin\bne\be sets it to _\bO_\bn if  the  locale  contains  characters
+              but  r\bre\bea\bad\bdl\bli\bin\bne\be  sets  it  to _\bO_\bn if the locale contains characters
               whose encodings may include bytes with the eighth bit set.  This
-              variable  is  dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and its
+              variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category,  and  its
               value may change if the locale changes.  The name m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a
               synonym for i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba.
        i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b("C\bC-\b-[\b[C\bC-\b-j\bj")\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 C\bC-\b-j\bj terminate an incremental search.
        k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
-              Set  the current r\bre\bea\bad\bdl\bli\bin\bne\be 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 r\bre\bea\bad\bdl\bli\bin\bne\be 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.
        k\bke\bey\bys\bse\beq\bq-\b-t\bti\bim\bme\beo\bou\but\bt (\b(5\b50\b00\b0)\b)
-              Specifies  the  duration r\bre\bea\bad\bdl\bli\bin\bne\be will wait for a character when
-              reading an ambiguous key sequence (one that can form a  complete
+              Specifies the duration r\bre\bea\bad\bdl\bli\bin\bne\be will wait for a  character  when
+              reading  an ambiguous key sequence (one that can form a complete
               key sequence using the input read so far, or can take additional
-              input  to complete a longer key sequence).  If r\bre\bea\bad\bdl\bli\bin\bne\be does not
-              receive any input within the timeout, it uses  the  shorter  but
-              complete  key sequence.  The value is specified in milliseconds,
-              so a value of 1000 means that r\bre\bea\bad\bdl\bli\bin\bne\be will wait one second  for
-              additional  input.  If this variable is set to a value less than
-              or equal to zero, or to a non-numeric value, r\bre\bea\bad\bdl\bli\bin\bne\be waits  un-
-              til  another key is pressed to decide which key sequence to com-
+              input to complete a longer key sequence).  If r\bre\bea\bad\bdl\bli\bin\bne\be does  not
+              receive  any  input  within the timeout, it uses the shorter but
+              complete key sequence.  The value is specified in  milliseconds,
+              so  a value of 1000 means that r\bre\bea\bad\bdl\bli\bin\bne\be will wait one second for
+              additional input.  If this variable is set to a value less  than
+              or  equal to zero, or to a non-numeric value, r\bre\bea\bad\bdl\bli\bin\bne\be waits un-
+              til another key is pressed to decide which key sequence to  com-
               plete.
        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, r\bre\bea\bad\bdl\bli\bin\bne\be displays history  lines  that  have  been
+              If  set  to  O\bOn\bn,  r\bre\bea\bad\bdl\bli\bin\bne\be displays history lines that have been
               modified 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 m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
+              tories have a slash appended, subject to the value  of  m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
               r\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, forces r\bre\bea\bad\bdl\bli\bin\bne\be  to  match  files
-              whose  names  begin  with  a "."  (hidden files) when performing
-              filename completion.  If set to O\bOf\bff\bf, the user must  include  the
+              This  variable,  when  set to O\bOn\bn, forces r\bre\bea\bad\bdl\bli\bin\bne\be to match files
+              whose names begin with a "."   (hidden  files)  when  performing
+              filename  completion.   If set to O\bOf\bff\bf, the user must include the
               leading "."  in the filename to be completed.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If  set to O\bOn\bn, menu completion displays the common prefix of the
+              If set to O\bOn\bn, menu completion displays the common prefix of  the
               list of possible completions (which may be empty) before cycling
               through the list.
        o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays characters with the  eighth  bit
-              set  directly  rather  than  as a meta-prefixed escape sequence.
-              The default is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be sets it to  _\bO_\bn  if  the  locale
-              contains  characters  whose encodings may include bytes with the
-              eighth bit set.  This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\b lo-
+              If  set  to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays characters with the eighth bit
+              set directly rather than as  a  meta-prefixed  escape  sequence.
+              The  default  is  _\bO_\bf_\bf,  but r\bre\bea\bad\bdl\bli\bin\bne\be sets it to _\bO_\bn if the locale
+              contains characters whose encodings may include bytes  with  the
+              eighth  bit set.  This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
               cale category, and its value may change if the locale changes.
        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, r\bre\bea\bad\bdl\bli\bin\bne\be uses an internal pager resembling _\bm_\bo_\br_\be(1)
@@ -3901,109 +3921,109 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        p\bpr\bre\bef\bfe\ber\br-\b-v\bvi\bis\bsi\bib\bbl\ble\be-\b-b\bbe\bel\bll\bl
               See b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be.
        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, r\bre\bea\bad\bdl\bli\bin\bne\be displays completions with matches sorted
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays completions with matches  sorted
               horizontally in alphabetical order, rather than down the screen.
        r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will undo all changes  to  history  lines
-              before  returning  when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be.  By default, his-
-              tory lines may be modified  and  retain  individual  undo  lists
+              If  set  to  O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will undo all changes to history lines
+              before returning when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be.  By  default,  his-
+              tory  lines  may  be  modified  and retain individual undo lists
               across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
        s\bse\bea\bar\brc\bch\bh-\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, r\bre\bea\bad\bdl\bli\bin\bne\be performs incremental and non-incremental
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs incremental and  non-incremental
               history list searches in a case-insensitive fashion.
        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 in-
+              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  in-
               stead of ringing the bell.
        s\bsh\bho\bow\bw-\b-m\bmo\bod\bde\be-\b-i\bin\bn-\b-p\bpr\bro\bom\bmp\bpt\bt (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, add a string to the beginning of the prompt  indi-
-              cating  the  editing  mode:  emacs, vi command, or vi insertion.
+              If  set to O\bOn\bn, add a string to the beginning of the prompt indi-
+              cating the editing mode: emacs, vi  command,  or  vi  insertion.
               The mode strings are user-settable (e.g., _\be_\bm_\ba_\bc_\bs_\b-_\bm_\bo_\bd_\be_\b-_\bs_\bt_\br_\bi_\bn_\bg).
        s\bsk\bki\bip\bp-\b-c\bco\bom\bmp\bpl\ble\bet\bte\bed\bd-\b-t\bte\bex\bxt\bt (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, this alters the default completion  behavior  when
-              inserting  a  single match into the line.  It's only active when
-              performing completion in the middle  of  a  word.   If  enabled,
-              r\bre\bea\bad\bdl\bli\bin\bne\b does  not  insert  characters from the completion that
-              match characters after point in the  word  being  completed,  so
+              If  set  to O\bOn\bn, this alters the default completion behavior when
+              inserting a single match into the line.  It's only  active  when
+              performing  completion  in  the  middle  of a word.  If enabled,
+              r\bre\bea\bad\bdl\bli\bin\bne\bdoes not insert characters  from  the  completion  that
+              match  characters  after  point  in the word being completed, so
               portions of the word following the cursor are not duplicated.
        v\bvi\bi-\b-c\bcm\bmd\bd-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(c\bcm\bmd\bd)\b))\b)
-              If  the  _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+              If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this  string  is
               displayed immediately before the last line of the primary prompt
-              when vi editing mode is active and in command mode.   The  value
+              when  vi  editing mode is active and in command mode.  The value
               is expanded like a key binding, so the standard set of meta- and
-              control-  prefixes  and backslash escape sequences is available.
-              The \1 and \2 escapes begin and end  sequences  of  non-printing
-              characters,  which  can  be used to embed a terminal control se-
+              control- prefixes and backslash escape sequences  is  available.
+              The  \1  and  \2 escapes begin and end sequences of non-printing
+              characters, which can be used to embed a  terminal  control  se-
               quence into the mode string.
        v\bvi\bi-\b-i\bin\bns\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(i\bin\bns\bs)\b))\b)
-              If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this  string  is
+              If  the  _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
               displayed immediately before the last line of the primary prompt
               when vi editing mode is active and in insertion mode.  The value
               is expanded like a key binding, so the standard set of meta- and
-              control-  prefixes  and backslash escape sequences is available.
-              The \1 and \2 escapes begin and end  sequences  of  non-printing
-              characters,  which  can  be used to embed a terminal control se-
+              control- prefixes and backslash escape sequences  is  available.
+              The  \1  and  \2 escapes begin and end sequences of non-printing
+              characters, which can be used to embed a  terminal  control  se-
               quence into the mode string.
        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
-       R\bRe\bea\bad\bdl\bli\bin\bne\bimplements 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
+       R\bRe\bea\bad\bdl\bli\bin\bne\b 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 available.
 
-       $\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
-              r\bre\bea\bad\bdl\bli\bin\bne\be.   The text of the test, after any comparison operator,
+       $\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
+              r\bre\bea\bad\bdl\bli\bin\bne\be.  The text of the test, after any comparison  operator,
               extends to the end of the line; unless otherwise noted, no char-
               acters 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  r\bre\bea\bad\bdl\bli\bin\bne\be  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  in-
-                     stance,   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 r\bre\bea\bad\bdl\bli\bin\bne\be 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 r\bre\bea\bad\bdl\bli\bin\bne\be 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 in-
+                     stance,  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 r\bre\bea\bad\bdl\bli\bin\bne\be 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 both the full name of the ter-
-                     minal and the portion of the  terminal  name  before  the
-                     first  -\b-.   This  allows  _\bx_\bt_\be_\br_\bm  to  match both _\bx_\bt_\be_\br_\bm and
+                     minal  and  the  portion  of the terminal name before the
+                     first -\b-.  This allows  _\bx_\bt_\be_\br_\bm  to  match  both  _\bx_\bt_\be_\br_\b and
                      _\bx_\bt_\be_\br_\bm_\b-_\b2_\b5_\b6_\bc_\bo_\bl_\bo_\br, for instance.
 
               v\bve\ber\brs\bsi\bio\bon\bn
-                     The v\bve\ber\brs\bsi\bio\bon\bn test  may  be  used  to  perform  comparisons
-                     against  specific r\bre\bea\bad\bdl\bli\bin\bne\be versions.  The v\bve\ber\brs\bsi\bio\bon\bn expands
-                     to the current r\bre\bea\bad\bdl\bli\bin\bne\be version.  The set  of  comparison
-                     operators  includes  =\b=,  (and  =\b==\b=), !\b!=\b=, <\b<=\b=, >\b>=\b=, <\b<, and >\b>.
-                     The version number supplied on the right side of the  op-
-                     erator  consists  of  a major version number, an optional
+                     The  v\bve\ber\brs\bsi\bio\bon\bn  test  may  be  used  to perform comparisons
+                     against specific r\bre\bea\bad\bdl\bli\bin\bne\be versions.  The v\bve\ber\brs\bsi\bio\bon\b expands
+                     to  the  current r\bre\bea\bad\bdl\bli\bin\bne\be version.  The set of comparison
+                     operators includes =\b=, (and =\b==\b=), !\b!=\b=, <\b<=\b=,  >\b>=\b=,  <\b<,  and  >\b>.
+                     The  version number supplied on the right side of the op-
+                     erator consists of a major version  number,  an  optional
                      decimal point, and an optional minor version (e.g., 7\b7.\b.1\b1).
-                     If the minor version is omitted, it defaults to  0\b0.   The
-                     operator  may  be  separated  from the string v\bve\ber\brs\bsi\bio\bon\bn and
+                     If  the  minor version is omitted, it defaults to 0\b0.  The
+                     operator may be separated from  the  string  v\bve\ber\brs\bsi\bio\bon\b and
                      from the version number argument by whitespace.
 
               _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn
                      The _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn construct is used to include application-
-                     specific settings.  Each program using the  r\bre\bea\bad\bdl\bli\bin\bne\b li-
-                     brary  sets  the  _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
+                     specific  settings.   Each program using the r\bre\bea\bad\bdl\bli\bin\bne\be li-
+                     brary 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
                      b\bba\bas\bsh\bh:
 
                      $\b$i\bif\bf Bash
@@ -4013,12 +4033,12 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
               _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be
                      The _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be construct provides simple equality tests for
-                     r\bre\bea\bad\bdl\bli\bin\bne\b variables and values.  The permitted comparison
-                     operators are _\b=, _\b=_\b=, and _\b!_\b=.  The variable name  must  be
+                     r\bre\bea\bad\bdl\bli\bin\bne\bvariables and values.  The permitted  comparison
+                     operators  are  _\b=, _\b=_\b=, and _\b!_\b=.  The variable name must be
                      separated from the comparison operator by whitespace; the
-                     operator  may  be  separated  from the value on the right
-                     hand side by whitespace.  String  and  boolean  variables
-                     may  be tested.  Boolean variables must be tested against
+                     operator may be separated from the  value  on  the  right
+                     hand  side  by  whitespace.  String and boolean variables
+                     may be tested.  Boolean variables must be tested  against
                      the values _\bo_\bn and _\bo_\bf_\bf.
 
        $\b$e\bel\bls\bse\be  Commands in this branch of the $\b$i\bif\bf directive are executed if the
@@ -4028,71 +4048,71 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               command.
 
        $\b$i\bin\bnc\bcl\blu\bud\bde\be
-              This directive takes a single filename as an argument and  reads
+              This  directive takes a single filename as an argument and reads
               commands and key bindings from that file.  For example, the fol-
               lowing 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
-       R\bRe\bea\bad\bdl\bli\bin\bne\b provides  commands  for searching through the command history
+       R\bRe\bea\bad\bdl\bli\bin\bne\bprovides 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, r\bre\bea\bad\bd-\b-
+       Incremental  searches  begin  before  the  user has finished typing the
+       search string.  As each character of the search string is typed,  r\bre\bea\bad\bd-\b-
        l\bli\bin\bne\be 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.  When using emacs editing
-       mode, type C\bC-\b-r\br to search backward  in  the  history  for  a  particular
-       string.   Typing C\bC-\b-s\bs searches forward through the history.  The charac-
-       ters 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 as-
-       signed a value, _\bE_\bS_\bC and  C\bC-\b-j\bj  terminate  an  incremental  search.   C\bC-\b-g\bg
-       aborts  an incremental search and restores the original line.  When the
-       search is terminated, the history entry containing  the  search  string
+       so  far.   An  incremental  search  requires only as many characters as
+       needed to find the desired history entry.   When  using  emacs  editing
+       mode,  type  C\bC-\b-r\br  to  search  backward  in the history for a particular
+       string.  Typing C\bC-\b-s\bs searches forward through the history.  The  charac-
+       ters  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  as-
+       signed  a  value,  _\bE_\bS_\bC  and  C\bC-\b-j\bj  terminate an incremental search.  C\bC-\b-g\bg
+       aborts an incremental search and restores 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 C\bC-\b-r\br or C\bC-\b-s\bs as
-       appropriate.  This searches backward or forward in the history for  the
-       next  entry matching the search string typed so far.  Any other key se-
-       quence bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command terminates the search  and  executes
-       that  command.   For  instance, a newline terminates the search and ac-
+       To find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\b as
+       appropriate.   This searches backward or forward in the history for the
+       next entry matching the search string typed so far.  Any other key  se-
+       quence  bound  to a r\bre\bea\bad\bdl\bli\bin\bne\be command terminates the search and executes
+       that command.  For instance, a newline terminates the  search  and  ac-
        cepts the line, thereby executing the command from the history list.  A
-       movement command will terminate the search, make the  last  line  found
+       movement  command  will  terminate the search, make the last line found
        the current line, and begin editing.
 
        R\bRe\bea\bad\bdl\bli\bin\bne\be remembers the last incremental search string.  If two C\bC-\b-r\brs are
-       typed  without any intervening characters defining a new search string,
+       typed without any intervening characters defining a new search  string,
        r\bre\bea\bad\bdl\bli\bin\bne\be uses any remembered search string.
 
-       Non-incremental searches read the entire search string before  starting
+       Non-incremental  searches read the entire search string before starting
        to search for matching history entries.  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 descriptions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor posi-
-       tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the  s\bse\bet\bt-\b-m\bma\bar\brk\b com-
-       mand.   The  text  between the point and mark is referred to as the _\br_\be_\b-
+       tion,  and  _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
+       mand.  The text between the point and mark is referred to  as  the  _\br_\be_\b-
        _\bg_\bi_\bo_\bn.  R\bRe\bea\bad\bdl\bli\bin\bne\be has the concept of an _\ba_\bc_\bt_\bi_\bv_\be _\br_\be_\bg_\bi_\bo_\bn: when the region is
        active, r\bre\bea\bad\bdl\bli\bin\bne\be redisplay highlights the region using the value of the
-       a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\bvariable.  The e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\b r\bre\bea\bad\bdl\bli\bin\bne\be
+       a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\b variable.  The e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn r\bre\bea\bad\bdl\bli\bin\bne\be
        variable turns this on and off.  Several commands set the region to ac-
        tive; those are noted below.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
        b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-a\ba)\b)
-              Move  to  the start of the current line.  This may also be bound
+              Move to the start of the current line.  This may also  be  bound
               to the Home key on some keyboards.
        e\ben\bnd\bd-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-e\be)\b)
-              Move to the end of the line.  This may also be bound to the  End
+              Move  to the end of the line.  This may also be bound to the End
               key on some keyboards.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-f\bf)\b)
-              Move  forward  a character.  This may also be bound to the right
+              Move forward a character.  This may also be bound to  the  right
               arrow key on some keyboards.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-b\bb)\b)
               Move back a character.  This may also be bound to the left arrow
@@ -4101,33 +4121,33 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Move forward to the end of the next word.  Words are composed of
               alphanumeric characters (letters and digits).
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
-              Move back to the start of the current or previous  word.   Words
+              Move  back  to the start of the current or previous word.  Words
               are composed of alphanumeric characters (letters and digits).
-       s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move  forward  to the end of the next word.  Words are delimited
+       s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-C\bC-\b-f\bf)\b)
+              Move forward to the end of the next word.  Words  are  delimited
               by non-quoted shell metacharacters.
-       s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move back to the start of the current or previous  word.   Words
+       s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-C\bC-\b-b\bb)\b)
+              Move  back  to the start of the current or previous word.  Words
               are delimited by non-quoted shell metacharacters.
        p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
-              Attempt  to move point to the same physical screen column on the
-              previous physical screen line.  This will not have  the  desired
-              effect  if  the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than
-              one physical line or if point is not greater than the length  of
+              Attempt to move point to the same physical screen column on  the
+              previous  physical  screen line.  This will not have the desired
+              effect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up  more  than
+              one  physical line or if point is not greater than the length of
               the prompt plus the screen width.
        n\bne\bex\bxt\bt-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
-              Attempt  to move point to the same physical screen column on the
-              next physical screen line.  This will not have the  desired  ef-
+              Attempt to move point to the same physical screen column on  the
+              next  physical  screen line.  This will not have the desired ef-
               fect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than one
-              physical  line  or if the length of the current r\bre\bea\bad\bdl\bli\bin\bne\be line is
+              physical line or if the length of the current r\bre\bea\bad\bdl\bli\bin\bne\be  line  is
               not greater than the length of the prompt plus the screen width.
        c\bcl\ble\bea\bar\br-\b-d\bdi\bis\bsp\bpl\bla\bay\by (\b(M\bM-\b-C\bC-\b-l\bl)\b)
-              Clear the screen and, if  possible,  the  terminal's  scrollback
-              buffer,  then  redraw the current line, leaving the current line
+              Clear  the  screen  and,  if possible, the terminal's scrollback
+              buffer, then redraw the current line, leaving the  current  line
               at the top of the screen.
        c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
               Clear the screen, then redraw the current line, leaving the cur-
-              rent line at the top of the screen.  With an  argument,  refresh
+              rent  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.
@@ -4135,48 +4155,48 @@ 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 and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables.  If the line  is  a
-              modified  history line, restore the history line to its original
+              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 and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables.  If the line is a
+              modified history line, 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.  This may also be bound to the up arrow  key  on  some
+              the  list.   This  may also be bound to the up arrow key on some
               keyboards.
        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
-              the list.  This may also be bound to the down arrow key on  some
+              Fetch the next command from the history list, moving forward  in
+              the  list.  This may also be bound to the down arrow key on some
               keyboards.
        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.
        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 as if a newline  had  been
-              entered,  and  fetch  the next line relative to the current line
-              from the history for editing.  A numeric argument, if  supplied,
+              Accept  the  current line for execution as if a newline had been
+              entered, and fetch the next line relative to  the  current  line
+              from  the history for editing.  A numeric argument, if supplied,
               specifies the history entry to use instead of the current line.
        f\bfe\bet\btc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by
-              With  a numeric argument, fetch that entry from the history list
+              With a numeric argument, fetch that entry from the history  list
               and make it the current line.  Without an argument, move back to
               the first entry in the history list.
        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.  This command sets the region to the  matched  text  and
-              activates the region.
-       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"
+              Search  backward  starting  at  the current line and moving "up"
               through the  history  as  necessary.   This  is  an  incremental
               search.   This  command  sets the region to the matched text and
               activates the region.
+       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.  This command sets the region to the  matched  text  and
+              activates the region.
        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.  The search string may match anywhere in a history line.
        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.  The search string may
               match anywhere in a history line.
        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
@@ -4186,72 +4206,72 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               non-incremental search.  This may be bound to the Page Up key on
               some keyboards.
        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
+              Search  forward through the history for the string of characters
               between the start of the current line and the point.  The search
               string must match at the beginning of a history line.  This is a
-              non-incremental  search.  This may be bound to the Page Down key
+              non-incremental search.  This may be bound to the Page Down  key
               on some keyboards.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\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.  The search
-              string may match anywhere in a history line.  This is a  non-in-
+              string  may match anywhere in a history line.  This is a non-in-
               cremental search.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\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
+              Search forward through the history for the string of  characters
               between the start of the current line and the point.  The search
-              string may match anywhere in a history line.  This is a  non-in-
+              string  may match anywhere in a history line.  This is a non-in-
               cremental 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 in-
-              serts the _\bnth word from the end of the previous  command.   Once
-              the  argument _\bn is computed, this uses the history expansion fa-
-              cilities to extract the _\bnth word, as if the "!_\bn" history  expan-
+              insert  the _\bnth word from the previous command (the words in the
+              previous command begin with word 0).  A  negative  argument  in-
+              serts  the  _\bnth word from the end of the previous command.  Once
+              the argument _\bn is computed, this uses the history expansion  fa-
+              cilities  to extract the _\bnth word, as if the "!_\bn" history expan-
               sion had been specified.
        y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
-              Insert  the last argument to the previous command (the last word
+              Insert the last argument to the previous command (the last  word
               of the previous history entry).  With a numeric 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 word (or
-              the word specified by the argument to the first  call)  of  each
+              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 word  (or
+              the  word  specified  by the argument to the first call) of each
               line in turn.  Any numeric argument supplied to these successive
-              calls  determines  the direction to move through the history.  A
-              negative argument switches the  direction  through  the  history
-              (back  or  forward).  This uses the history expansion facilities
-              to extract the last word, as if the "!$" history  expansion  had
+              calls determines the direction to move through the  history.   A
+              negative  argument  switches  the  direction through the history
+              (back or forward).  This uses the history  expansion  facilities
+              to  extract  the last word, as if the "!$" history expansion had
               been specified.
        s\bsh\bhe\bel\bll\bl-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-C\bC-\b-e\be)\b)
-              Expand  the line by performing shell word expansions.  This per-
+              Expand the line by performing shell word expansions.  This  per-
               forms alias and history expansion, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quot-
-              ing, tilde expansion, parameter and variable  expansion,  arith-
-              metic  expansion,  command and process substitution, word split-
-              ting, and quote removal.  An explicit argument  suppresses  com-
-              mand  and process substitution.  See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for
+              ing,  tilde  expansion, parameter and variable expansion, arith-
+              metic expansion, command and process substitution,  word  split-
+              ting,  and  quote removal.  An explicit argument suppresses com-
+              mand and process substitution.  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.
        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\b E\bEX\bX-\b-
+              Perform  history expansion on the current line.  See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bX-\b-
               P\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.
        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\bx C\bC-\b-e\be)\b)
-              Invoke  an  editor  on the current command line, and execute the
+              Invoke an editor on the current command line,  and  execute  the
               result as shell commands.  B\bBa\bas\bsh\bh attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL, $\b$E\bED\bD-\b-
               I\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
        _\be_\bn_\bd_\b-_\bo_\bf_\b-_\bf_\bi_\bl_\be (\b(u\bus\bsu\bua\bal\bll\bly\by C\bC-\b-d\bd)\b)
-              The character indicating end-of-file as  set,  for  example,  by
+              The  character  indicating  end-of-file  as set, for example, by
               _\bs_\bt_\bt_\by(1).  If this character is read when there are no characters
               on the line, and point is at the beginning of the line, r\bre\bea\bad\bdl\bli\bin\bne\be
               interprets it as the end of input and returns E\bEO\bOF\bF.
@@ -4261,198 +4281,198 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               above for the effects.  This may also be bound to the Delete key
               on some keyboards.
        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)
               Insert the character typed.
        b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be-\b-b\bbe\beg\bgi\bin\bn
-              This function is intended to be bound to the  "bracketed  paste"
-              escape  sequence  sent  by some terminals, and such a binding is
-              assigned by default.  It allows r\bre\bea\bad\bdl\bli\bin\bne\be to  insert  the  pasted
-              text  as  a single unit without treating each character as if it
-              had been read from the keyboard.  The pasted characters are  in-
-              serted  as  if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead of exe-
+              This  function  is intended to be bound to the "bracketed paste"
+              escape sequence sent by some terminals, and such  a  binding  is
+              assigned  by  default.   It allows r\bre\bea\bad\bdl\bli\bin\bne\be to insert the pasted
+              text as a single unit without treating each character as  if  it
+              had  been read from the keyboard.  The pasted characters are in-
+              serted as if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead  of  exe-
               cuting any editing commands.
-              Bracketed paste sets the region to the inserted text  and  acti-
+              Bracketed  paste  sets the region to the inserted text and acti-
               vates the region.
        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 past that word as well.  If point is at  the  end  of  the
               line, this transposes the last two words on the line.
        s\bsh\bhe\bel\bll\bl-\b-t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-C\bC-\b-t\bt)\b)
-              Drag the word before point past the  word  after  point,  moving
-              point  past that word as well.  If the insertion point is at the
+              Drag  the  word  before  point past the word after point, moving
+              point past that word as well.  If the insertion point is at  the
               end of the line, this transposes the last two words on the line.
-              Word  boundaries  are  the  same   as   s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\b  and
+              Word   boundaries   are   the  same  as  s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd  and
               s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        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 ar-
+              Uppercase the current (or following) word.  With a negative  ar-
               gument, 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  ar-
+              Lowercase  the current (or following) word.  With a negative ar-
               gument, 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 ar-
               gument, 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, characters 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.   Char-
-              acters  bound  to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character be-
-              fore point with a space.  By default, this command  is  unbound,
+              In overwrite mode, characters 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.  Char-
+              acters bound to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the  character  be-
+              fore  point  with a space.  By default, this command is unbound,
               but may be bound to the Insert key on some keyboards.
 
    K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
        k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-k\bk)\b)
               Kill the text from point to the end of the current line.  With a
-              negative  numeric argument, kill backward from the cursor to the
+              negative numeric argument, kill backward from the cursor to  the
               beginning of the line.
        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 current line.  With a neg-
-              ative numeric argument, kill forward from the cursor to the  end
+              ative  numeric argument, kill forward from the cursor to the end
               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, saving
+              Kill backward from point to the beginning of  the  line,  saving
               the killed text on the kill-ring.
        k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
-              Kill all characters on the current line, no matter  where  point
+              Kill  all  characters on the current line, no matter where point
               is.
        k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill  from  point  to the end of the current word, or if between
-              words, to the end of the next word.   Word  boundaries  are  the
+              Kill from point to the end of the current word,  or  if  between
+              words,  to  the  end  of the next word.  Word boundaries are the
               same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill  the  word  behind  point.  Word boundaries are the same as
+              Kill the word behind point.  Word boundaries  are  the  same  as
               those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-C\bC-\b-d\bd)\b)
-              Kill from point to the end of the current word,  or  if  between
-              words,  to  the  end  of the next word.  Word boundaries are the
+              Kill  from  point  to the end of the current word, or if between
+              words, to the end of the next word.   Word  boundaries  are  the
               same as those used by s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd
-              Kill the word behind point.  Word boundaries  are  the  same  as
+              Kill  the  word  behind  point.  Word boundaries are the same as
               those used by s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
-              Kill  the  word behind point, using white space as a word bound-
+              Kill the word behind point, using white space as a  word  bound-
               ary, saving the killed text 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, saving the killed text on the
+              Kill  the  word  behind  point,  using white space and the slash
+              character as the word boundaries, saving the killed text 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.
        k\bki\bil\bll\bl-\b-r\bre\beg\bgi\bio\bon\bn
               Kill the text in the current region.
        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,  so  it  can  be
+              Copy  the  text  in  the region to the kill buffer, so it can be
               yanked immediately.
        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, 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-
+              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 nu-
               meric argument, but is otherwise ignored.  As a special case, if
               this command is immediately followed by a character that is nei-
-              ther a digit nor 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-
+              ther  a  digit  nor  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
-              attempts completion by first checking for any programmable  com-
-              pletions  for  the command word (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 be-
+              Attempt to perform completion on the text  before  point.   B\bBa\bas\bsh\bh
+              attempts  completion by first checking for any programmable com-
+              pletions for the command word (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be  C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\b be-
               low), otherwise treating the text as a variable (if the text be-
               gins with $\b$), username (if the text begins with ~\b~), hostname (if
-              the text begins with @\b@), or command  (including  aliases,  func-
-              tions,  and  builtins)  in  turn.   If  none of these produces a
+              the  text  begins  with @\b@), or command (including aliases, func-
+              tions, and builtins) in turn.   If  none  of  these  produces  a
               match, it falls back to filename completion.
        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.   When
+              List  the  possible  completions of the text before point.  When
               displaying completions, r\bre\bea\bad\bdl\bli\bin\bne\be sets the number of columns used
-              for  display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the value
-              of the shell variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in that  or-
+              for display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the  value
+              of  the shell variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in that or-
               der.
        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, separated by a space.
        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.  Repeat-
-              edly executing 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, m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the  bell  (subject  to
-              the  setting  of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original text.  An
-              argument of _\bn moves _\bn positions forward in the list of  matches;
-              a  negative argument moves backward through the list.  This com-
+              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.   Repeat-
+              edly  executing 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,  m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the bell (subject to
+              the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original  text.   An
+              argument  of _\bn moves _\bn positions forward in the list of matches;
+              a negative argument moves backward through the list.  This  com-
               mand is intended to be bound to T\bTA\bAB\bB, but is unbound by default.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
-              Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the  list
-              of  possible  completions,  as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
+              Identical  to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
+              of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had  been  given  a
               negative argument.  This command is unbound by default.
        e\bex\bxp\bpo\bor\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs
-              Perform completion on the word before point as  described  above
-              and  write the list of possible completions to r\bre\bea\bad\bdl\bli\bin\bne\be's output
-              stream using the following format, writing information on  sepa-
+              Perform  completion  on the word before point as described above
+              and write the list of possible completions to r\bre\bea\bad\bdl\bli\bin\bne\be's  output
+              stream  using the following format, writing information on sepa-
               rate lines:
 
               +\bo      the number of matches _\bN;
               +\bo      the word being completed;
-              +\bo      _\bS:_\bE,  where  S and E are the start and end offsets of the
+              +\bo      _\bS:_\bE, where _\bS and _\bE are the start and end offsets  of  the
                      word in the r\bre\bea\bad\bdl\bli\bin\bne\be line buffer; then
               +\bo      each match, one per line
 
-              If there are no matches, the first line will be  "0",  and  this
-              command  does  not  print any output after the _\bS:_\bE.  If there is
-              only a single match, this prints a single  line  containing  it.
-              If  there  is more than one match, this prints the common prefix
-              of the matches, which may be empty, on the first line after  the
+              If  there  are  no matches, the first line will be "0", and this
+              command does not print any output after the _\bS:_\bE.   If  there  is
+              only  a  single  match, this prints a single line containing it.
+              If there is more than one match, this prints the  common  prefix
+              of  the matches, which may be empty, on the first line after the
               _\bS:_\bE, then the matches on subsequent lines.  In this case, _\bN will
               include the first line with the common prefix.
 
               The user or application should be able to accommodate the possi-
               bility of a blank line.  The intent is that the user or applica-
-              tion  reads  _\bN lines after the line containing _\bS:_\bE to obtain the
+              tion reads _\bN lines after the line containing _\bS:_\bE to  obtain  the
               match list.  This command is unbound by default.
 
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
-              Deletes the character under the cursor if not at  the  beginning
-              or  end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  At the end of the line,
+              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).  At the end of the  line,
               it 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.
 
@@ -4464,7 +4484,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               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)
@@ -4472,7 +4492,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               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)
@@ -4480,7 +4500,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               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)
@@ -4488,9 +4508,9 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               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)
@@ -4498,42 +4518,42 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               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
+              Attempt  completion on the text before point, comparing the text
               against history list entries for possible completion matches.
 
        d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
-              Attempt  menu completion on the text before point, comparing the
+              Attempt menu completion on the text before point, comparing  the
               text against lines from the history list for possible completion
               matches.
 
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
               Perform filename completion and insert the list of possible com-
-              pletions enclosed within braces so the list is available to  the
+              pletions  enclosed within braces so the list is available to the
               shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
    K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
        s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
-              Begin  saving  the  characters  typed  into the current keyboard
+              Begin saving the characters  typed  into  the  current  keyboard
               macro.
        e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
               Stop saving the characters typed into the current keyboard macro
               and store the definition.
        c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
-              Re-execute the last keyboard macro defined, by making the  char-
+              Re-execute  the last keyboard macro defined, by making the char-
               acters in the macro appear as if typed at the keyboard.
        p\bpr\bri\bin\bnt\bt-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b()\b)
-              Print  the  last keyboard macro defined in a format suitable for
+              Print the last keyboard macro defined in a format  suitable  for
               the _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
 
    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-l\blo\bow\bwe\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)
-              If the metafied character _\bx is uppercase, run the  command  that
+              If  the  metafied character _\bx is uppercase, run the command that
               is bound to the corresponding metafied lowercase character.  The
               behavior is undefined if _\bx is already lowercase.
        p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
@@ -4541,223 +4561,223 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        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,
               set the mark 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.  Set the current  cursor  position
+              Swap  the  point with the mark.  Set the current cursor position
               to the saved position, then set the mark to the old cursor posi-
               tion.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
-              Read  a  character and move point to the next occurrence of that
-              character.  A negative argument  searches  for  previous  occur-
+              Read a character and move point to the next occurrence  of  that
+              character.   A  negative  argument  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)
-              Read  a  character  and move point to the previous occurrence of
+              Read a character and move point to the  previous  occurrence  of
               that character.  A negative argument searches for subsequent oc-
               currences.
        s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
-              Read enough characters to consume a multi-key sequence  such  as
-              those  defined  for keys like Home and End.  CSI sequences begin
+              Read  enough  characters to consume a multi-key sequence such as
+              those defined for keys like Home and End.  CSI  sequences  begin
               with a Control Sequence Indicator (CSI), usually _\bE_\bS_\bC _\b[.  If this
               sequence is bound to "\e[", keys producing CSI sequences have no
               effect unless explicitly bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command, instead of
               inserting stray characters into the editing buffer.  This is un-
               bound by default, but usually bound to _\bE_\bS_\bC _\b[.
        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, insert the  value  of  the  r\bre\bea\bad\bdl\bli\bin\bne\be
+              Without  a  numeric  argument,  insert the value of the r\bre\bea\bad\bdl\bli\bin\bne\be
               c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable 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, insert the value; otherwise delete the
-              characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning 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
+              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, insert the value; otherwise  delete  the
+              characters  in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning 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 ex-
               ecuted by the shell.
        s\bsp\bpe\bel\bll\bl-\b-c\bco\bor\brr\bre\bec\bct\bt-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx s\bs)\b)
-              Perform  spelling correction on the current word, treating it as
-              a directory or filename, in the same way as  the  c\bcd\bds\bsp\bpe\bel\bll\b shell
-              option.    Word  boundaries  are  the  same  as  those  used  by
+              Perform spelling correction on the current word, treating it  as
+              a  directory  or  filename, in the same way as the c\bcd\bds\bsp\bpe\bel\bll\bl shell
+              option.   Word  boundaries  are  the  same  as  those  used   by
               s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        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)
               Treat the word before point as a pattern for pathname expansion,
-              with an asterisk implicitly appended, then use  the  pattern  to
+              with  an  asterisk  implicitly appended, then use the pattern 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)
               Treat the word before point as a pattern for pathname expansion,
-              and  insert the list of matching file names, replacing the word.
-              If a numeric argument is supplied, append a  *\b*  before  pathname
+              and insert the list of matching file names, replacing the  word.
+              If  a  numeric  argument is supplied, append a *\b* 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)
               Display 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 and redisplay the line.  If a numeric argument
+              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\band redisplay the line.  If a numeric  argument
               is supplied, append a *\b* 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  r\bre\bea\bad\bd-\b-
+              Print  all  of the functions and their key bindings to the r\bre\bea\bad\bd-\b-
               l\bli\bin\bne\be 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 r\bre\bea\bad\bdl\bli\bin\bne\be variables and their values to
-              the r\bre\bea\bad\bdl\bli\bin\bne\be output stream.  If a numeric argument is  supplied,
-              the  output  is formatted in such a way that it can be made part
+              the  r\bre\bea\bad\bdl\bli\bin\bne\be 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 r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and  the
+              Print  all of the r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
               strings they output to the r\bre\bea\bad\bdl\bli\bin\bne\be 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.
        e\bex\bxe\bec\bcu\but\bte\be-\b-n\bna\bam\bme\bed\bd-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-x\bx)\b)
               Read a bindable r\bre\bea\bad\bdl\bli\bin\bne\be command name from the input and execute
-              the  function  to  which  it's  bound, as if the key sequence to
-              which it was bound appeared in the input.  If this  function  is
+              the function to which it's bound, as  if  the  key  sequence  to
+              which  it  was bound appeared in the input.  If this function is
               supplied with a numeric argument, it passes that argument to the
               function it executes.
        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.
 
    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  a user attempts word completion for a command or an argument to a
-       command for which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been  de-
-       fined  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),
+       When a user attempts word completion for a command or an argument to  a
+       command  for which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been de-
+       fined 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\b below),
        r\bre\bea\bad\bdl\bli\bin\bne\be invokes the programmable completion facilities.
 
-       First, b\bba\bas\bsh\bh identifies the command name.  If a compspec  has  been  de-
-       fined  for  that  command, the compspec is used to generate the list of
-       possible completions for the word.  If the command word  is  the  empty
-       string  (completion  attempted at the beginning of an empty line), b\bba\bas\bsh\bh
-       uses any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be.  The  -\b-I\b op-
-       tion  to  c\bco\bom\bmp\bpl\ble\bet\bte\be indicates that the command word is the first non-as-
+       First,  b\bba\bas\bsh\bh  identifies  the command name.  If a compspec has been de-
+       fined for that command, the compspec is used to generate  the  list  of
+       possible  completions  for  the word.  If the command word is the empty
+       string (completion attempted at the beginning of an empty  line),  b\bba\bas\bsh\bh
+       uses  any  compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be.  The -\b-I\bI op-
+       tion to c\bco\bom\bmp\bpl\ble\bet\bte\be indicates that the command word is the  first  non-as-
        signment word on the line, or after a command delimiter such as ;\b; or |\b|.
        This usually indicates command name completion.
 
-       If the command word is a full pathname, b\bba\bas\bsh\bh searches  for  a  compspec
-       for  the  full  pathname  first.   If there is no compspec for the full
-       pathname, b\bba\bas\bsh\bh attempts to find a compspec for  the  portion  following
-       the  final slash.  If those searches do not result in a compspec, or if
-       there is no compspec for the command word, b\bba\bas\bsh\bh uses any  compspec  de-
-       fined  with  the  -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be as the default.  If there is no
-       default compspec, b\bba\bas\bsh\bh performs alias expansion on the command word  as
-       a  final  resort,  and attempts to find a compspec for the command word
+       If  the  command  word is a full pathname, b\bba\bas\bsh\bh searches for a compspec
+       for the full pathname first.  If there is  no  compspec  for  the  full
+       pathname,  b\bba\bas\bsh\bh  attempts  to find a compspec for the portion following
+       the final slash.  If those searches do not result in a compspec, or  if
+       there  is  no compspec for the command word, b\bba\bas\bsh\bh uses any compspec de-
+       fined with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be as the default.  If  there  is  no
+       default  compspec, b\bba\bas\bsh\bh performs alias expansion on the command word as
+       a final resort, and attempts to find a compspec for  the  command  word
        resulting from any successful expansion.
 
        If a compspec is not found, b\bba\bas\bsh\bh performs its default completion as de-
-       scribed above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg.  Otherwise, once a  compspec  has  been
+       scribed  above  under  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg.  Otherwise, once a compspec has been
        found, b\bba\bas\bsh\bh uses it to generate the list of matching words.
 
-       First,  b\bba\bas\bsh\bh performs the _\ba_\bc_\bt_\bi_\bo_\bn_\bs specified by the compspec.  This only
-       returns matches which are prefixes of the word being  completed.   When
-       the  -\b-f\bf or -\b-d\bd option is used for filename or directory name completion,
+       First, b\bba\bas\bsh\bh performs the _\ba_\bc_\bt_\bi_\bo_\bn_\bs specified by the compspec.  This  only
+       returns  matches  which are prefixes of the word being completed.  When
+       the -\b-f\bf or -\b-d\bd option is used for filename or directory name  completion,
        b\bba\bas\bsh\bh uses the shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE to filter the matches.
 
        Next, programmable completion generates matches specified by a pathname
-       expansion pattern supplied as an argument to the -\b-G\bG option.  The  words
+       expansion  pattern supplied as an argument to the -\b-G\bG option.  The words
        generated by the pattern need not match the word being completed.  B\bBa\bas\bsh\bh
-       uses  the  F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable to filter the matches, but does not use the
+       uses the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable to filter the matches, but does not  use  the
        G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable.
 
-       Next, completion considers the string specified as the argument to  the
-       -\b-W\b option.   The string is first split using the characters in the I\bIF\bFS\bS
-       special variable as delimiters.  This honors shell quoting  within  the
-       string,  in order to provide a mechanism for the words to contain shell
-       metacharacters or characters in the value of I\bIF\bFS\bS.  Each  word  is  then
+       Next,  completion considers the string specified as the argument to the
+       -\b-W\boption.  The string is first split using the characters in  the  I\bIF\bFS\bS
+       special  variable  as delimiters.  This honors shell quoting within the
+       string, in order to provide a mechanism for the words to contain  shell
+       metacharacters  or  characters  in the value of I\bIF\bFS\bS.  Each word is then
        expanded using brace expansion, tilde expansion, parameter and variable
        expansion, command substitution, and arithmetic expansion, as described
        above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN.  The results are split using the rules described
-       above  under  W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg.  The results of the expansion are prefix-
+       above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg.  The results of the expansion  are  prefix-
        matched against the word being completed, and the matching words become
        possible completions.
 
-       After these matches have been generated, b\bba\bas\bsh\bh executes any shell  func-
+       After  these matches have been generated, b\bba\bas\bsh\bh executes any shell func-
        tion or command specified with the -\b-F\bF and -\b-C\bC options.  When the command
-       or   function  is  invoked,  b\bba\bas\bsh\bh  assigns  values  to  the  C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE,
-       C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE variables as described above  under
-       S\bSh\bhe\bel\bll\b V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.  If a shell function is being invoked, b\bba\bas\bsh\bh also sets
-       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.  When the function or  command
-       is  invoked,  the  first argument ($\b$1\b1) is the name of the command whose
+       or  function  is  invoked,  b\bba\bas\bsh\bh  assigns  values  to  the   C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE,
+       C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT,  C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE variables as described above under
+       S\bSh\bhe\bel\bll\bV\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.  If a shell function is being invoked, b\bba\bas\bsh\bh also  sets
+       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.  When the function or command
+       is invoked, the first argument ($\b$1\b1) is the name of  the  command  whose
        arguments are being completed, the second argument ($\b$2\b2) is the word be-
-       ing completed, and the third argument ($\b$3\b3) is the  word  preceding  the
-       word  being completed on the current command line.  There is no filter-
-       ing of the generated completions against the word being completed;  the
-       function  or command has complete freedom in generating the matches and
+       ing  completed,  and  the third argument ($\b$3\b3) is the word preceding the
+       word being completed on the current command line.  There is no  filter-
+       ing  of the generated completions against the word being completed; the
+       function or command has complete freedom in generating the matches  and
        they do not need to match a prefix of the word.
 
-       Any function specified with -\b-F\bF is invoked first.  The function may  use
+       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 and c\bco\bom\bmp\bpo\bop\bpt\bt builtins
-       described  below,  to  generate  the matches.  It must put the possible
+       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, one per array element.
 
-       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 will  es-
-       cape  a  newline, if necessary.  These are added to the set of possible
+       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 will es-
+       cape a newline, if necessary.  These are added to the set  of  possible
        completions.
 
        After generating all of the possible completions, b\bba\bas\bsh\bh applies any fil-
-       ter specified with the -\b-X\bX option to the completions in the  list.   The
-       filter  is a pattern as used for pathname expansion; a &\b& in the pattern
+       ter  specified  with the -\b-X\bX option to the completions in the list.  The
+       filter is a pattern 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 is removed  from  the
-       list.   A  leading !\b! negates the pattern; in this case b\bba\bas\bsh\bh removes any
-       completion that does not match the pattern.  If the  n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\b shell
-       option  is  enabled, b\bba\bas\bsh\bh performs the match without regard to the case
+       a  match.   Any completion that matches the pattern is removed from the
+       list.  A leading !\b! negates the pattern; in this case b\bba\bas\bsh\bh  removes  any
+       completion  that  does not match the pattern.  If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell
+       option is enabled, b\bba\bas\bsh\bh performs the match without regard to  the  case
        of alphabetic characters.
 
-       Finally, programmable completion adds any prefix and  suffix  specified
-       with  the  -\b-P\bP and -\b-S\bS options, respectively, to each completion, and re-
+       Finally,  programmable  completion adds any prefix and suffix specified
+       with the -\b-P\bP and -\b-S\bS options, respectively, to each completion,  and  re-
        turns the result to r\bre\bea\bad\bdl\bli\bin\bne\be as the list of possible completions.
 
-       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 de-
+       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  de-
        fined, b\bba\bas\bsh\bh attempts directory name completion.
 
-       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,  b\bba\bas\bsh\bh  attempts  directory  name  completion and adds any
+       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, b\bba\bas\bsh\bh attempts  directory  name  completion  and  adds  any
        matches to the set of possible completions.
 
-       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 and the r\bre\bea\bad\bdl\bli\bin\bne\be default of  filename  comple-
-       tion  are  disabled.  If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bm-\b-
-       p\bpl\ble\bet\bte\bwhen the compspec was defined,  and  the  compspec  generates  no
-       matches,  b\bba\bas\bsh\bh  attempts its default completions.  If the compspec and,
+       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 and the r\bre\bea\bad\bdl\bli\bin\bne\be default of filename comple-
+       tion are disabled.  If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was supplied  to  c\bco\bom\bm-\b-
+       p\bpl\ble\bet\bte\b when  the  compspec  was  defined, and the compspec generates no
+       matches, b\bba\bas\bsh\bh attempts its default completions.  If the  compspec  and,
        if attempted, the default b\bba\bas\bsh\bh completions generate no matches, and the
-       -\b-o\bd\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the  compspec  was  de-
+       -\b-o\b d\bde\bef\bfa\bau\bul\blt\bt  option  was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was de-
        fined, programmable completion performs r\bre\bea\bad\bdl\bli\bin\bne\be's default completion.
 
-       The  options  supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be and c\bco\bom\bmp\bpo\bop\bpt\bt can control how r\bre\bea\bad\bdl\bli\bin\bne\be
-       treats the completions.  For instance, the _\b-_\bo  _\bf_\bu_\bl_\bl_\bq_\bu_\bo_\bt_\be  option  tells
-       r\bre\bea\bad\bdl\bli\bin\bne\b to  quote the matches as if they were filenames.  See the de-
+       The options supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be and c\bco\bom\bmp\bpo\bop\bpt\bt can control  how  r\bre\bea\bad\bdl\bli\bin\bne\be
+       treats  the  completions.   For instance, the _\b-_\bo _\bf_\bu_\bl_\bl_\bq_\bu_\bo_\bt_\be option tells
+       r\bre\bea\bad\bdl\bli\bin\bne\bto quote the matches as if they were filenames.  See  the  de-
        scription of c\bco\bom\bmp\bpl\ble\bet\bte\be below for details.
 
-       When a compspec indicates that it wants directory name completion,  the
-       programmable  completion  functions force r\bre\bea\bad\bdl\bli\bin\bne\be to append a slash to
+       When  a compspec indicates that it wants directory name completion, the
+       programmable completion functions force r\bre\bea\bad\bdl\bli\bin\bne\be 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 r\bre\bea\bad\bdl\bli\bin\bne\be variable, regardless of the set-
        ting 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 r\bre\bea\bad\bdl\bli\bin\bne\be variable.
 
-       There is some support for dynamically modifying completions.   This  is
-       most  useful  when used in combination with a default completion speci-
-       fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions  executed  as
-       completion  functions  to indicate that completion should be retried by
-       returning an exit status of 124.  If a shell function returns 124,  and
+       There  is  some support for dynamically modifying completions.  This is
+       most useful when used in combination with a default  completion  speci-
+       fied  with  c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions executed as
+       completion functions to indicate that completion should be  retried  by
+       returning  an exit status of 124.  If a shell function returns 124, and
        changes the compspec associated with the command on which completion is
-       being  attempted  (supplied  as the first argument when the function is
+       being attempted (supplied as the first argument when  the  function  is
        executed), programmable completion restarts from the beginning, with an
-       attempt to find a new compspec for that command.  This can be  used  to
-       build  a  set  of  completions  dynamically as completion is attempted,
+       attempt  to  find a new compspec for that command.  This can be used to
+       build a set of completions  dynamically  as  completion  is  attempted,
        rather than loading them all at once.
 
-       For instance, assuming that there is a library of compspecs, each  kept
-       in  a  file corresponding to the name of the command, the following de-
+       For  instance, assuming that there is a library of compspecs, each kept
+       in a file corresponding to the name of the command, the  following  de-
        fault completion function would load completions dynamically:
               _completion_loader()
               {
@@ -4768,162 +4788,162 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                   -o bashdefault -o default
 
 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
-       commands to save in a history list: the shell saves  the  text  of  the
+       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 shell saves the text of the
        last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE commands (default 500).  The shell stores each command in
-       the  history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bN-\b-
-       S\bSI\bIO\bON\babove) but after history expansion is performed,  subject  to  the
+       the history list prior to parameter and variable expansion (see  E\bEX\bXP\bPA\bAN\bN-\b-
+       S\bSI\bIO\bON\b 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,  b\bba\bas\bsh\bh  initializes the history list by reading history en-
-       tries from the  the  file  named  by  the  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  variable  (default
-       _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).   That  file is referred to as the _\bh_\bi_\bs_\bt_\bo_\br_\by _\bf_\bi_\bl_\be.  The
-       history file is truncated, if necessary, to contain no  more  than  the
-       number  of  history  entries specified by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
-       variable.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is unset, or  set  to  null,  a  non-numeric
+       On startup, b\bba\bas\bsh\bh initializes the history list by  reading  history  en-
+       tries   from   the   file  named  by  the  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  variable  (default
+       _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  That file is referred to as the _\bh_\bi_\bs_\bt_\bo_\br_\by  _\bf_\bi_\bl_\be.   The
+       history  file  is  truncated, if necessary, to contain no more than the
+       number of history entries specified by the value  of  the  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
+       variable.   If  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE  is  unset,  or set to null, a non-numeric
        value, or a numeric value less than zero, the history file is not trun-
        cated.
 
        When the history file is read, lines beginning with the history comment
        character followed immediately by a digit are interpreted as timestamps
-       for  the  following history line.  These timestamps are optionally dis-
-       played depending on the value of  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT  variable.   When
-       present,  history timestamps delimit history entries, making multi-line
+       for the following history line.  These timestamps are  optionally  dis-
+       played  depending  on  the  value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.  When
+       present, history timestamps delimit history entries, making  multi-line
        entries possible.
 
        When a shell with history enabled exits, b\bba\bas\bsh\bh copies the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
-       entries from the history list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE.  If  the  h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\b 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\bbelow), b\bba\bas\bsh\bh appends the entries to the history  file,  other-
-       wise  it overwrites the history file.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, or
-       if the history file is unwritable, the history  is  not  saved.   After
-       saving  the history, b\bba\bas\bsh\bh truncates the history file to contain no more
+       entries  from  the  history 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\b B\bBU\bUI\bIL\bLT\bTI\bIN\bN
+       C\bCO\bOM\bMM\bMA\bAN\bND\bDS\b below),  b\bba\bas\bsh\bh appends the entries to the history file, other-
+       wise it overwrites the history file.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null,  or
+       if  the  history  file  is unwritable, the history is not saved.  After
+       saving the history, b\bba\bas\bsh\bh truncates the history file to contain no  more
        than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines as described above.
 
-       If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the shell writes  the  timestamp
-       information  associated  with  each  history entry to the history file,
-       marked with the history comment character, so timestamps are  preserved
+       If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the shell writes the timestamp
+       information associated with each history entry  to  the  history  file,
+       marked  with the history comment character, so timestamps are preserved
        across shell sessions.  This uses the history comment character to dis-
-       tinguish  timestamps  from  other  history lines.  As above, when using
+       tinguish timestamps from other history lines.   As  above,  when  using
        H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, the timestamps delimit multi-line history entries.
 
-       The f\bfc\bc builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will list  or
+       The  f\bfc\bc builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will list or
        edit and re-execute a portion of the history list.  The h\bhi\bis\bst\bto\bor\bry\by builtin
        can display or modify the history list and manipulate the history file.
-       When  using command-line editing, search commands are available in each
+       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 are used to save only a
-       subset  of  the  commands  entered.  If the c\bcm\bmd\bdh\bhi\bis\bst\bt shell option is en-
-       abled, the shell attempts 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  modifies  c\bcm\bmd\bdh\bhi\bis\bst\b by
-       saving  the  command with embedded newlines instead of semicolons.  See
+       subset of the commands entered.  If the c\bcm\bmd\bdh\bhi\bis\bst\bt  shell  option  is  en-
+       abled,  the shell attempts 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 modifies c\bcm\bmd\bdh\bhi\bis\bst\bt by
+       saving 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.  This section describes what syntax features
+       The  shell  supports a history expansion feature that is similar to the
+       history expansion in c\bcs\bsh\bh.  This section describes what syntax  features
        are available.
 
        History expansion is enabled by default for interactive shells, and can
-       be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin command  (see  S\bSH\bHE\bEL\bLL\bL
+       be  disabled  using the +\b+H\bH option to the s\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL
        B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  Non-interactive shells do not perform history
        expansion by default, but it can be enabled with "set -H".
 
        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, and is performed on each
-       line individually.  The shell attempts to inform the history  expansion
+       History  expansion  is  performed  immediately after a complete line is
+       read, before the shell breaks it into words, and is performed  on  each
+       line  individually.  The shell attempts to inform the history expansion
        functions about quoting still in effect from previous lines.
 
-       It  takes  place in two parts.  The first is to determine which history
-       list entry to use during substitution.  The second is  to  select  por-
+       It takes place in two parts.  The first is to determine  which  history
+       list  entry  to  use during substitution.  The second is to select por-
        tions of that entry to include into the current one.
 
-       The  entry  selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
+       The entry selected from the history is the _\be_\bv_\be_\bn_\bt, and the  portions  of
        that entry that are acted upon are _\bw_\bo_\br_\bd_\bs.  Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
-       able to manipulate the selected words.  The entry is split  into  words
-       in  the same fashion as when reading input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\b-
-       _\bt_\be_\br-separated words surrounded by quotes are considered one word.   The
-       _\be_\bv_\be_\bn_\b _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br  selects  the event, the optional _\bw_\bo_\br_\bd _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br se-
-       lects words from the event, and various optional _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs  are  avail-
+       able  to  manipulate the selected words.  The entry is split into words
+       in the same fashion as when reading input, so that several  _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\b-
+       _\bt_\be_\br-separated  words surrounded by quotes are considered one word.  The
+       _\be_\bv_\be_\bn_\b_\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br selects the event, the optional  _\bw_\bo_\br_\bd  _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\b se-
+       lects  words  from the event, and various optional _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
        able to manipulate the selected words.
 
-       History  expansions are introduced by the appearance of the history ex-
-       pansion character, which is !\b! by default.  History expansions  may  ap-
+       History expansions are introduced by the appearance of the history  ex-
+       pansion  character,  which is !\b! by default.  History expansions may ap-
        pear anywhere in the input, but do not nest.
 
-       Only  backslash  (\\b\)  and single quotes can quote the history expansion
-       character, but the history  expansion  character  is  also  treated  as
+       Only backslash (\\b\) and single quotes can quote  the  history  expansion
+       character,  but  the  history  expansion  character  is also treated as
        quoted if it immediately precedes the closing double quote in a double-
        quoted string.
 
-       Several  characters inhibit history expansion if found immediately fol-
-       lowing the history expansion character, even if it is unquoted:  space,
-       tab,  newline,  carriage  return, =\b=, and the other shell metacharacters
+       Several characters inhibit history expansion if found immediately  fol-
+       lowing  the history expansion character, even if it is unquoted: space,
+       tab, newline, carriage return, =\b=, and the  other  shell  metacharacters
        defined above.
 
        There is a special abbreviation for substitution, active when the _\bq_\bu_\bi_\bc_\bk
-       _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bcharacter (described above under h\bhi\bis\bst\btc\bch\bha\bar\brs\bs) is  the  first
+       _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\b character  (described above under h\bhi\bis\bst\btc\bch\bha\bar\brs\bs) is the first
        character on the line.  It selects the previous history list entry, us-
-       ing  an  event  designator equivalent to !\b!!\b!, and substitutes one string
-       for another in that entry.  It is described below under E\bEv\bve\ben\bnt\b D\bDe\bes\bsi\big\bgn\bna\ba-\b-
-       t\bto\bor\brs\bs.   This is the only history expansion that does not begin with the
+       ing an event designator equivalent to !\b!!\b!, and  substitutes  one  string
+       for  another in that entry.  It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\ba-\b-
+       t\bto\bor\brs\bs.  This is the only history expansion that does not begin with  the
        history expansion character.
 
-       Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin will modify  his-
-       tory  expansion  behavior (see the description of the s\bsh\bho\bop\bpt\bt builtin be-
+       Several  shell options settable with the s\bsh\bho\bop\bpt\bt builtin will modify his-
+       tory expansion behavior (see the description of the s\bsh\bho\bop\bpt\bt  builtin  be-
        low).and If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell option is enabled, and r\bre\bea\bad\bdl\bli\bin\bne\be is be-
        ing used, history substitutions are not immediately passed to the shell
        parser.  Instead, the expanded line is reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be edit-
-       ing buffer for further modification.  If r\bre\bea\bad\bdl\bli\bin\bne\be is  being  used,  and
-       the  h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt  shell option is enabled, a failed history substitution
+       ing  buffer  for  further modification.  If r\bre\bea\bad\bdl\bli\bin\bne\be is being used, and
+       the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed  history  substitution
        is reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for correction.
 
-       The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command shows what a  history  ex-
-       pansion  will do before using it.  The -\b-s\bs option to the h\bhi\bis\bst\bto\bor\bry\by builtin
-       will add commands to the end of the history list without actually  exe-
+       The  -\b-p\bp  option to the h\bhi\bis\bst\bto\bor\bry\by builtin command shows what a history ex-
+       pansion will do before using it.  The -\b-s\bs option to the h\bhi\bis\bst\bto\bor\bry\b builtin
+       will  add commands to the end of the history list without actually exe-
        cuting them, so that they are available for subsequent recall.
 
-       The  shell allows control of the various characters used by the history
+       The shell allows control of the various characters used by the  history
        expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
-       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).  The shell uses the history comment character to mark  his-
+       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).   The shell uses the history comment character to mark his-
        tory timestamps when writing the history file.
 
    E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       An  event  designator  is  a reference to an entry in the history list.
+       An event designator is a reference to an entry  in  the  history  list.
        The event designator consists of the portion of the word beginning with
-       the history expansion character and ending with the word designator  if
-       present,  or  the  end  of the word.  Unless the reference is absolute,
+       the  history expansion character and ending with the word designator if
+       present, or the end of the word.  Unless  the  reference  is  absolute,
        events are relative to the current position in the history list.
 
-       !\b!      Start a history substitution, except when followed by  a  b\bbl\bla\ban\bnk\bk,
-              newline,  carriage  return, =, or, when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
+       !\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 history list entry _\bn.
        !\b!-\b-_\bn    Refer to the current entry minus _\bn.
        !\b!!\b!     Refer to the previous entry.  This is a synonym for "!-1".
        !\b!_\bs_\bt_\br_\bi_\bn_\bg
-              Refer to the most recent command preceding the current  position
+              Refer  to the most recent command preceding the current position
               in the history list starting with _\bs_\bt_\br_\bi_\bn_\bg.
        !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]
-              Refer  to the most recent command preceding the current position
-              in the history list containing _\bs_\bt_\br_\bi_\bn_\bg.  The trailing  ?\b?  may  be
-              omitted  if  _\bs_\bt_\br_\bi_\bn_\bg  is  followed  immediately by a newline.  If
-              _\bs_\bt_\br_\bi_\bn_\bis missing, this uses the string  from  the  most  recent
+              Refer to the most recent command preceding the current  position
+              in  the  history  list containing _\bs_\bt_\br_\bi_\bn_\bg.  The trailing ?\b? may be
+              omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed  immediately  by  a  newline.   If
+              _\bs_\bt_\br_\bi_\bn_\b is  missing,  this  uses the string from the most recent
               search; it is an error if there is no previous search string.
        ^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b1^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b2^\b^
-              Quick  substitution.   Repeat  the  previous  command, replacing
-              _\bs_\bt_\br_\bi_\bn_\bg_\bwith  _\bs_\bt_\br_\bi_\bn_\bg_\b2.   Equivalent  to  "!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^"
+              Quick substitution.   Repeat  the  previous  command,  replacing
+              _\bs_\bt_\br_\bi_\bn_\bg_\b with  _\bs_\bt_\br_\bi_\bn_\bg_\b2.   Equivalent  to "!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^"
               (see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
        !\b!#\b#     The entire command line typed so far.
 
@@ -4931,37 +4951,37 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Word designators are used to select desired words from the event.  They
        are optional; if the word designator isn't supplied, the history expan-
        sion uses the entire 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 in-
+       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  in-
        serted into the current line separated by single spaces.
 
        0\b0 (\b(z\bze\ber\bro\bo)\b)
               The zeroth word.  For the shell, this is the command word.
        _\bn      The _\bnth word.
        ^\b^      The first argument: word 1.
-       $\b$      The last word.  This is usually the last argument, but will  ex-
+       $\b$      The  last word.  This is usually the last argument, but will ex-
               pand to the zeroth word if there is only one word in the line.
        %\b%      The first word matched by the most recent "?_\bs_\bt_\br_\bi_\bn_\bg?"  search, if
-              the  search  string  begins  with  a character that is part of a
-              word.  By default, searches begin at the end of  each  line  and
-              proceed  to  the beginning, so the first word matched is the one
+              the search string begins with a character  that  is  part  of  a
+              word.   By  default,  searches begin at the end of each line and
+              proceed to the beginning, so the first word matched is  the  one
               closest to the end of the line.
        _\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; it expands to the empty string 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 x\bx is miss-
               ing, it defaults to 0.
 
-       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, equivalent to !\b!!\b!.
 
    M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
-       After  the  optional  word  designator, the expansion may include a se-
-       quence of one or more of the following modifiers, each  preceded  by  a
-       ":".   These  modify, or edit, the word or words selected from the his-
+       After the optional word designator, the expansion  may  include  a  se-
+       quence  of  one  or more of the following modifiers, each preceded by a
+       ":".  These modify, or edit, the word or words selected from  the  his-
        tory event.
 
        h\bh      Remove a trailing pathname component, leaving only the head.
@@ -4970,24 +4990,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
-              b\bbl\bla\ban\bnk\bks\b and newlines.  The q\bq and x\bx modifiers are mutually exclu-
+       x\bx      Quote  the  substituted words as with q\bq, but break into words at
+              b\bbl\bla\ban\bnk\bks\band newlines.  The q\bq and x\bx modifiers are mutually  exclu-
               sive; expansion uses the last one supplied.
        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
+              Substitute  _\bn_\be_\bw  for  the  first  occurrence of _\bo_\bl_\bd in the event
               line.  Any character may be used as the delimiter in place of /.
-              The  final  delimiter is optional if it is the last character of
-              the event line.  A single backslash quotes the delimiter in  _\bo_\bl_\bd
-              and  _\bn_\be_\bw.  If & appears in _\bn_\be_\bw, it is replaced with _\bo_\bl_\bd.  A sin-
-              gle backslash quotes the &.  If _\bo_\bl_\bd is null, it is  set  to  the
-              last  _\bo_\bl_\bd  substituted, or, if no previous history substitutions
+              The final delimiter is optional if it is the last  character  of
+              the  event line.  A single backslash quotes the delimiter in _\bo_\bl_\bd
+              and _\bn_\be_\bw.  If & appears in _\bn_\be_\bw, it is replaced with _\bo_\bl_\bd.  A  sin-
+              gle  backslash  quotes  the &.  If _\bo_\bl_\bd is null, it is set to the
+              last _\bo_\bl_\bd substituted, or, if no previous  history  substitutions
               took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]  search.  If _\bn_\be_\bw is
               null, each matching _\bo_\bl_\bd is deleted.
        &\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" or "&\b&" modifier once to each word in the
               event line.
@@ -4996,64 +5016,64 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        Unless otherwise noted, each builtin command documented in this section
        as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
        options.  The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt/[\b[ builtins do not accept options
-       and  do  not treat -\b--\b- specially.  The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, r\bre\bet\btu\bur\brn\bn, b\bbr\bre\bea\bak\bk, c\bco\bon\bn-\b-
-       t\bti\bin\bnu\bue\be, l\ble\bet\bt, and s\bsh\bhi\bif\bft\bt builtins accept and process  arguments  beginning
-       with  -\b- without requiring -\b--\b-.  Other builtins that accept arguments but
-       are not specified as accepting options  interpret  arguments  beginning
-       with  -\b-  as  invalid options and require -\b--\b- to prevent this interpreta-
+       and do not treat -\b--\b- specially.  The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, r\bre\bet\btu\bur\brn\bn,  b\bbr\bre\bea\bak\bk,  c\bco\bon\bn-\b-
+       t\bti\bin\bnu\bue\be,  l\ble\bet\bt,  and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning
+       with -\b- without requiring -\b--\b-.  Other builtins that accept arguments  but
+       are  not  specified  as accepting options interpret arguments beginning
+       with -\b- as invalid options and require -\b--\b- to  prevent  this  interpreta-
        tion.
 
        :\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
+              No  effect;  the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
               and performing any specified redirections.  The return status is
               zero.
 
        .\b. [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
        s\bso\bou\bur\brc\bce\be [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              The  .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              in the current shell environment and returns the exit status  of
+              The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+              in  the current shell environment and returns the exit status of
               the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
 
               If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, .\b. searches for it.  If the
-              -\b-p\b option  is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
-              of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses  the
-              entries  in  P\bPA\bAT\bTH\bH  to  find  the  directory containing _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
-              _\bf_\bi_\bl_\be_\bn_\ba_\bm_\bdoes not need to be executable.  When b\bba\bas\bsh\bh  is  not  in
+              -\b-p\boption is supplied, .\b. treats _\bp_\ba_\bt_\bh as a  colon-separated  list
+              of  directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
+              entries in P\bPA\bAT\bTH\bH  to  find  the  directory  containing  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
+              _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b does  not  need to be executable.  When b\bba\bas\bsh\bh is not in
               posix mode, it searches the current directory if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not
-              found  in  P\bPA\bAT\bTH\bH, but does not search the current directory if -\b-p\bp
+              found in P\bPA\bAT\bTH\bH, but does not search the current directory  if  -\b-p\bp
               is supplied.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin com-
               mand is turned off, .\b. does not search P\bPA\bAT\bTH\bH.
 
-              If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional  para-
-              meters  when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed.  Otherwise the positional pa-
+              If  any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional para-
+              meters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed.  Otherwise the positional  pa-
               rameters are unchanged.
 
               If the -\b-T\bT option is enabled, .\b. inherits any trap on D\bDE\bEB\bBU\bUG\bG; if it
-              is not, any D\bDE\bEB\bBU\bUG\bG trap string is saved and restored  around  the
+              is  not,  any D\bDE\bEB\bBU\bUG\bG trap string is saved and restored around the
               call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it executes.  If -\b-T\bT
               is not set, and the sourced file changes the D\bDE\bEB\bBU\bUG\bG trap, the new
               value persists after .\b. completes.  The return status is the sta-
               tus of the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be (0 if no commands
-              are  executed),  and non-zero if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or cannot
+              are executed), and non-zero 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] ...]
-              With no arguments or with the -\b-p\bp option, a\bal\bli\bia\bas\bs 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.
+              With  no  arguments or with the -\b-p\bp option, a\bal\bli\bia\bas\bs 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, define an alias for each _\bn_\ba_\bm_\be whose
-              _\bv_\ba_\bl_\bu_\bis 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
-              during command parsing.  For each _\bn_\ba_\bm_\be in the argument list  for
-              which  no  _\bv_\ba_\bl_\bu_\be  is  supplied,  print the name and value of the
-              alias _\bn_\ba_\bm_\be.  a\bal\bli\bia\bas\bs returns true unless a _\bn_\ba_\bm_\be is given  (without
+              _\bv_\ba_\bl_\bu_\b 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
+              during  command parsing.  For each _\bn_\ba_\bm_\be in the argument list for
+              which no _\bv_\ba_\bl_\bu_\be is supplied, print the  name  and  value  of  the
+              alias  _\bn_\ba_\bm_\be.  a\bal\bli\bia\bas\bs returns true unless a _\bn_\ba_\bm_\be is given (without
               a corresponding =_\bv_\ba_\bl_\bu_\be) for which no alias has been defined.
 
        b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Resume  each  suspended  job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
-              had been started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present,  the  shell
+              Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background,  as  if  it
+              had  been  started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell
               uses its notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
-              run  when  job control is disabled or, when run with job control
-              enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was  not  found  or  was  started
+              run when job control is disabled or, when run with  job  control
+              enabled,  any  specified  _\bj_\bo_\bb_\bs_\bp_\be_\bc  was  not found or was started
               without job control.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\bls\bsv\bvS\bSV\bVX\bX]
@@ -5064,191 +5084,191 @@ 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-p\bp|-\b-P\bP [_\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\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:_\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
        b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b-_\bl_\bi_\bn_\be
-              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 to a shell  command,
-              or  set  a r\bre\bea\bad\bdl\bli\bin\bne\be variable.  Each non-option argument is a key
-              binding or command as it would appear in a r\bre\bea\bad\bdl\bli\bin\bne\b initializa-
-              tion  file such as _\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'.    In  the  following  descriptions,  output
-              available to be re-read is formatted as commands that would  ap-
+              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 to a shell command,
+              or set a r\bre\bea\bad\bdl\bli\bin\bne\be variable.  Each non-option argument is  a  key
+              binding  or command as it would appear in a r\bre\bea\bad\bdl\bli\bin\bne\be initializa-
+              tion file such as _\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'.   In  the  following  descriptions,   output
+              available  to be re-read is formatted as commands that would ap-
               pear in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file or that would be supplied
-              as  individual  arguments  to  a b\bbi\bin\bnd\bd command.  Options, if sup-
+              as individual arguments to a b\bbi\bin\bnd\bd  command.   Options,  if  sup-
               plied, 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 (_\bv_\bi_\b-_\bm_\bo_\bv_\be
-                     is also a synonym); _\be_\bm_\ba_\bc_\bs is  equivalent  to  _\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_\b (_\bv_\bi_\b-_\bm_\bo_\bv_\be
+                     is  also  a  synonym); _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
                      _\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
-                     way that they can be used as an argument to a  subsequent
-                     b\bbi\bin\bnd\bd  command  or  in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file.  If
-                     arguments remain after  option  processing,  b\bbi\bin\bnd\bd  treats
-                     them  as  r\bre\bea\bad\bdl\bli\bin\bne\be  command names and restricts output to
-                     those names.
-              -\b-P\bP     List current r\bre\bea\bad\bdl\bli\bin\bne\be function names  and  bindings.   If
+              -\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 used as an argument to a subsequent
+                     b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bdl\bli\bin\bne\be  initialization  file.   If
                      arguments  remain  after  option  processing, b\bbi\bin\bnd\bd treats
                      them as r\bre\bea\bad\bdl\bli\bin\bne\be command names and  restricts  output  to
                      those names.
-              -\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  used
+              -\b-P\bP     List  current  r\bre\bea\bad\bdl\bli\bin\bne\be  function names and bindings.  If
+                     arguments remain after  option  processing,  b\bbi\bin\bnd\bd  treats
+                     them  as  r\bre\bea\bad\bdl\bli\bin\bne\be  command names and restricts output to
+                     those names.
+              -\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 used
                      as an argument to a subsequent b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bd-\b-
                      l\bli\bin\bne\be initialization file.
-              -\b-S\bS     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
+              -\b-S\bS     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
                      strings they output.
-              -\b-v\bv     Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a  way
+              -\b-v\bv     Display  r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
                      that they can be used as an argument to a subsequent b\bbi\bin\bnd\bd
                      command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file.
               -\b-V\bV     List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
               -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
                      Read key bindings from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
               -\b-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                     Display  key  sequences  that  invoke  the named r\bre\bea\bad\bdl\bli\bin\bne\be
+                     Display key sequences  that  invoke  the  named  r\bre\bea\bad\bdl\bli\bin\bne\be
                      _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
               -\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                     Unbind all key sequences  bound  to  the  named  r\bre\bea\bad\bdl\bli\bin\bne\be
+                     Unbind  all  key  sequences  bound  to the named r\bre\bea\bad\bdl\bli\bin\bne\be
                      _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
               -\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[:\b: ]\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_\bq is en-
                      tered.  The separator between _\bk_\be_\by_\bs_\be_\bq and _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is
-                     either  whitespace  or  a  colon  optionally  followed by
-                     whitespace.  If the separator is  whitespace,  _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
-                     _\bm_\ba_\bn_\b must  be enclosed in double quotes and r\bre\bea\bad\bdl\bli\bin\bne\be ex-
-                     pands any of its special backslash-escapes in  _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
-                     _\bm_\ba_\bn_\b before saving it.  If the separator is a colon, any
-                     enclosing double quotes are optional, and  r\bre\bea\bad\bdl\bli\bin\bne\b does
-                     not  expand  the  command string before saving it.  Since
-                     the entire key binding expression must be a single  argu-
-                     ment,  it  should  be  enclosed  in  single quotes.  When
-                     _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bis  executed,  the  shell  sets  the  R\bRE\bEA\bAD\bD-\b-
-                     L\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\b variable  to the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line
+                     either whitespace  or  a  colon  optionally  followed  by
+                     whitespace.   If  the separator is whitespace, _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+                     _\bm_\ba_\bn_\bmust be enclosed in double quotes and  r\bre\bea\bad\bdl\bli\bin\bne\b ex-
+                     pands  any of its special backslash-escapes in _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+                     _\bm_\ba_\bn_\bbefore saving it.  If the separator is a colon,  any
+                     enclosing  double  quotes are optional, and r\bre\bea\bad\bdl\bli\bin\bne\be does
+                     not expand the command string before  saving  it.   Since
+                     the  entire key binding expression must be a single argu-
+                     ment, it should  be  enclosed  in  single  quotes.   When
+                     _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed,  the  shell  sets  the R\bRE\bEA\bAD\bD-\b-
+                     L\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bvariable to the contents of the  r\bre\bea\bad\bdl\bli\bin\bne\b line
                      buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT and R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK variables
-                     to the current location of the insertion  point  and  the
-                     saved  insertion  point  (the  mark),  respectively.  The
-                     shell assigns any numeric argument the user  supplied  to
-                     the  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT  variable.   If there was no argu-
-                     ment, that variable is not set.  If the executed  command
-                     changes   the   value  of  any  of  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE,  R\bRE\bEA\bAD\bD-\b-
-                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, or R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK, those new  values  will  be
+                     to  the  current  location of the insertion point and the
+                     saved insertion  point  (the  mark),  respectively.   The
+                     shell  assigns  any numeric argument the user supplied to
+                     the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT variable.  If there  was  no  argu-
+                     ment,  that variable is not set.  If the executed command
+                     changes  the  value  of  any  of   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE,   R\bRE\bEA\bAD\bD-\b-
+                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT,  or  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK,  those new values will be
                      reflected in the editing state.
-              -\b-X\bX     List  all  key  sequences bound to shell commands and the
-                     associated commands in a format that can be reused as  an
+              -\b-X\bX     List all key sequences bound to shell  commands  and  the
+                     associated  commands in a format that can be reused as an
                      argument to a subsequent b\bbi\bin\bnd\bd command.
 
-              The  return value is 0 unless an unrecognized option is supplied
+              The return value is 0 unless an unrecognized option is  supplied
               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
+              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, b\bbr\bre\bea\bak\bk exits _\bn enclosing loops.  _\bn must be >= 1.  If _\bn
-              is  greater  than  the  number of enclosing loops, all enclosing
+              is greater than the number of  enclosing  loops,  all  enclosing
               loops are exited.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
        b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Execute the specified shell builtin  _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn,  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 functionality of the builtin within the function.
-              The c\bcd\bd builtin is commonly redefined this way.  The return  sta-
+              Execute  the  specified  shell builtin _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn, 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 functionality of the builtin within the  function.
+              The  c\bcd\bd builtin is commonly redefined this way.  The return sta-
               tus is false if _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
 
        c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
               Returns the context of any active subroutine call (a shell func-
               tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins).
 
-              Without  _\be_\bx_\bp_\br,  c\bca\bal\bll\ble\ber\br displays the line number and source file-
-              name of the current subroutine call.  If a non-negative  integer
+              Without _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and  source  file-
+              name  of the current subroutine call.  If a non-negative integer
               is supplied 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 cur-
-              rent  execution call stack.  This extra information may be used,
+              rent 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  return  value is 0 unless the shell is not executing a sub-
+              routine call or _\be_\bx_\bp_\br does not correspond to a valid position  in
               the call stack.
 
        c\bcd\bd [-\b-L\bL] [-\b-@\b@] [_\bd_\bi_\br]
        c\bcd\bd -\b-P\bP [-\b-e\be] [-\b-@\b@] [_\bd_\bi_\br]
-              Change the current directory to _\bd_\bi_\br.  if _\bd_\bi_\br  is  not  supplied,
-              the  value of the H\bHO\bOM\bME\bE shell variable is used as _\bd_\bi_\br.  The vari-
-              able C\bCD\bDP\bPA\bAT\bTH\bH exists, and _\bd_\bi_\br does not begin with a slash (/),  c\bcd\bd
+              Change  the  current  directory to _\bd_\bi_\br.  if _\bd_\bi_\br is not supplied,
+              the value of the H\bHO\bOM\bME\bE shell variable is used as _\bd_\bi_\br.  The  vari-
+              able  C\bCD\bDP\bPA\bAT\bTH\bH exists, and _\bd_\bi_\br does not begin with a slash (/), c\bcd\bd
               uses it as a search path: the shell searches each directory name
-              in  C\bCD\bDP\bPA\bAT\bTH\bH  for  _\bd_\bi_\br.  Alternative directory names in C\bCD\bDP\bPA\bAT\bTH\bH are
-              separated by a colon (:).  A null directory name  in  C\bCD\bDP\bPA\bAT\bTH\b is
+              in C\bCD\bDP\bPA\bAT\bTH\bH for _\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\bH is
               the same as the current directory, i.e., ".".
 
-              The  -\b-P\bP option causes c\bcd\bd to use the physical directory structure
+              The -\b-P\bP option causes c\bcd\bd to use the physical directory  structure
               by resolving symbolic links while traversing _\bd_\bi_\br and before pro-
-              cessing instances of _\b._\b. in _\bd_\bi_\br (see also the -\b-P\bP  option  to  the
+              cessing  instances  of  _\b._\b. in _\bd_\bi_\br (see also the -\b-P\bP option to the
               s\bse\bet\bt builtin command).
 
-              The  -\b-L\bL  option  forces c\bcd\bd to follow symbolic links by resolving
+              The -\b-L\bL option forces c\bcd\bd to follow symbolic  links  by  resolving
               the link after processing instances of _\b._\b. in _\bd_\bi_\br.  If _\b._\b. appears
-              in _\bd_\bi_\br, c\bcd\bd processes it by  removing  the  immediately  previous
+              in  _\bd_\bi_\br,  c\bcd\bd  processes  it by removing the immediately previous
               pathname component from _\bd_\bi_\br, back to a slash or the beginning of
-              _\bd_\bi_\br,  and  verifying that the portion of _\bd_\bi_\br it has processed to
-              that point is still a valid directory name  after  removing  the
+              _\bd_\bi_\br, and verifying that the portion of _\bd_\bi_\br it has  processed  to
+              that  point  is  still a valid directory name after removing the
               pathname component.  If it is not a valid directory name, c\bcd\bd re-
-              turns  a  non-zero status.  If neither -\b-L\bL nor -\b-P\bP is supplied, c\bcd\bd
+              turns a non-zero status.  If neither -\b-L\bL nor -\b-P\bP is  supplied,  c\bcd\bd
               behaves as if -\b-L\bL had been supplied.
 
               If the -\b-e\be option is supplied with -\b-P\bP, and c\bcd\bd cannot successfully
-              determine the current working directory after a  successful  di-
+              determine  the  current working directory after a successful di-
               rectory change, it returns a non-zero status.
 
-              On  systems that support it, the -\b-@\b@ option presents the extended
+              On systems that support it, the -\b-@\b@ option presents the  extended
               attributes associated with a file as a directory.
 
-              An argument of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before  attempting  the
+              An  argument  of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before attempting the
               directory change.
 
-              If  c\bcd\bd  uses  a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH,\b, or if -\b- is
-              the first argument, and the directory change is  successful,  c\bcd\bd
+              If c\bcd\bd uses a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH, or  if  -\b is
+              the  first  argument, and the directory change is successful, c\bcd\bd
               writes the absolute pathname of the new working directory to the
               standard output.
 
-              If  the directory change is successful, c\bcd\bd sets the value of the
+              If the directory change is successful, c\bcd\bd sets the value of  the
               P\bPW\bWD\bD environment variable to the new directory name, and sets the
-              O\bOL\bLD\bDP\bPW\bWD\benvironment variable to the value of the current  working
+              O\bOL\bLD\bDP\bPW\bWD\b environment variable to the value of the current working
               directory before the change.
 
-              The  return  value  is  true  if  the directory was successfully
+              The return value is  true  if  the  directory  was  successfully
               changed; false otherwise.
 
        c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
-              The c\bco\bom\bmm\bma\ban\bnd\bd builtin runs _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the  nor-
+              The  c\bco\bom\bmm\bma\ban\bnd\bd builtin runs _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the nor-
               mal shell function lookup for _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  Only builtin commands or
-              commands  found  in the P\bPA\bAT\bTH\bH named _\bc_\bo_\bm_\bm_\ba_\bn_\bd are executed.  If the
+              commands found in the P\bPA\bAT\bTH\bH named _\bc_\bo_\bm_\bm_\ba_\bn_\bd are executed.   If  the
               -\b-p\bp option is supplied, 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
+              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, c\bco\bom\bmm\bma\ban\bnd\bd prints a de-
-              scription of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  The -\b-v\bv option displays a single word  in-
-              dicating  the command or filename used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd; the -\b-V\bV
+              If either the -\b-V\bV or -\b-v\bv option is supplied, c\bco\bom\bmm\bma\ban\bnd\bd prints a  de-
+              scription  of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  The -\b-v\bv option displays a single word in-
+              dicating the command or filename used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd; 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  zero  if
-              _\bc_\bo_\bm_\bm_\ba_\bn_\b was  found,  and non-zero if not.  If neither option is
-              supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be  found,  the
-              exit  status  is 127.  Otherwise, the exit status of the c\bco\bom\bmm\bma\ban\bnd\bd
+              If  the  -\b-V\bV or -\b-v\bv option is supplied, the exit status is zero if
+              _\bc_\bo_\bm_\bm_\ba_\bn_\bwas found, and non-zero if not.  If  neither  option  is
+              supplied  and  an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be found, the
+              exit status is 127.  Otherwise, the exit status 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 [-\b-V\bV _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\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
+              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 exceptions of -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, and -\b-I\bI, and write
               the matches to the standard output.
 
-              If the -\b-V\bV option is supplied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated  com-
-              pletions  into  the  indexed  array  variable _\bv_\ba_\br_\bn_\ba_\bm_\be instead of
+              If  the -\b-V\bV option is supplied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated com-
+              pletions into the indexed  array  variable  _\bv_\ba_\br_\bn_\ba_\bm_\be  instead  of
               writing them to the standard output.
 
               When using the -\b-F\bF or -\b-C\bC options, the various shell variables set
@@ -5257,11 +5277,11 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               The matches will be generated in the same way as if the program-
               mable completion code had generated them directly from a comple-
-              tion specification with the same flags.  If _\bw_\bo_\br_\bd  is  specified,
-              only  those  completions  matching  _\bw_\bo_\br_\bd  will  be  displayed or
+              tion  specification  with the same flags.  If _\bw_\bo_\br_\bd is specified,
+              only those  completions  matching  _\bw_\bo_\br_\bd  will  be  displayed  or
               stored.
 
-              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\be [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]
@@ -5271,78 +5291,78 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               Specify how arguments to each _\bn_\ba_\bm_\be should be completed.
 
               If the -\b-p\bp option is supplied, or if no options or _\bn_\ba_\bm_\bes are sup-
-              plied,  print  existing  completion specifications in a way that
+              plied, print existing completion specifications in  a  way  that
               allows them to be reused as input.  The -\b-r\br option removes a com-
-              pletion specification for each _\bn_\ba_\bm_\be, or, if no  _\bn_\ba_\bm_\bes  are  sup-
+              pletion  specification  for  each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are sup-
               plied, all completion specifications.
 
-              The  -\b-D\bD option indicates that other supplied options and actions
-              should apply to the "default" command completion; that is,  com-
-              pletion  attempted on a command for which no completion has pre-
-              viously been defined.  The -\b-E\bE option indicates that  other  sup-
-              plied  options  and actions should apply to "empty" command com-
-              pletion; that is, completion attempted on a blank line.  The  -\b-I\bI
-              option  indicates that other supplied options and actions should
-              apply to completion on the initial non-assignment  word  on  the
+              The -\b-D\bD option indicates that other supplied options and  actions
+              should  apply to the "default" command completion; that is, com-
+              pletion attempted on a command for which no completion has  pre-
+              viously  been  defined.  The -\b-E\bE option indicates that other sup-
+              plied options and actions should apply to "empty"  command  com-
+              pletion;  that is, completion attempted on a blank line.  The -\b-I\bI
+              option indicates that other supplied options and actions  should
+              apply  to  completion  on the initial non-assignment word on the
               line, or after a command delimiter such as ;\b; or |\b|, which is usu-
               ally command name completion.  If multiple options are supplied,
               the -\b-D\bD option takes precedence over -\b-E\bE, and both take precedence
-              over  -\b-I\bI.   If any of -\b-D\bD, -\b-E\bE, or -\b-I\bI are supplied, any other _\bn_\ba_\bm_\be
-              arguments are ignored; these completions only apply to the  case
+              over -\b-I\bI.  If any of -\b-D\bD, -\b-E\bE, or -\b-I\bI are supplied, any  other  _\bn_\ba_\bm_\be
+              arguments  are ignored; these completions only apply to the case
               specified by the option.
 
               The process of applying these completion specifications when at-
-              tempting  word completion  is described above under P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be
+              tempting word completion  is described above under  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be
               C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other options, if specified, have the following  meanings.   The
-              arguments  to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
-              -\b-P\band -\b-S\bS options) should be quoted to protect them from  expan-
+              Other  options,  if specified, have the following meanings.  The
+              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
+              -\b-P\b and -\b-S\bS options) should be quoted to protect them from expan-
               sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
 
               -\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
-                      The  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn  controls  several aspects of the comp-
-                      spec's behavior beyond the simple generation of  comple-
+                      The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects  of  the  comp-
+                      spec's  behavior beyond the simple generation of comple-
                       tions.  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
                       b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
                               Perform the rest of the default b\bba\bas\bsh\bh completions
                               if the compspec generates no matches.
-                      d\bde\bef\bfa\bau\bul\blt\bt Use  r\bre\bea\bad\bdl\bli\bin\bne\be's  default  filename completion if
+                      d\bde\bef\bfa\bau\bul\blt\bt Use r\bre\bea\bad\bdl\bli\bin\bne\be'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  r\bre\bea\bad\bdl\bli\bin\bne\be that the compspec generates file-
-                              names, so it can perform  any  filename-specific
-                              processing  (such as adding a slash to directory
-                              names, quoting special characters, or  suppress-
-                              ing  trailing  spaces).   This is intended to be
+                              Tell r\bre\bea\bad\bdl\bli\bin\bne\be that the compspec generates  file-
+                              names,  so  it can perform any filename-specific
+                              processing (such as adding a slash to  directory
+                              names,  quoting special characters, or suppress-
+                              ing trailing spaces).  This is  intended  to  be
                               used with shell functions.
                       f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
-                              Tell r\bre\bea\bad\bdl\bli\bin\bne\be to quote all the  completed  words
+                              Tell  r\bre\bea\bad\bdl\bli\bin\bne\be  to quote all the completed words
                               even if they are not filenames.
-                      n\bno\boq\bqu\buo\bot\bte\be Tell  r\bre\bea\bad\bdl\bli\bin\bne\be  not to quote the completed words
-                              if they are filenames (quoting filenames is  the
+                      n\bno\boq\bqu\buo\bot\bte\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to quote the  completed  words
+                              if  they are filenames (quoting filenames is the
                               default).
-                      n\bno\bos\bso\bor\brt\bt  Tell  r\bre\bea\bad\bdl\bli\bin\bne\be  not to sort the list of possible
+                      n\bno\bos\bso\bor\brt\bt  Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to sort the list  of  possible
                               completions alphabetically.
-                      n\bno\bos\bsp\bpa\bac\bce\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to append  a  space  (the  de-
-                              fault)  to  words  completed  at  the end of the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell  r\bre\bea\bad\bdl\bli\bin\bne\be  not  to  append a space (the de-
+                              fault) to words completed  at  the  end  of  the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After generating  any  matches  defined  by  the
-                              compspec,  attempt directory name completion and
-                              add any matches to the results of the other  ac-
+                              After  generating  any  matches  defined  by the
+                              compspec, attempt directory name completion  and
+                              add  any matches to the results of the other ac-
                               tions.
               -\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
@@ -5350,10 +5370,10 @@ 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 and directory names, similar to  r\bre\bea\bad\bdl\bli\bin\bne\be's
-                              filename  completion.   May also be specified as
+                      f\bfi\bil\ble\be    File  and directory names, similar to r\bre\bea\bad\bdl\bli\bin\bne\be's
+                              filename completion.  May also be  specified  as
                               -\b-f\bf.
                       f\bfu\bun\bnc\bct\bti\bio\bon\bn
                               Names of shell functions.
@@ -5361,17 +5381,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.
@@ -5380,219 +5400,219 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Names of all shell variables.  May also be spec-
                               ified as -\b-v\bv.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
-                      output is used as the possible  completions.   Arguments
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\bis executed in a subshell environment,  and  its
+                      output  is  used as the possible completions.  Arguments
                       are passed as with the -\b-F\bF option.
               -\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 the function is  executed,  the
+                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
+                      shell  environment.   When the function is executed, the
                       first argument ($\b$1\b1) is the name of the command whose ar-
                       guments are being completed, the second argument ($\b$2\b2) is
                       the word being completed, and the third argument ($\b$3\b3) is
-                      the  word preceding the word being completed on the cur-
+                      the word preceding the word being completed on the  cur-
                       rent command line.  When _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn finishes, programmable
-                      completion retrieves the possible completions  from  the
+                      completion  retrieves  the possible completions from the
                       value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      Expand  the pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt to gener-
+                      Expand the pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt to  gener-
                       ate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      Add _\bp_\br_\be_\bf_\bi_\bx to the beginning of each possible  completion
+                      Add  _\bp_\br_\be_\bf_\bi_\bx to the beginning of each possible completion
                       after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
-                      Append  _\bs_\bu_\bf_\bf_\bi_\bx  to  each  possible  completion after all
+                      Append _\bs_\bu_\bf_\bf_\bi_\bx to  each  possible  completion  after  all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      Split the _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt using the characters in the I\bIF\bFS\b spe-
-                      cial  variable  as delimiters, and expand each resulting
-                      word.  Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt, in  or-
-                      der  to  provide  a  mechanism  for the words to contain
-                      shell metacharacters or characters in the value of  I\bIF\bFS\bS.
-                      The  possible  completions are the members of the resul-
-                      tant list which match a prefix of the  word  being  com-
+                      Split  the _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt using the characters in the I\bIF\bFS\bS spe-
+                      cial variable as delimiters, and expand  each  resulting
+                      word.   Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt, in or-
+                      der to provide a mechanism  for  the  words  to  contain
+                      shell  metacharacters or characters in the value of I\bIF\bFS\bS.
+                      The possible completions are the members of  the  resul-
+                      tant  list  which  match a prefix of the word being com-
                       pleted.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
                       It is applied to the list of possible completions gener-
-                      ated by the preceding options and  arguments,  and  each
-                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
-                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
+                      ated  by  the  preceding options and arguments, and each
+                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
+                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
                       case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
 
-              The  return  value is true unless an invalid option is supplied,
+              The return value is true unless an invalid option  is  supplied,
               an option other than -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, or -\b-I\bI is supplied without a
-              _\bn_\ba_\bm_\bargument, an attempt is made to remove a completion  speci-
+              _\bn_\ba_\bm_\b argument, an attempt is made to remove a completion speci-
               fication for a _\bn_\ba_\bm_\be for which no specification exists, or an er-
               ror occurs adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
-              Modify  completion  options  for  each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
+              Modify completion options for each _\bn_\ba_\bm_\be  according  to  the  _\bo_\bp_\b-
               _\bt_\bi_\bo_\bns, or for the currently-executing completion if no _\bn_\ba_\bm_\bes are
-              supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are supplied,  display  the  completion
-              options  for  each _\bn_\ba_\bm_\be or the current completion.  The possible
-              values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the  c\bco\bom\bmp\bpl\ble\bet\bte\be  builtin  de-
+              supplied.   If  no  _\bo_\bp_\bt_\bi_\bo_\bns are supplied, display the completion
+              options for each _\bn_\ba_\bm_\be or the current completion.   The  possible
+              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
               scribed above.
 
               The -\b-D\bD option indicates that other supplied options should apply
-              to  the  "default"  command  completion; the -\b-E\bE option indicates
+              to the "default" command completion;  the  -\b-E\bE  option  indicates
               that other supplied options should apply to "empty" command com-
               pletion; and the -\b-I\bI option indicates that other supplied options
-              should apply to completion on the  initial  word  on  the  line.
+              should  apply  to  completion  on  the initial word on the line.
               These are determined in the same way as the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin.
 
               If multiple options are supplied, the -\b-D\bD option takes precedence
               over -\b-E\bE, and both take precedence over -\b-I\bI.
 
-              The  return  value is true unless an invalid option is supplied,
+              The return value is true unless an invalid option  is  supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               c\bco\bon\bnt\bti\bin\bnu\bue\be resumes 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\bt loop.  If _\bn is specified, b\bba\bas\bsh\bh resumes the  _\bnth
-              enclosing  loop.  _\bn must be >= 1.  If _\bn is greater than the num-
-              ber of enclosing loops, the shell  resumes  the  last  enclosing
-              loop  (the "top-level" loop).  The return value is 0 unless _\bn is
+              u\bun\bnt\bti\bil\bl,  or s\bse\bel\ble\bec\bct\bt loop.  If _\bn is specified, b\bba\bas\bsh\bh resumes the _\bnth
+              enclosing loop.  _\bn must be >= 1.  If _\bn is greater than the  num-
+              ber  of  enclosing  loops,  the shell resumes the last enclosing
+              loop (the "top-level" loop).  The return value is 0 unless _\b is
               not greater than or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
+              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
               given then display the values of variables or functions.  The -\b-p\bp
-              option  will  display  the  attributes  and values of each _\bn_\ba_\bm_\be.
-              When -\b-p\bp is used with _\bn_\ba_\bm_\be arguments, additional  options,  other
+              option will display the attributes  and  values  of  each  _\bn_\ba_\bm_\be.
+              When  -\b-p\bp  is used with _\bn_\ba_\bm_\be arguments, additional options, other
               than -\b-f\bf and -\b-F\bF, are ignored.
 
               When -\b-p\bp is supplied without _\bn_\ba_\bm_\be arguments, d\bde\bec\bcl\bla\bar\bre\be will display
               the attributes and values of all variables having the attributes
-              specified  by  the  additional options.  If no other options are
+              specified by the additional options.  If no  other  options  are
               supplied with -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values
-              of all shell variables.  The -\b-f\bf option restricts the display  to
+              of  all shell variables.  The -\b-f\bf option restricts the display to
               shell functions.
 
               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  each _\bn_\ba_\bm_\be is defined are displayed as well.
+              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 each _\bn_\ba_\bm_\be is defined are  displayed  as  well.
               The -\b-F\bF option implies -\b-f\bf.
 
-              The -\b-g\bg option forces variables to be created or modified at  the
+              The  -\b-g\bg option forces variables to be created or modified at the
               global scope, even when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.
               It is ignored when d\bde\bec\bcl\bla\bar\bre\be is not executed in a shell function.
 
-              The  -\b-I\bI  option causes local variables to inherit the attributes
-              (except the _\bn_\ba_\bm_\be_\br_\be_\bf attribute) and value of any  existing  vari-
-              able  with the same _\bn_\ba_\bm_\be at a surrounding scope.  If there is no
+              The -\b-I\bI option causes local variables to inherit  the  attributes
+              (except  the  _\bn_\ba_\bm_\be_\br_\be_\bf attribute) and value of any existing vari-
+              able with the same _\bn_\ba_\bm_\be at a surrounding scope.  If there is  no
               existing variable, the local variable is initially unset.
 
-              The following options can be used to restrict  output  to  vari-
-              ables  with the specified attribute or to give variables attrib-
+              The  following  options  can be used to restrict output to vari-
+              ables with the specified attribute or to give variables  attrib-
               utes:
-              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Each _\bn_\ba_\bm_\be refers to a shell function.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
+                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
                      the variable is assigned a value.
-              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
-                     characters are converted to lower-case.   The  upper-case
+              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
+                     characters  are  converted to lower-case.  The upper-case
                      attribute is disabled.
-              -\b-n\bn     Give  each  _\bn_\ba_\bm_\be  the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
-                     reference to another variable.  That  other  variable  is
-                     defined  by  the  value of _\bn_\ba_\bm_\be.  All references, assign-
-                     ments, and attribute modifications to _\bn_\ba_\bm_\be, except  those
-                     using  or changing the -\b-n\bn attribute itself, are performed
-                     on the variable referenced by _\bn_\ba_\bm_\be's value.  The  nameref
+              -\b-n\bn     Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making  it  a  name
+                     reference  to  another  variable.  That other variable is
+                     defined by the value of _\bn_\ba_\bm_\be.   All  references,  assign-
+                     ments,  and attribute modifications to _\bn_\ba_\bm_\be, except those
+                     using or changing the -\b-n\bn attribute itself, are  performed
+                     on  the variable referenced by _\bn_\ba_\bm_\be's value.  The nameref
                      attribute cannot be applied to array variables.
               -\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 in-
-                     herit  the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
+                     herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling  shell.
                      The trace attribute has no special meaning for variables.
-              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
-                     characters  are  converted to upper-case.  The lower-case
+              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
+                     characters are converted to upper-case.   The  lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark each _\bn_\ba_\bm_\be for export to subsequent commands via  the
+              -\b-x\bx     Mark  each _\bn_\ba_\bm_\be for export to subsequent commands via the
                      environment.
 
-              Using  "+"  instead of "-" turns off the specified attribute in-
+              Using "+" instead of "-" turns off the specified  attribute  in-
               stead, with the exceptions that +\b+a\ba and +\b+A\bA may not be used to de-
-              stroy array variables and +\b+r\br will not remove  the  readonly  at-
+              stroy  array  variables  and +\b+r\br will not remove the readonly at-
               tribute.
 
-              When  used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be lo-
-              cal, as with the l\blo\boc\bca\bal\bl command, unless the  -\b-g\bg  option  is  sup-
-              plied.   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.  When using -\b-a\ba or -\b-A\bA and the  com-
-              pound  assignment  syntax  to create array variables, additional
+              When used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\b lo-
+              cal,  as  with  the  l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is sup-
+              plied.  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.  When using -\b-a\ba or -\b-A\bA and the com-
+              pound assignment syntax to create  array  variables,  additional
               attributes do not take effect until subsequent assignments.
 
-              The return value is 0 unless an invalid option  is  encountered,
-              an  attempt is made to define a function using "-f foo=bar".  an
+              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 at-
               tempt is made to assign a value to an array variable without us-
-              ing the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs  above),  one  of
+              ing  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 readonly status for a readonly variable, an attempt
-              is made to turn off array status for an array  variable,  or  an
+              to turn off readonly status for a readonly variable, an  attempt
+              is  made  to  turn off array status for an array variable, or an
               attempt is made to display a non-existent function with -\b-f\bf.
 
        d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
               Without options, display the list of currently remembered direc-
-              tories.   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.  The current directory is always the  first  directory
+              tories.  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.   The current directory is always the first directory
               in the stack.
 
               Options, if supplied, have the following meanings:
-              -\b-c\bc     Clears  the  directory  stack  by deleting all of the en-
+              -\b-c\bc     Clears the directory stack by deleting  all  of  the  en-
                      tries.
-              -\b-l\bl     Produces a listing  using  full  pathnames;  the  default
+              -\b-l\bl     Produces  a  listing  using  full  pathnames; 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.
               +\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.
 
-              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] [_\bi_\bd ...]
-              Without options, remove each _\bi_\bd from the table of  active  jobs.
-              Each  _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID _\bp_\bi_\bd;
+              Without  options,  remove each _\bi_\bd from the table of active jobs.
+              Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID  _\bp_\bi_\bd;
               if _\bi_\bd is a _\bp_\bi_\bd, d\bdi\bis\bso\bow\bwn\bn uses the job containing _\bp_\bi_\bd as _\bj_\bo_\bb_\bs_\bp_\be_\bc.
 
-              If the -\b-h\bh option is supplied, d\bdi\bis\bso\bow\bwn\bn does not  remove  the  jobs
-              corresponding  to  each _\bi_\bd from the jobs table, but rather marks
-              them so the shell does not send S\bSI\bIG\bGH\bHU\bUP\bP to the job if  the  shell
+              If  the  -\b-h\bh  option is supplied, d\bdi\bis\bso\bow\bwn\bn does not remove the jobs
+              corresponding to each _\bi_\bd from the jobs table, but  rather  marks
+              them  so  the shell does not send S\bSI\bIG\bGH\bHU\bUP\bP to the job if the shell
               receives a S\bSI\bIG\bGH\bHU\bUP\bP.
 
-              If  no _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark all
+              If no _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark  all
               jobs; the -\b-r\br option without an _\bi_\bd argument removes or marks run-
-              ning jobs.  If no _\bi_\bd is supplied, and neither the -\b-a\ba nor the  -\b-r\br
+              ning  jobs.  If no _\bi_\bd is supplied, and neither the -\b-a\ba nor the -\b-r\br
               option is supplied, d\bdi\bis\bso\bow\bwn\bn removes or marks the current job.
 
               The return value is 0 unless an _\bi_\bd 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.
-              The return status is 0 unless a write error occurs.   If  -\b-n\b is
+              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
+              The  return  status  is 0 unless a write error occurs.  If -\b-n\bn is
               specified, the trailing newline is not printed.
 
-              If  the  -\b-e\be option is given, e\bec\bch\bho\bo interprets the following back-
+              If the -\b-e\be option is given, e\bec\bch\bho\bo interprets the  following  back-
               slash-escaped characters.  The -\b-E\bE option disables interpretation
-              of these escape characters, even on systems where they  are  in-
-              terpreted  by  default.   The  x\bxp\bpg\bg_\b_e\bec\bch\bho\bo  shell option determines
+              of  these  escape characters, even on systems where they are in-
+              terpreted by default.   The  x\bxp\bpg\bg_\b_e\bec\bch\bho\bo  shell  option  determines
               whether or not e\bec\bch\bho\bo interprets any options and expands these es-
-              cape characters.  e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end  of
+              cape  characters.  e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of
               options.
 
               e\bec\bch\bho\bo interprets the following escape sequences:
@@ -5607,101 +5627,101 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  The  eight-bit  character  whose value is the octal value
+              \\b\0\b0_\bn_\bn_\bn  The eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (zero to three octal digits).
-              \\b\x\bx_\bH_\bH   The eight-bit character whose value  is  the  hexadecimal
+              \\b\x\bx_\bH_\bH   The  eight-bit  character  whose value is the hexadecimal
                      value _\bH_\bH (one or two hex digits).
-              \\b\u\bu_\bH_\bH_\bH_\bH The  Unicode (ISO/IEC 10646) character whose value is the
+              \\b\u\bu_\bH_\bH_\bH_\bH The Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits).
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     The Unicode (ISO/IEC 10646) character whose value is  the
+                     The  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits).
 
-              e\bec\bch\bho\b writes  any  unrecognized backslash-escaped characters un-
+              e\bec\bch\bho\bwrites any unrecognized  backslash-escaped  characters  un-
               changed.
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable and disable builtin shell commands.  Disabling a  builtin
-              allows  an  executable  file  which has the same name as a shell
-              builtin to be executed without specifying a full pathname,  even
+              Enable  and disable builtin shell commands.  Disabling a builtin
+              allows an executable file 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 files.
 
-              If  -\b-n\bn  is supplied, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\bes are
-              enabled.  For example, to use the t\bte\bes\bst\bt binary found usin g  P\bPA\bAT\bTH\bH
+              If -\b-n\bn is supplied, each _\bn_\ba_\bm_\be is disabled; otherwise,  _\bn_\ba_\bm_\bes  are
+              enabled.   For  example, to use the t\bte\bes\bst\bt binary found using P\bPA\bAT\bTH\bH
               instead of the shell builtin version, run "enable -n test".
 
-              If  no  _\bn_\ba_\bm_\be arguments are supplied, or if the -\b-p\bp option is sup-
+              If no _\bn_\ba_\bm_\be arguments are supplied, or if the -\b-p\bp option  is  sup-
               plied, print a list of shell builtins.  With no other option ar-
               guments, the list consists of all enabled shell builtins.  If -\b-n\bn
-              is supplied, print only disabled builtins.  If -\b-a\ba  is  supplied,
-              the  list  printed  includes all builtins, with an indication of
+              is  supplied,  print only disabled builtins.  If -\b-a\ba is supplied,
+              the list printed includes all builtins, with  an  indication  of
               whether or not each is enabled.  The -\b-s\bs option means to restrict
               the output to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.
 
-              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
+              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.
               If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, B\bBa\bas\bsh\bh will use the value of
-              the  B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH  variable  as a colon-separated list of
-              directories in which to search for _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.   The  default  for
-              B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\b is system-dependent, and may include "." to
-              force a search of the current directory.   The  -\b-d\bd  option  will
-              delete  a builtin previously loaded with -\b-f\bf.  If _\b-_\bs is used with
+              the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a  colon-separated  list  of
+              directories  in  which  to search for _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  The default for
+              B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bis system-dependent, and may include "."  to
+              force  a  search  of  the current directory.  The -\b-d\bd option will
+              delete a builtin previously loaded with -\b-f\bf.  If _\b-_\bs is used  with
               _\b-_\bf, the new builtin becomes a POSIX special builtin.
 
-              If no options are supplied and a _\bn_\ba_\bm_\be is not  a  shell  builtin,
-              e\ben\bna\bab\bbl\ble\b will  attempt  to  load  _\bn_\ba_\bm_\be from a shared object named
+              If  no  options  are supplied and a _\bn_\ba_\bm_\be is not a shell builtin,
+              e\ben\bna\bab\bbl\ble\bwill attempt to load _\bn_\ba_\bm_\be  from  a  shared  object  named
               _\bn_\ba_\bm_\be, as if the command were "enable -f _\bn_\ba_\bm_\be _\bn_\ba_\bm_\be".
 
-              The return value is 0 unless a _\bn_\ba_\bm_\be is not a  shell  builtin  or
+              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 ...]
-              Concatenate  the _\ba_\br_\bgs together into a single command, separating
+              Concatenate the _\ba_\br_\bgs together into a single command,  separating
               them with spaces.  B\bBa\bas\bsh\bh then reads and execute this command, and
-              returns its exit status as the return status of e\bev\bva\bal\bl.  If  there
+              returns  its exit status as the return status 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 without creating
-              a new process.  _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be a shell builtin  or  function.
+              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell without  creating
+              a  new  process.  _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be a shell builtin or function.
               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 beginning of the ze-
-              roth  argument  passed  to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what _\bl_\bo_\bg_\bi_\bn(1) does.
-              The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty  envi-
+              roth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is  what  _\bl_\bo_\bg_\bi_\bn(1)  does.
+              The  -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty envi-
               ronment.  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 e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In
-              that case, it returns a non-zero status.  An  interactive  shell
-              returns  a  non-zero  status  if the file cannot be executed.  A
+              shell exits, unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option  is  enabled.   In
+              that  case,  it returns a non-zero status.  An interactive shell
+              returns a non-zero status if the file  cannot  be  executed.   A
               subshell exits unconditionally if e\bex\bxe\bec\bc fails.
 
               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  redi-
+              current  shell, and the return status is 0.  If there is a redi-
               rection 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,
-              the exit status is that of the last command executed.  Any  trap
+              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
+              the  exit status is that of the last command executed.  Any 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[=_\bv_\ba_\bl_\bu_\be]] ...
        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
+              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.
 
-              The  -\b-n\bn  option unexports, or removes the export attribute, from
-              each _\bn_\ba_\bm_\be.  If no _\bn_\ba_\bm_\be_\bs are given, or if the -\b-p\bp option  is  sup-
-              plied,  e\bex\bxp\bpo\bor\brt\bt  prints a list of names of all exported variables
+              The -\b-n\bn option unexports, or removes the export  attribute,  from
+              each  _\bn_\ba_\bm_\be.   If no _\bn_\ba_\bm_\be_\bs are given, or if the -\b-p\bp option is sup-
+              plied, e\bex\bxp\bpo\bor\brt\bt prints a list of names of all  exported  variables
               on the standard output.
 
-              e\bex\bxp\bpo\bor\brt\ballows the value of a variable to be set when it  is  ex-
+              e\bex\bxp\bpo\bor\brt\b allows  the value of a variable to be set when it is ex-
               ported or unexported by following the variable name with =_\bv_\ba_\bl_\bu_\be.
               This sets the value of the variable to _\bv_\ba_\bl_\bu_\be while modifying the
-              export  attribute.  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
+              export attribute.  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
               function.
 
@@ -5709,147 +5729,159 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              The  first  form  selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
-              from the history list and  displays  or  edits  and  re-executes
-              them.   _\bF_\bi_\br_\bs_\bt  and  _\bl_\ba_\bs_\bt may be specified as a string (to locate
-              the last command beginning with that string) or as a number  (an
-              index  into the history list, where a negative number is used as
+              The first form selects a range of commands from  _\bf_\bi_\br_\bs_\bt  to  _\bl_\ba_\bs_\bt
+              from  the  history  list  and  displays or edits and re-executes
+              them.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a  string  (to  locate
+              the  last command beginning with that string) or as a number (an
+              index into the history list, where a negative number is used  as
               an offset from the current command number).
 
               When listing, a _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is
               equivalent to the current command (usually the f\bfc\bc command); oth-
-              erwise 0 is equivalent to -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is  not
+              erwise  0 is equivalent to -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is not
               specified, it is set to 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 specified, it is set to the previous command for
               editing and -16 for listing.
 
-              If  the  -\b-l\bl  option  is supplied, the commands are listed on the
-              standard output.  The -\b-n\bn option suppresses the  command  numbers
+              If the -\b-l\bl option is supplied, the commands  are  listed  on  the
+              standard  output.   The -\b-n\bn option suppresses the command numbers
               when listing.  The -\b-r\br option reverses the order of the commands.
 
-              Otherwise,  f\bfc\bc  invokes the editor named by _\be_\bn_\ba_\bm_\be on a file con-
-              taining those commands.  If _\be_\bn_\ba_\bm_\be is not supplied, f\bfc\bc  uses  the
-              value  of the F\bFC\bCE\bED\bDI\bIT\bT variable, 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, f\bfc\bc uses _\bv_\bi_\b. When  edit-
-              ing  is  complete,  f\bfc\bc reads the file containing the edited com-
+              Otherwise, f\bfc\bc invokes the editor named by _\be_\bn_\ba_\bm_\be on a  file  con-
+              taining  those  commands.  If _\be_\bn_\ba_\bm_\be is not supplied, f\bfc\bc uses the
+              value of the F\bFC\bCE\bED\bDI\bIT\bT variable, 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, f\bfc\bc uses _\bv_\bi_\b. When edit-
+              ing is complete, f\bfc\bc reads the file containing  the  edited  com-
               mands and echoes and executes them.
 
-              In the second form, f\bfc\bc re-executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd after replacing  each
-              instance  of  _\bp_\ba_\bt  with _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
+              In  the second form, f\bfc\bc re-executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd after replacing each
+              instance of _\bp_\ba_\bt with _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted  the  same  as
               _\bf_\bi_\br_\bs_\bt above.
 
-              A useful alias to use with f\bfc\bc is "r="fc -s"", so that typing  "r
+              A  useful alias to use with f\bfc\bc is "r="fc -s"", so that typing "r
               cc" runs the last command beginning with "cc" and typing "r" re-
               executes the last command.
 
-              If  the  first  form is used, the return value is zero unless an
-              invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt  specify  history
-              lines  out  of  range.   When editing and re-executing a file of
+              If the first form is used, the return value is  zero  unless  an
+              invalid  option  is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+              lines out of range.  When editing and  re-executing  a  file  of
               commands, the return value is the value of the last command exe-
               cuted or failure if an error occurs with the temporary file.  If
               the second form is used, the return status is that of the re-ex-
-              ecuted command, unless _\bc_\bm_\bd does not specify a valid history  en-
+              ecuted  command, unless _\bc_\bm_\bd does not specify a valid history en-
               try, in which case f\bfc\bc returns a non-zero status.
 
        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.
-              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, f\bfg\bg uses the  shell's  notion  of  the
-              _\bc_\bu_\br_\br_\be_\bn_\b _\bj_\bo_\bb.   The  return  value is that of the command placed
-              into the foreground, or failure if run when job control is  dis-
+              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, f\bfg\bg uses the shell's notion of the
+              _\bc_\bu_\br_\br_\be_\bn_\b_\bj_\bo_\bb.  The return value is that  of  the  command  placed
+              into  the foreground, or failure if run when job control is dis-
               abled or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not
-              specify  a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+              specify 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 ...]
-              g\bge\bet\bto\bop\bpt\bts\bis used by shell scripts and functions  to  parse  posi-
-              tional  parameters and obtain options and their arguments.  _\bo_\bp_\bt_\b-
-              _\bs_\bt_\br_\bi_\bn_\bcontains the option characters to  be  recognized;  if  a
+              g\bge\bet\bto\bop\bpt\bts\b is  used  by shell scripts and functions to parse posi-
+              tional parameters and obtain options and their arguments.   _\bo_\bp_\bt_\b-
+              _\bs_\bt_\br_\bi_\bn_\b contains  the  option  characters to be recognized; 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.
+              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
+              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,
+              O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to 1 each time  the  shell  or  a
+              shell  script  is invoked.  When an option requires an argument,
               g\bge\bet\bto\bop\bpt\bts\bs places that argument into the variable O\bOP\bPT\bTA\bAR\bRG\bG.
 
-              The  shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically; it must be manu-
-              ally reset between multiple calls to  g\bge\bet\bto\bop\bpt\bts\bs  within  the  same
+              The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically; it must be  manu-
+              ally  reset  between  multiple  calls to g\bge\bet\bto\bop\bpt\bts\bs within the same
               shell invocation to use a new set of parameters.
 
-              When  it reaches the end of options, 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
+              When it reaches the end of options, g\bge\bet\bto\bop\bpt\bts\bs exits with a  return
+              value  greater  than  zero.   O\bOP\bPT\bTI\bIN\bND\bD  is set to the index of the
               first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
-              arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses  those  in-
+              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
+              arguments  are  supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
               stead.
 
-              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, g\bge\bet\bto\bop\bpt\bts\bs uses  _\bs_\bi_\bl_\be_\bn_\bt  error  reporting.
-              In  normal operation, g\bge\bet\bto\bop\bpt\bts\bs prints diagnostic messages when it
-              encounters invalid options or missing option arguments.  If  the
-              variable  O\bOP\bPT\bTE\bER\bRR\bR is set to 0, g\bge\bet\bto\bop\bpt\bts\bs does not display any error
-              messages, even if the first character  of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  not  a
+              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, g\bge\bet\bto\bop\bpt\bts\bs uses _\bs_\bi_\bl_\be_\bn_\bt error reporting.
+              In normal operation, g\bge\bet\bto\bop\bpt\bts\bs prints diagnostic messages when  it
+              encounters  invalid options or missing option arguments.  If the
+              variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, g\bge\bet\bto\bop\bpt\bts\bs does not display any  error
+              messages,  even  if  the  first  character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a
               colon.
 
               If g\bge\bet\bto\bop\bpt\bts\bs detects an invalid option, it 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, it assigns the option character found to  O\bOP\bP-\b-
+              if not silent, prints an error message and  unsets  O\bOP\bPT\bTA\bAR\bRG\bG.   If
+              g\bge\bet\bto\bop\bpt\bts\b is silent, it assigns the option character found to O\bOP\bP-\b-
               T\bTA\bAR\bRG\bG and does not print a diagnostic message.
 
-              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
               it sets the value of _\bn_\ba_\bm_\be to a question mark (?\b?), unsets O\bOP\bPT\bTA\bAR\bRG\bG,
-              and prints a diagnostic message.  If g\bge\bet\bto\bop\bpt\bts\bs is silent, it  sets
-              the  value  of _\bn_\ba_\bm_\be to a colon (:\b:) and sets O\bOP\bPT\bTA\bAR\bRG\bG to the option
+              and  prints a diagnostic message.  If g\bge\bet\bto\bop\bpt\bts\bs is silent, it sets
+              the value of _\bn_\ba_\bm_\be to a colon (:\b:) and sets O\bOP\bPT\bTA\bAR\bRG\bG to  the  option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
+              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
               Each time h\bha\bas\bsh\bh is invoked, it remembers the full pathname of the
-              command  _\bn_\ba_\bm_\be  as  determined  by  searching  the directories in
-              $\b$P\bPA\bAT\bTH\bH.  Any previously-remembered pathname associated with  _\bn_\ba_\bm_\be
-              is  discarded.  If the -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+              command _\bn_\ba_\bm_\be as  determined  by  searching  the  directories  in
+              $\b$P\bPA\bAT\bTH\bH.   Any previously-remembered pathname associated with _\bn_\ba_\bm_\be
+              is discarded.  If the -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
               as the full pathname of the command.
 
-              The -\b-r\br option causes the shell to forget  all  remembered  loca-
-              tions.   Assigning  to  the P\bPA\bAT\bTH\bH variable also clears all hashed
-              filenames.  The -\b-d\bd option causes the shell to forget the  remem-
+              The  -\b-r\br  option  causes the shell to forget all remembered loca-
+              tions.  Assigning to the P\bPA\bAT\bTH\bH variable also  clears  all  hashed
+              filenames.   The -\b-d\bd option causes the shell to forget the remem-
               bered location of each _\bn_\ba_\bm_\be.
 
               If the -\b-t\bt option is supplied, h\bha\bas\bsh\bh prints the full pathname cor-
-              responding  to  each  _\bn_\ba_\bm_\be.  If multiple _\bn_\ba_\bm_\be arguments are sup-
-              plied with -\b-t\bt, h\bha\bas\bsh\bh prints the  _\bn_\ba_\bm_\be  before  the  corresponding
+              responding to each _\bn_\ba_\bm_\be.  If multiple _\bn_\ba_\bm_\be  arguments  are  sup-
+              plied  with  -\b-t\bt,  h\bha\bas\bsh\bh  prints the _\bn_\ba_\bm_\be before the corresponding
               hashed full pathname.  The -\b-l\bl option displays output in a format
               that may be reused as input.
 
-              If  no  arguments  are  given,  or  if only -\b-l\bl is supplied, h\bha\bas\bsh\bh
-              prints information about remembered commands.  The -\b-t\bt,  -\b-d\bd,  and
-              -\b-p\b options (the options that act on the _\bn_\ba_\bm_\be arguments) are mu-
+              If no arguments are given, or  if  only  -\b-l\bl  is  supplied,  h\bha\bas\bsh\bh
+              prints  information  about remembered commands.  The -\b-t\bt, -\b-d\bd, and
+              -\b-p\boptions (the options that act on the _\bn_\ba_\bm_\be arguments) are  mu-
               tually exclusive.  Only one will be active.  If more than one is
-              supplied, -\b-t\bt has higher priority than -\b-p\bp, and both  have  higher
+              supplied,  -\b-t\bt  has higher priority than -\b-p\bp, and both have higher
               priority than -\b-d\bd.
 
-              The  return  status is zero unless a _\bn_\ba_\bm_\be is not found or an in-
+              The return status is zero unless a _\bn_\ba_\bm_\be is not found or  an  in-
               valid option is supplied.
 
        h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
-              Display helpful information about builtin commands.  If  _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is  specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise it displays a list of all  the  builtins  and
-              shell compound commands.
+              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  as described below; otherwise it displays a list of all
+              the builtins and shell compound commands.
+
+              Options, if supplied, have the follow meanings:
+
               -\b-d\bd     Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
               -\b-m\bm     Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
                      format
               -\b-s\bs     Display only a short usage synopsis for each _\bp_\ba_\bt_\bt_\be_\br_\bn
 
+              If _\bp_\ba_\bt_\bt_\be_\br_\bn contains pattern  matching  characters  (see  P\bPa\bat\btt\bte\ber\brn\bn
+              M\bMa\bat\btc\bch\bhi\bin\bng\bg  above) it's treated as a shell pattern and h\bhe\bel\blp\bp prints
+              the description of each help topic matching _\bp_\ba_\bt_\bt_\be_\br_\bn.
+
+              If not, and _\bp_\ba_\bt_\bt_\be_\br_\bn exactly matches the name of  a  help  topic,
+              h\bhe\bel\blp\bp  prints the description associated with that topic.  Other-
+              wise, h\bhe\bel\blp\bp performs prefix matching and prints the  descriptions
+              of all matching help topics.
+
               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]
@@ -6414,179 +6446,179 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               with a non-zero status, or zero if all  commands
                               in  the pipeline exit successfully.  This option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
-                              operation  differs  from  the  POSIX standard to
-                              match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See  S\bSE\bEE\bE  A\bAL\bLS\bSO\bO
-                              below for a reference to a document that details
-                              how posix mode affects bash's behavior.
+                      p\bpo\bos\bsi\bix\bx   Enable posix mode; change the behavior  of  b\bba\bas\bsh\bh
+                              where  the  default  operation  differs from the
+                              POSIX standard to match the standard.   See  S\bSE\bEE\bE
+                              A\bAL\bLS\bSO\bO  below  for  a reference to a document that
+                              details how posix mode affects bash's behavior.
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use  a  vi-style command line editing interface.
+                      v\bvi\bi      Use a vi-style command line  editing  interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
-                      If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  s\bse\bet\bt  prints  the
-                      current  shell  option settings.  If +\b+o\bo is supplied with
-                      no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints a series of s\bse\bet\bt  commands  to
-                      recreate  the  current  option  settings on the standard
+                      If  -\b-o\bo  is  supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints the
+                      current shell option settings.  If +\b+o\bo is  supplied  with
+                      no  _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  s\bse\bet\bt prints a series of s\bse\bet\bt commands to
+                      recreate the current option  settings  on  the  standard
                       output.
-              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this mode, the  shell  does
-                      not  read  the $\b$E\bEN\bNV\bV and $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files, shell functions
-                      are not inherited from the environment,  and  the  S\bSH\bHE\bEL\bL-\b-
-                      L\bLO\bOP\bPT\bTS\bS,  B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH,  and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if
-                      they appear in the environment,  are  ignored.   If  the
-                      shell  is started with the effective user (group) id not
-                      equal to the real user (group) id, and the -\b-p\bp option  is
-                      not  supplied, these actions are taken and the effective
+              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this mode, the shell does
+                      not read the $\b$E\bEN\bNV\bV and $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files,  shell  functions
+                      are  not  inherited  from the environment, and the S\bSH\bHE\bEL\bL-\b-
+                      L\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if
+                      they  appear  in  the  environment, are ignored.  If the
+                      shell is started with the effective user (group) id  not
+                      equal  to the real user (group) id, and the -\b-p\bp option is
+                      not 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 not reset.
-                      Turning this option off causes the  effective  user  and
+                      Turning  this  option  off causes the effective user and
                       group ids to be set to the real user and group ids.
               -\b-r\br      Enable restricted shell mode.  This option cannot be un-
                       set once it has been set.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial  parameters  "@"  and  "*", or array variables sub-
-                      scripted with "@" or "*", as an  error  when  performing
-                      parameter  expansion.   If  expansion is attempted on an
-                      unset variable or parameter, the shell prints  an  error
-                      message,  and, if not interactive, exits with a non-zero
+                      cial parameters "@" and "*",  or  array  variables  sub-
+                      scripted  with  "@"  or "*", as an error when performing
+                      parameter expansion.  If expansion is  attempted  on  an
+                      unset  variable  or parameter, the shell prints an error
+                      message, and, if not interactive, exits with a  non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
+              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play  the expanded value of P\bPS\bS4\b4, followed by the command
-                      and its expanded arguments or associated word  list,  to
+                      play the expanded value of P\bPS\bS4\b4, followed by the  command
+                      and  its  expanded arguments or associated word list, to
                       the standard error.
-              -\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
+              -\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
                       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.  Using the
-                      redirection operator >\b>|\b| instead of >\b> will override  this
+              -\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.   Using  the
+                      redirection  operator >\b>|\b| instead of >\b> will override this
                       and force the creation of an output file.
               -\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 resolve symbolic links when
-                      executing commands such as c\bcd\bd that  change  the  current
+              -\b-P\bP      If set, the shell does not resolve symbolic  links  when
+                      executing  commands  such  as c\bcd\bd that change the current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain of  directories  when  performing  commands  which
+                      chain  of  directories  when  performing  commands which
                       change the current directory.
-              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
                       shell functions, command substitutions, and commands ex-
-                      ecuted in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and  R\bRE\bET\bTU\bUR\bRN\bN
+                      ecuted  in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
                       traps are normally not inherited in such cases.
               -\b--\b-      If no arguments follow this option, unset the positional
                       parameters.  Otherwise, set the positional parameters to
                       the _\ba_\br_\bgs, even if some of them begin with a -\b-.
               -\b-       Signal the end of options, and assign all remaining _\ba_\br_\bgs
                       to the positional parameters.  The -\b-x\bx and -\b-v\bv options are
-                      turned  off.  If there are no _\ba_\br_\bgs, the positional para-
+                      turned off.  If there are no _\ba_\br_\bgs, the positional  para-
                       meters remain unchanged.
 
-              The options are off by default unless otherwise noted.  Using  +
-              rather  than  -  causes these options to be turned off.  The op-
+              The  options are off by default unless otherwise noted.  Using +
+              rather than - causes these options to be turned  off.   The  op-
               tions can also be specified as arguments to an invocation of the
-              shell.  The current set of options may be found in $\b$-\b-.  The  re-
-              turn  status  is always zero unless an invalid option is encoun-
+              shell.   The current set of options may be found in $\b$-\b-.  The re-
+              turn status is always zero unless an invalid option  is  encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
               Rename positional parameters from _\bn+1 ... to $\b$1\b1 .\b..\b..\b..\b.  Parameters
-              represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are unset.  _\b 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  _\b is
+              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 settings controlling optional shell behav-
-              ior.  The settings can be either those listed below, or, if  the
+              Toggle the values of settings controlling optional shell  behav-
+              ior.   The settings can be either those listed below, or, if the
               -\b-o\bo option is used, those available with the -\b-o\bo option to the s\bse\bet\bt
               builtin command.
 
-              With  no  options,  or with the -\b-p\bp option, display a list of all
-              settable options, with an indication of whether or not  each  is
-              set;  if  any _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output is restricted to
+              With no options, or with the -\b-p\bp option, display a  list  of  all
+              settable  options,  with an indication of whether or not each is
+              set; if any _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output is  restricted  to
               those options.  The -\b-p\bp option displays output in a form that may
               be reused as input.
 
               Other options have the following 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 supplied with -\b-q\bq, the return
+                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are supplied with  -\b-q\bq,  the  return
                      status is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero oth-
                      erwise.
-              -\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, s\bsh\bho\bop\bpt\bt
-              shows only those options which are set or  unset,  respectively.
-              Unless  otherwise  noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
+              If either -\b-s\bs or -\b-u\bu is used  with  no  _\bo_\bp_\bt_\bn_\ba_\bm_\be  arguments,  s\bsh\bho\bop\bpt\bt
+              shows  only  those options which are set or unset, respectively.
+              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 op-
-              tions, 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  op-
+              tions,  the  return  status  is  zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
               a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
-                      If  set, the shell suppresses multiple evaluation of as-
+                      If set, the shell suppresses multiple evaluation of  as-
                       sociative and indexed array subscripts during arithmetic
                       expression evaluation, while executing builtins that can
-                      perform  variable  assignments,  and   while   executing
+                      perform   variable   assignments,  and  while  executing
                       builtins that perform array dereferencing.
               a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
                       Deprecated; a synonym for a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be.
-              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
-                      is executed as if it were the argument to  the  c\bcd\b com-
+              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
+                      is  executed  as  if it were the argument to the c\bcd\bd com-
                       mand.  This option is only used by interactive shells.
               b\bba\bas\bsh\bh_\b_s\bso\bou\bur\brc\bce\be_\b_f\bfu\bul\bll\blp\bpa\bat\bth\bh
-                      If  set,  filenames added to the B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE array vari-
-                      able are converted to full pathnames  (see  S\bSh\bhe\bel\bll\b V\bVa\bar\bri\bi-\b-
+                      If set, filenames added to the B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE  array  vari-
+                      able  are  converted  to full pathnames (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
                       a\bab\bbl\ble\bes\bs above).
               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, the c\bcd\bd command attempts to correct minor errors
-                      in the spelling of a directory component.  Minor  errors
-                      include  transposed characters, a missing character, and
+              c\bcd\bds\bsp\bpe\bel\bll\bl If set, the c\bcd\bd command attempts to correct minor  errors
+                      in  the spelling of a directory component.  Minor errors
+                      include transposed characters, a missing character,  and
                       one extra character.  If c\bcd\bd corrects the directory name,
-                      it prints the corrected filename, and the  command  pro-
+                      it  prints  the corrected filename, and the command pro-
                       ceeds.  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, b\bba\bas\bsh\bh performs  a  normal  path
+                      ble exists before trying to execute  it.   If  a  hashed
+                      command  no  longer  exists, b\bba\bas\bsh\bh performs a normal path
                       search.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs  before  exiting an interactive shell.  If any jobs
+                      jobs before exiting an interactive shell.  If  any  jobs
                       are running, b\bba\bas\bsh\bh defers the exit until a second exit is
-                      attempted without an intervening command (see  J\bJO\bOB\b C\bCO\bON\bN-\b-
-                      T\bTR\bRO\bOL\b above).  The shell always postpones exiting if any
+                      attempted  without  an intervening command (see J\bJO\bOB\bB C\bCO\bON\bN-\b-
+                      T\bTR\bRO\bOL\babove).  The shell always postpones exiting if  any
                       jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If set, b\bba\bas\bsh\bh checks the window size after each  external
-                      (non-builtin)  command  and,  if  necessary, updates the
-                      values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS, using the  file  descriptor
-                      associated  with the standard error if it is a terminal.
+                      If  set, b\bba\bas\bsh\bh checks the window size after each external
+                      (non-builtin) command and,  if  necessary,  updates  the
+                      values  of  L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS, using the file descriptor
+                      associated with the standard error if it is a  terminal.
                       This option is enabled by default.
-              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.  This option  is
-                      enabled  by  default,  but only has an effect if command
+              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.  This option is
+                      enabled by default, but only has an  effect  if  command
                       history is enabled, as described above under H\bHI\bIS\bST\bTO\bOR\bRY\bY.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
@@ -6596,143 +6628,143 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               c\bco\bom\bmp\bpa\bat\bt4\b43\b3
               c\bco\bom\bmp\bpa\bat\bt4\b44\b4
               c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-                      These control aspects of the shell's compatibility  mode
+                      These  control aspects of the shell's compatibility mode
                       (see S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below).
               c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
-                      If  set,  b\bba\bas\bsh\bh  quotes all shell metacharacters in file-
-                      names and directory names  when  performing  completion.
+                      If set, b\bba\bas\bsh\bh quotes all shell  metacharacters  in  file-
+                      names  and  directory  names when performing completion.
                       If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
-                      lar  sign from the set of characters that will be quoted
-                      in completed filenames when these metacharacters  appear
-                      in  shell  variable references in words to be completed.
-                      This means that dollar signs in variable names that  ex-
-                      pand  to  directories  will  not be quoted; however, any
-                      dollar signs appearing in filenames will not be  quoted,
-                      either.   This  is  active only when bash is using back-
-                      slashes to quote completed filenames.  This variable  is
-                      set  by  default,  which is the default bash behavior in
+                      lar sign from the set of characters that will be  quoted
+                      in  completed filenames when these metacharacters appear
+                      in shell variable references in words to  be  completed.
+                      This  means that dollar signs in variable names that ex-
+                      pand to directories will not  be  quoted;  however,  any
+                      dollar  signs appearing in filenames will not be quoted,
+                      either.  This is active only when bash  is  using  back-
+                      slashes  to quote completed filenames.  This variable is
+                      set by default, which is the default  bash  behavior  in
                       versions through 4.2.
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
-                      of  word  expansion when performing filename completion.
+                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
+                      of word expansion when performing  filename  completion.
                       This  changes  the  contents  of  the  r\bre\bea\bad\bdl\bli\bin\bne\be  editing
-                      buffer.   If not set, b\bba\bas\bsh\bh attempts to preserve what the
+                      buffer.  If not set, b\bba\bas\bsh\bh attempts to preserve what  the
                       user typed.
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
-                      names  during word completion if the directory name ini-
+                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
+                      names during word completion if the directory name  ini-
                       tially supplied does not exist.
-              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a "."  in
-                      the  results of pathname expansion.  The filenames _\b. and
+              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.  The filenames _\b and
                       _\b._\b. must always be matched explicitly, even if d\bdo\bot\btg\bgl\blo\bob\bb is
                       set.
               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.   An  interactive  shell does not exit if
+                      not  execute  the  file  specified as an argument to the
+                      e\bex\bxe\bec\bbuiltin.  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 at shell invocation, or in a shell startup file,
+                      If set at shell invocation, or in a shell startup  file,
                       arrange to execute the debugger profile before the shell
-                      starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set  af-
-                      ter  invocation,  behavior intended for use by debuggers
+                      starts,  identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set af-
+                      ter invocation, 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), the shell
+                      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),  the  shell
                              simulates a call to r\bre\bet\btu\bur\brn\bn.
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
                              in their descriptions above).
-                      5\b5.\b.     Function  tracing  is  enabled: command substitu-
+                      5\b5.\b.     Function tracing is  enabled:  command  substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
-                      6\b6.\b.     Error tracing is enabled:  command  substitution,
-                             shell  functions,  and  subshells  invoked with (\b(
+                      6\b6.\b.     Error  tracing  is enabled: command substitution,
+                             shell functions, and  subshells  invoked  with  (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
-              e\bex\bxt\btg\bgl\blo\bob\bb If set, enable the extended  pattern  matching  features
+              e\bex\bxt\btg\bgl\blo\bob\bb If  set,  enable  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.
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
-                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
+                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
+                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
                       quotes.  This option is enabled by default.
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If  set,  patterns  which fail to match filenames during
+                      If set, patterns which fail to  match  filenames  during
                       pathname expansion result in an expansion error.
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
-                      variable  cause words to be ignored when performing word
+                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
+                      variable cause words to be ignored when performing  word
                       completion even if the ignored words are the only possi-
-                      ble completions.  See S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above  for  a  de-
-                      scription  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option is enabled by de-
+                      ble  completions.   See  S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above for a de-
+                      scription of F\bFI\bIG\bGN\bNO\bOR\bRE\bE.  This option  is  enabled  by  de-
                       fault.
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If set,  range  expressions  used  in  pattern  matching
-                      bracket  expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave
-                      as if in the traditional C locale when  performing  com-
-                      parisons.   That  is, pattern matching does not take the
-                      current locale's collating sequence into account,  so  b\bb
-                      will  not  collate  between  A\bA and B\bB, and upper-case and
+                      If  set,  range  expressions  used  in  pattern matching
+                      bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above)  behave
+                      as  if  in the traditional C locale when performing com-
+                      parisons.  That is, pattern matching does not  take  the
+                      current  locale's  collating sequence into account, so b\bb
+                      will not collate between A\bA and  B\bB,  and  upper-case  and
                       lower-case ASCII characters will collate together.
               g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
-                      If set, pathname expansion will never  match  the  file-
-                      names  _\b.  and _\b._\b., even if the pattern begins with a ".".
+                      If  set,  pathname  expansion will never match the file-
+                      names _\b. and _\b._\b., even if the pattern begins with  a  ".".
                       This option is enabled by default.
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text will match all files and zero or  more  directories
-                      and  subdirectories.  If the pattern is followed by a /\b/,
+                      text  will  match all files and zero or more directories
+                      and subdirectories.  If the pattern is followed by a  /\b/,
                       only directories and subdirectories match.
               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
+                      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 ex-
                       its, 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, the user is given
-                      the opportunity to re-edit a  failed  history  substitu-
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the  user  is  given
+                      the  opportunity  to  re-edit a failed history substitu-
                       tion.
               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\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt
-                      If set, command substitution inherits the value  of  the
-                      e\ber\brr\bre\bex\bxi\bit\b option, instead of unsetting it in the subshell
-                      environment.  This option is enabled when posix mode  is
+                      If  set,  command substitution inherits the value of the
+                      e\ber\brr\bre\bex\bxi\bit\boption, instead of unsetting it in the  subshell
+                      environment.   This option is enabled when posix mode is
                       enabled.
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
-                      In  an interactive shell, a word beginning with #\b# causes
-                      that word and all remaining characters on that  line  to
-                      be  ignored, as in a non-interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
+                      In an interactive shell, a word beginning with #\b causes
+                      that  word  and all remaining characters on that line to
+                      be ignored, as in a non-interactive shell (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
                       above).  This option is enabled by default.
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If set, and job control is not active,  the  shell  runs
+                      If  set,  and  job control is not active, the shell runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
-              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
               l\blo\boc\bca\bal\blv\bva\bar\br_\b_i\bin\bnh\bhe\ber\bri\bit\bt
@@ -6741,37 +6773,37 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       scope before any new value is assigned.  The nameref at-
                       tribute is not inherited.
               l\blo\boc\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt
-                      If set, calling u\bun\bns\bse\bet\bt on  local  variables  in  previous
-                      function  scopes  marks  them so subsequent lookups find
+                      If  set,  calling  u\bun\bns\bse\bet\bt  on local variables in previous
+                      function scopes marks them so  subsequent  lookups  find
                       them unset until that function returns.  This is identi-
-                      cal to the behavior of unsetting local variables at  the
+                      cal  to the behavior of unsetting local variables at the
                       current function scope.
               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,  b\bba\bas\bsh\bh
-                      displays  the  message  "The  mail  in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been
+                      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, b\bba\bas\bsh\bh
+                      displays the message "The  mail  in  _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be  has  been
                       read".
               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 does not search
-                      P\bPA\bAT\bTH\bfor possible completions  when  completion  is  at-
+                      P\bPA\bAT\bTH\b for  possible  completions  when completion is at-
                       tempted on an empty line.
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
+                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands, when performing pattern substi-
-                      tution  word expansions, or when filtering possible com-
+                      tution word expansions, or when filtering possible  com-
                       pletions as part of programmable completion.
               n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn
-                      If set, b\bba\bas\bsh\bh encloses the translated results  of  $\b$"\b"..."\b"
-                      quoting  in  single quotes instead of double quotes.  If
+                      If  set,  b\bba\bas\bsh\bh encloses the translated results of $\b$"\b"..."\b"
+                      quoting in single quotes instead of double  quotes.   If
                       the string is not translated, this has no effect.
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
                       If set, pathname expansion patterns which match no files
@@ -6779,73 +6811,73 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       removed, rather than expanding to themselves.
               p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt
                       If set, b\bba\bas\bsh\bh expands occurrences of &\b& in the replacement
-                      string of pattern substitution to the  text  matched  by
-                      the  pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+                      string  of  pattern  substitution to the text matched by
+                      the pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above.  This option is enabled by default.
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
-                      If set, enable the  programmable  completion  facilities
+                      If  set,  enable  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 above).  This option is en-
                       abled by default.
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp_\b_a\bal\bli\bia\bas\bs
-                      If  set,  and  programmable  completion is enabled, b\bba\bas\bsh\bh
-                      treats a command name that doesn't have any  completions
+                      If set, and programmable  completion  is  enabled,  b\bba\bas\bsh\bh
+                      treats  a command name that doesn't have any completions
                       as a possible alias and attempts alias expansion.  If it
-                      has  an alias, b\bba\bas\bsh\bh attempts programmable completion us-
+                      has an alias, b\bba\bas\bsh\bh attempts programmable completion  us-
                       ing the command word resulting from the expanded alias.
               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  re-
-                      moval  after  being  expanded  as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand  substitution,  arithmetic expansion, and quote re-
+                      moval 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  re-
-                      stricted  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-
+                      The  shell  sets  this  option  if  it is started in re-
+                      stricted 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-
                       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 .\b. (s\bso\bou\bur\brc\bce\be) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find  the  directory  containing the file supplied as an
-                      argument when the -\b-p\bp option is not supplied.   This  op-
+                      find the directory containing the file  supplied  as  an
+                      argument  when  the -\b-p\bp option is not supplied.  This op-
                       tion is enabled by default.
               v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be
-                      If  set, the shell automatically closes file descriptors
-                      assigned using the  _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b}  redirection  syntax  (see
+                      If set, the shell automatically closes file  descriptors
+                      assigned  using  the  _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b}  redirection syntax (see
                       R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN above) instead of leaving them open when the
                       command completes.
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If  set,  the  e\bec\bch\bho\bo builtin expands backslash-escape se-
-                      quences by default.  If the p\bpo\bos\bsi\bix\bx shell option  is  also
+                      If set, the e\bec\bch\bho\bo builtin  expands  backslash-escape  se-
+                      quences  by  default.  If the p\bpo\bos\bsi\bix\bx shell option is also
                       enabled, e\bec\bch\bho\bo does not interpret any options.
 
        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.  A login shell, or a shell without job control  enabled,
-              cannot  be suspended; the -\b-f\bf option will override this and force
-              the suspension.  The return status is 0 unless the  shell  is  a
-              login  shell  or  job  control is not enabled and -\b-f\bf is not sup-
+              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              signal.   A login shell, or a shell without job control enabled,
+              cannot be suspended; the -\b-f\bf option will override this and  force
+              the  suspension.   The  return status is 0 unless the shell is a
+              login shell or job control is not enabled and  -\b-f\bf  is  not  sup-
               plied.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return a status of 0 (true) or 1 (false) depending on the evalu-
-              ation 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\b E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
-              t\bte\bes\bst\b does not accept any options, nor does it accept and ignore
+              ation  of  the  conditional  expression _\be_\bx_\bp_\br.  Each operator and
+              operand must be a separate argument.  Expressions  are  composed
+              of  the primaries described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              t\bte\bes\bst\bdoes not accept any options, nor does it accept and  ignore
               an argument of -\b--\b- as signifying the end of options.
 
-              Expressions may  be  combined  using  the  following  operators,
-              listed  in  decreasing  order of precedence.  The evaluation de-
+              Expressions  may  be  combined  using  the  following operators,
+              listed in decreasing order of precedence.   The  evaluation  de-
               pends on the number of arguments; see below.  t\bte\bes\bst\bt uses operator
               precedence when there are five or more arguments.
               !\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
                      normal operator precedence.
               _\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.
@@ -6862,110 +6894,110 @@ 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
                      The following conditions are applied in the order listed.
-                     If the second argument is one of the  binary  conditional
+                     If  the  second argument is one of the binary conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using  the first and third arguments as operands.  The -\b-a\ba
-                     and -\b-o\bo operators are  considered  binary  operators  when
-                     there  are  three arguments.  If the first argument is !\b!,
-                     the value is the negation of the two-argument test  using
+                     using the first and third arguments as operands.  The  -\b-a\ba
+                     and  -\b-o\bo  operators  are  considered binary operators when
+                     there are three arguments.  If the first argument  is  !\b!,
+                     the  value is the negation of the two-argument test using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is  the one-argument test of the second argument.  Other-
+                     is the one-argument test of the second argument.   Other-
                      wise, the expression is false.
               4 arguments
                      The following conditions are applied in the order listed.
                      If the first argument is !\b!, the result is the negation of
-                     the three-argument expression composed of  the  remaining
-                     arguments.   If  the  first argument is exactly (\b( and the
+                     the  three-argument  expression composed of the remaining
+                     arguments.  If the first argument is exactly  (\b(  and  the
                      fourth argument is exactly )\b), the result is the two-argu-
-                     ment test of the second and third arguments.   Otherwise,
-                     the  expression  is  parsed  and  evaluated  according to
+                     ment  test of the second and third arguments.  Otherwise,
+                     the expression  is  parsed  and  evaluated  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.
 
               When the shell is in posix mode, or if the expression is part of
               the [\b[[\b[ command, the <\b< and >\b> operators sort using the current lo-
-              cale.   If  the  shell is not in posix mode, the t\bte\bes\bst\bt and [\b[ com-
+              cale.  If the shell is not in posix mode, the t\bte\bes\bst\bt  and  [\b com-
               mands sort lexicographically using ASCII ordering.
 
-              The historical operator-precedence parsing with 4 or more  argu-
-              ments  can  lead  to ambiguities when it encounters strings that
-              look like primaries.  The POSIX standard has deprecated  the  -\b-a\ba
-              and  -\b-o\bo  primaries and enclosing expressions within parentheses.
-              Scripts should no longer use them.  It's much more  reliable  to
-              restrict  test  invocations  to a single primary, and to replace
+              The  historical operator-precedence parsing with 4 or more argu-
+              ments can lead to ambiguities when it  encounters  strings  that
+              look  like  primaries.  The POSIX standard has deprecated the -\b-a\ba
+              and -\b-o\bo primaries and enclosing expressions  within  parentheses.
+              Scripts  should  no longer use them.  It's much more reliable to
+              restrict test invocations to a single primary,  and  to  replace
               uses of -\b-a\ba and -\b-o\bo with the shell's &\b&&\b& and |\b||\b| list operators.
 
-       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\bpP\bP] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
               The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
-              receives  any  of the signals _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and
+              receives any of the signals _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\bc_\bt_\bi_\bo_\bn is  absent  (and
               there is a single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified _\bs_\bi_\bg_\bs_\bp_\be_\bc is reset
-              to the value it had when the shell was started.   If  _\ba_\bc_\bt_\bi_\bo_\b is
-              the  null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored
+              to  the  value  it had when the shell was started.  If _\ba_\bc_\bt_\bi_\bo_\bn is
+              the null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc is  ignored
               by the shell and by the commands it invokes.
 
-              If no arguments are supplied, t\btr\bra\bap\bp displays the actions  associ-
+              If  no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
               ated with each trapped signal as a set of t\btr\bra\bap\bp commands that can
-              be  reused as shell input to restore the current signal disposi-
-              tions.  If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is  not  present,  then  t\btr\bra\bap\bp
-              displays  the  actions  associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
+              be reused as shell input to restore the current signal  disposi-
+              tions.   If  -\b-p\bp  is  given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
+              displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc  or,  if  none
               are supplied, for all trapped signals, as a set of t\btr\bra\bap\bp commands
-              that can be reused as shell input to restore the current  signal
-              dispositions.   The  -\b-P\bP  option  behaves similarly, but displays
-              only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  -\b-P\b re-
-              quires  at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  The -\b-P\bP or -\b-p\bp options may
-              be used in a subshell environment (e.g.,  command  substitution)
-              and,  as  long  as they are used before t\btr\bra\bap\bp is used to change a
+              that  can be reused as shell input to restore the current signal
+              dispositions.  The -\b-P\bP option  behaves  similarly,  but  displays
+              only  the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  -\b-P\bP re-
+              quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  The -\b-P\bP or -\b-p\bp options  may
+              be  used  in a subshell environment (e.g., command substitution)
+              and, as long as they are used before t\btr\bra\bap\bp is used  to  change  a
               signal's handling, will display the state of its parent's traps.
 
-              The -\b-l\bl option prints a list of signal  names  and  their  corre-
-              sponding  numbers.  Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined
+              The  -\b-l\bl  option  prints  a list of signal names and their corre-
+              sponding 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 insen-
-              sitive and the S\bSI\bIG\bG prefix is optional.  If -\b-l\bl is  supplied  with
+              sitive  and  the S\bSI\bIG\bG prefix is optional.  If -\b-l\bl is supplied with
               no _\bs_\bi_\bg_\bs_\bp_\be_\bc arguments, it prints a list of valid signal names.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is E\bEX\bXI\bIT\bT (0), _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit from the
-              shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, _\ba_\bc_\bt_\bi_\bo_\bn is executed  before  every
-              _\bs_\bi_\bm_\bp_\bl_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd,  _\bf_\bo_\br  command, _\bc_\ba_\bs_\be command, _\bs_\be_\bl_\be_\bc_\bt command, ((
-              arithmetic command, [[ conditional command, arithmetic _\bf_\bo_\b com-
-              mand,  and before the first command executes in a shell function
-              (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).  Refer  to  the  description  of  the
-              e\bex\bxt\btd\bde\beb\bbu\bug\b shell  option (see s\bsh\bho\bop\bpt\bt above) for details of its ef-
-              fect on the D\bDE\bEB\bBU\bUG\bG trap.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, _\ba_\bc_\bt_\bi_\bo_\bn is  exe-
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0), _\ba_\bc_\bt_\bi_\bo_\bn is executed on  exit  from  the
+              shell.   If  a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, _\ba_\bc_\bt_\bi_\bo_\bn is executed before every
+              _\bs_\bi_\bm_\bp_\bl_\b_\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,  _\bs_\be_\bl_\be_\bc_\bt  command,  ((
+              arithmetic  command, [[ conditional command, arithmetic _\bf_\bo_\br com-
+              mand, and before the first command executes in a shell  function
+              (see  S\bSH\bHE\bEL\bLL\bL  G\bGR\bRA\bAM\bMM\bMA\bAR\bR  above).   Refer  to the description of the
+              e\bex\bxt\btd\bde\beb\bbu\bug\bshell option (see s\bsh\bho\bop\bpt\bt above) for details of  its  ef-
+              fect  on the D\bDE\bEB\bBU\bUG\bG trap.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, _\ba_\bc_\bt_\bi_\bo_\bn is exe-
               cuted each time a shell function or a script executed with the .\b.
               or s\bso\bou\bur\brc\bce\be builtins finishes executing.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bER\bRR\bR,  _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a pipeline
-              (which may consist of a single simple command),  a  list,  or  a
-              compound  command returns a non-zero exit status, subject to the
-              following conditions.  The E\bER\bRR\bR  trap  is  not  executed  if  the
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, _\ba_\bc_\bt_\bi_\bo_\bn  is  executed  whenever  a  pipeline
+              (which  may  consist  of  a single simple command), a list, or a
+              compound command returns a non-zero exit status, subject to  the
+              following  conditions.   The  E\bER\bRR\bR  trap  is  not executed if the
               failed command is part of the command list immediately following
-              a  w\bwh\bhi\bil\ble\be  or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
+              a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an  _\bi_\b statement,
               part of a command executed in a &\b&&\b& or |\b||\b| list except the command
-              following the final &\b&&\b& or |\b||\b|, any command in a pipeline but  the
-              last  (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if
+              following  the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+              last (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or  if
               the command's return value is being inverted using !\b!.  These are
               the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) option.
 
               When the shell is not interactive, signals ignored upon entry to
               the shell cannot be trapped or reset.  Interactive shells permit
               trapping signals ignored on entry.  Trapped signals that are not
-              being ignored are reset to their original values in  a  subshell
-              or  subshell environment when one is created.  The return status
+              being  ignored  are reset to their original values in a subshell
+              or subshell environment when one is created.  The return  status
               is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\btr\bru\bue\be   Does nothing, returns a 0 status.
@@ -6974,61 +7006,61 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               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_\be if _\bn_\ba_\bm_\be is an alias,
-              shell reserved word, function, builtin, or executable file,  re-
-              spectively.   If  the _\bn_\ba_\bm_\be is not found, t\bty\byp\bpe\be prints nothing and
+              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_\be if _\bn_\ba_\bm_\be is an  alias,
+              shell  reserved word, function, builtin, or executable file, re-
+              spectively.  If the _\bn_\ba_\bm_\be is not found, t\bty\byp\bpe\be prints  nothing  and
               returns a non-zero exit status.
 
-              If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns  the  pathname  of
-              the  executable  file that would be found by searching $\b$P\bPA\bAT\bTH\bH for
+              If  the  -\b-p\bp  option is used, t\bty\byp\bpe\be either returns the pathname of
+              the executable file that would be found by searching  $\b$P\bPA\bAT\bTH\b for
               _\bn_\ba_\bm_\be 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,  even  if  "type  -t
+              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 _\bn_\ba_\bm_\be is present in the table of
-              hashed  commands, -\b-p\bp and -\b-P\bP print the hashed value, which is not
+              hashed commands, -\b-p\bp and -\b-P\bP print the hashed value, which is  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  a  command named _\bn_\ba_\bm_\be.  This includes aliases, reserved
-              words, functions, and builtins, but the path search options  (-\b-p\bp
-              and  -\b-P\bP)  can  be  supplied to restrict the output to executable
-              files.  t\bty\byp\bpe\be does not consult the table of hashed commands  when
+              If  the  -\b-a\ba  option  is used, t\bty\byp\bpe\be prints all of the places that
+              contain a command named _\bn_\ba_\bm_\be.  This includes  aliases,  reserved
+              words,  functions, and builtins, but the path search options (-\b-p\bp
+              and -\b-P\bP) can be supplied to restrict  the  output  to  executable
+              files.   t\bty\byp\bpe\be does not consult the table of hashed commands when
               using -\b-a\ba with -\b-p\bp, and only performs a P\bPA\bAT\bTH\bH search for _\bn_\ba_\bm_\be.
 
               The -\b-f\bf option suppresses shell function lookup, as with the c\bco\bom\bm-\b-
-              m\bma\ban\bnd\b builtin.   t\bty\byp\bpe\be  returns  true if all of the arguments are
+              m\bma\ban\bnd\bbuiltin.  t\bty\byp\bpe\be returns true if all  of  the  arguments  are
               found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
-              Provides control over the resources available to the  shell  and
+              Provides  control  over the resources available to the shell and
               to processes it starts, on systems that allow such control.
 
-              The  -\b-H\bH and -\b-S\bS options specify whether the hard or soft limit is
+              The -\b-H\bH and -\b-S\bS options specify whether the hard or soft limit  is
               set for the given resource.  A hard limit cannot be increased by
               a non-root user once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, u\bul\bli\bim\bmi\bit\bt sets both the soft and hard limits.
 
               The value of _\bl_\bi_\bm_\bi_\bt can be a number in the unit specified for the
-              resource  or one of the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd,
-              which stand for the current hard limit, the current soft  limit,
-              and  no limit, respectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, u\bul\bli\bim\bmi\bit\bt prints
-              the current value of the soft limit of the resource, unless  the
-              -\b-H\b option  is given.  When more than one resource is specified,
-              the limit name and unit, if appropriate, are printed before  the
+              resource or one of the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or  u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd,
+              which  stand for the current hard limit, the current soft limit,
+              and no limit, respectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, u\bul\bli\bim\bmi\bit\b prints
+              the  current value of the soft limit of the resource, unless the
+              -\b-H\boption is given.  When more than one resource  is  specified,
+              the  limit name and unit, if appropriate, are printed before the
               value.  Other options are interpreted as follows:
               -\b-a\ba     Report all current limits; no limits are set.
               -\b-b\bb     The maximum socket buffer size.
               -\b-c\bc     The maximum size of core files created.
               -\b-d\bd     The maximum size of a process's data segment.
               -\b-e\be     The maximum scheduling priority ("nice").
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children.
               -\b-i\bi     The maximum number of pending signals.
               -\b-k\bk     The maximum number of kqueues that may be allocated.
               -\b-l\bl     The maximum size that may be locked into memory.
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit).
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set).
@@ -7037,146 +7069,146 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority.
               -\b-s\bs     The maximum stack size.
               -\b-t\bt     The maximum amount of cpu time in seconds.
-              -\b-u\bu     The  maximum  number  of  processes available to a single
+              -\b-u\bu     The maximum number of processes  available  to  a  single
                      user.
-              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
+              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
                      shell and, on some systems, to its children.
               -\b-x\bx     The maximum number of file locks.
               -\b-P\bP     The maximum number of pseudoterminals.
-              -\b-R\bR     The  maximum  time  a  real-time  process  can run before
+              -\b-R\bR     The maximum time  a  real-time  process  can  run  before
                      blocking, in microseconds.
               -\b-T\bT     The maximum number of threads.
 
-              If _\bl_\bi_\bm_\bi_\bt is supplied, and the -\b-a\ba option is not  used,  _\bl_\bi_\bm_\bi_\b is
-              the  new  value of the specified resource.  If no option is sup-
+              If  _\bl_\bi_\bm_\bi_\bt  is  supplied, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is
+              the new value of the specified resource.  If no option  is  sup-
               plied, then -\b-f\bf is assumed.
 
-              Values are in 1024-byte increments, except for -\b-t\bt, which  is  in
-              seconds;  -\b-R\bR, which is in microseconds; -\b-p\bp, which is in units of
-              512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and -\b-u\bu, which are  unscaled
-              values;  and,  when  in  posix  mode,  -\b-c\bc  and  -\b-f\bf, which are in
-              512-byte increments.  The return status is 0 unless  an  invalid
+              Values  are  in 1024-byte increments, except for -\b-t\bt, which is in
+              seconds; -\b-R\bR, which is in microseconds; -\b-p\bp, which is in units  of
+              512-byte  blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and -\b-u\bu, which are unscaled
+              values; and, when in  posix  mode,  -\b-c\bc  and  -\b-f\bf,  which  are  in
+              512-byte  increments.   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]
-              Set  the user file-creation mask to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with a
+              Set the user file-creation mask to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with  a
               digit, it is interpreted as an octal number; otherwise it is in-
-              terpreted as a symbolic mode mask similar to  that  accepted  by
+              terpreted  as  a  symbolic mode mask similar to that accepted by
               _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, u\bum\bma\bas\bsk\bk prints the current value of
               the mask.  The -\b-S\bS option without a _\bm_\bo_\bd_\be argument prints the mask
               in a symbolic format; 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 zero
-              if the mode was successfully changed or if no _\bm_\bo_\bd_\be argument  was
+              a form that may be reused as input.  The return status  is  zero
+              if  the mode was successfully changed or if no _\bm_\bo_\bd_\be argument was
               supplied, and non-zero 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, remove all alias definitions.   The  return  value  is
+              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
+              supplied,  remove  all  alias  definitions.  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] [-n\bn] [_\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 the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
-              and that variable is removed.  If -\b-f\bf  is  specified,  each  _\bn_\ba_\bm_\be
-              refers  to  a shell function, and the function definition is re-
-              moved.  If the -\b-n\bn option is supplied, and  _\bn_\ba_\bm_\be  is  a  variable
-              with  the  _\bn_\ba_\bm_\be_\br_\be_\bf attribute, _\bn_\ba_\bm_\be will be unset rather than the
-              variable it references.  -\b-n\bn has no effect if the  -\b-f\bf  option  is
-              supplied.   Read-only  variables and functions may not be unset.
-              When variables or functions are removed, they are  also  removed
-              from  the  environment passed to subsequent commands.  If no op-
-              tions are supplied, each _\bn_\ba_\bm_\be refers to a variable; if there  is
-              no  variable by that name, a function with that name, if any, is
-              unset.  Some shell variables  may  not  be  unset.   If  any  of
+              and  that  variable  is  removed.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be
+              refers to a shell function, and the function definition  is  re-
+              moved.   If  the  -\b-n\bn  option is supplied, and _\bn_\ba_\bm_\be is a variable
+              with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, _\bn_\ba_\bm_\be will be unset rather  than  the
+              variable  it  references.   -\b-n\bn has no effect if the -\b-f\bf option is
+              supplied.  Read-only variables and functions may not  be  unset.
+              When  variables  or functions are removed, they are also removed
+              from the environment passed to subsequent commands.  If  no  op-
+              tions  are supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is
+              no variable by that name, a function with that name, if any,  is
+              unset.   Some  shell  variables  may  not  be  unset.  If any of
               B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0,  B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS,  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD,  B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bB-\b-
-              S\bSH\bHE\bEL\bLL\bL,  B\bBA\bAS\bSH\bHP\bPI\bID\bD,   C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,   D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,   E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,
-              E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS,  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE,  G\bGR\bRO\bOU\bUP\bPS\bS,  H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bC-\b-
-              O\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are unset, they lose their special  properties,
-              even  if  they  are subsequently reset.  The exit status is true
+              S\bSH\bHE\bEL\bLL\bL,   B\bBA\bAS\bSH\bHP\bPI\bID\bD,   C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,   D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,
+              E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD,  L\bLI\bIN\bNE\bEN\bNO\bO,  R\bRA\bAN\bND\bDO\bOM\bM,  S\bSE\bEC\bC-\b-
+              O\bON\bND\bDS\bS,  or S\bSR\bRA\bAN\bND\bDO\bOM\bM are unset, they lose their special properties,
+              even if they are subsequently reset.  The exit  status  is  true
               unless a _\bn_\ba_\bm_\be is readonly or may not be unset.
 
        w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd ...]
               Wait for each specified child process _\bi_\bd and return the termina-
-              tion status of the last _\bi_\bd.  Each _\bi_\bd may be a process ID _\bp_\bi_\b or
-              a  job  specification  _\bj_\bo_\bb_\bs_\bp_\be_\bc;  if  a jobspec is supplied, w\bwa\bai\bit\bt
+              tion  status of the last _\bi_\bd.  Each _\bi_\bd may be a process ID _\bp_\bi_\bd or
+              a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc; if  a  jobspec  is  supplied,  w\bwa\bai\bit\bt
               waits for all processes in the job.
 
-              If no options or _\bi_\bds are supplied, w\bwa\bai\bit\bt waits  for  all  running
-              background  jobs  and the last-executed process substitution, if
+              If  no  options  or _\bi_\bds are supplied, w\bwa\bai\bit\bt waits for all running
+              background jobs and the last-executed process  substitution,  if
               its process id is the same as $\b$!\b!, and the return status is zero.
 
-              If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits  for  any  one  of  the
+              If  the  -\b-n\bn  option  is  supplied, w\bwa\bai\bit\bt waits for any one of the
               given _\bi_\bds or, if no _\bi_\bds are supplied, any job or process substi-
               tution, to complete and returns its exit status.  If none of the
-              supplied  _\bi_\bds is a child of the shell, or if no _\bi_\bds are supplied
-              and the shell has no unwaited-for children, the exit  status  is
+              supplied _\bi_\bds is a child of the shell, or if no _\bi_\bds are  supplied
+              and  the  shell has no unwaited-for children, the exit status is
               127.
 
-              If  the  -\b-p\bp  option is supplied, w\bwa\bai\bit\bt assigns the process or job
-              identifier of the job for which the exit status is  returned  to
-              the  variable  _\bv_\ba_\br_\bn_\ba_\bm_\be  named by the option argument.  The vari-
-              able, which cannot be readonly, will be unset initially,  before
-              any  assignment.   This is useful only when used with the -\b-n\bn op-
+              If the -\b-p\bp option is supplied, w\bwa\bai\bit\bt assigns the  process  or  job
+              identifier  of  the job for which the exit status is returned to
+              the variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option  argument.   The  vari-
+              able,  which cannot be readonly, will be unset initially, before
+              any assignment.  This is useful only when used with the  -\b-n\b op-
               tion.
 
-              Supplying the -\b-f\bf option, when job  control  is  enabled,  forces
-              w\bwa\bai\bit\b to wait for each _\bi_\bd to terminate before returning its sta-
+              Supplying  the  -\b-f\bf  option,  when job control is enabled, forces
+              w\bwa\bai\bit\bto wait for each _\bi_\bd to terminate before returning its  sta-
               tus, instead of returning when it changes status.
 
-              If none of the _\bi_\bds specify  one  of  the  shell's  active  child
-              processes,  the return status is 127.  If w\bwa\bai\bit\bt is interrupted by
-              a signal, any _\bv_\ba_\br_\bn_\ba_\bm_\be will remain unset, and the  return  status
-              will  be  greater  than  128,  as described under S\bSI\bIG\bGN\bNA\bAL\bLS\bS above.
+              If  none  of  the  _\bi_\bds  specify  one of the shell's active child
+              processes, the return status is 127.  If w\bwa\bai\bit\bt is interrupted  by
+              a  signal,  any _\bv_\ba_\br_\bn_\ba_\bm_\be will remain unset, and the return status
+              will be greater than 128,  as  described  under  S\bSI\bIG\bGN\bNA\bAL\bLS\b above.
               Otherwise, the return status is the exit status of the last _\bi_\bd.
 
 S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
-       Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl,  speci-
+       Bash-4.0  introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
        fied as a set of options to the shopt builtin (c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, c\bco\bom\bm-\b-
-       p\bpa\bat\bt4\b40\b0,  c\bco\bom\bmp\bpa\bat\bt4\b41\b1,  and so on).  There is only one current compatibility
+       p\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one  current  compatibility
        level -- each option is mutually exclusive.  The compatibility level is
-       intended to allow users to select behavior from previous versions  that
-       is  incompatible  with newer versions while they migrate scripts to use
-       current features and behavior.  It's intended to be a  temporary  solu-
+       intended  to allow users to select behavior from previous versions that
+       is incompatible with newer versions while they migrate scripts  to  use
+       current  features  and behavior.  It's intended to be a temporary solu-
        tion.
 
-       This  section does not mention behavior that is standard for a particu-
-       lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the  right  hand
-       side  of  the regexp matching operator quotes special regexp characters
-       in the word, which is default behavior in bash-3.2 and subsequent  ver-
+       This section does not mention behavior that is standard for a  particu-
+       lar  version  (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the right hand
+       side of the regexp matching operator quotes special  regexp  characters
+       in  the word, which is default behavior in bash-3.2 and subsequent ver-
        sions).
 
-       If  a  user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
-       compatibility levels up to  and  including  the  current  compatibility
-       level.   The  idea  is  that each compatibility level controls behavior
-       that changed in that version of b\bba\bas\bsh\bh, but that behavior may  have  been
-       present  in  earlier versions.  For instance, the change to use locale-
-       based comparisons with the [\b[[\b[ command came  in  bash-4.1,  and  earlier
+       If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior  of  other
+       compatibility  levels  up  to  and  including the current compatibility
+       level.  The idea is that each  compatibility  level  controls  behavior
+       that  changed  in that version of b\bba\bas\bsh\bh, but that behavior may have been
+       present in earlier versions.  For instance, the change to  use  locale-
+       based  comparisons  with  the  [\b[[\b[ command came in bash-4.1, and earlier
        versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
-       ASCII-based  comparisons  as  well.  That granularity may not be suffi-
-       cient for all uses, and as a result users should  employ  compatibility
-       levels  carefully.   Read the documentation for a particular feature to
+       ASCII-based comparisons as well.  That granularity may  not  be  suffi-
+       cient  for  all uses, and as a result users should employ compatibility
+       levels carefully.  Read the documentation for a particular  feature  to
        find out the current behavior.
 
-       Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The  value  as-
+       Bash-4.3  introduced  a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The value as-
        signed to this variable (a decimal version number like 4.2, or an inte-
-       ger  corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+       ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the  com-
        patibility level.
 
        Starting with bash-4.4, b\bba\bas\bsh\bh began deprecating older compatibility lev-
        els.  Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.
 
-       Bash-5.0 was the final version for which there was an individual  shopt
-       option  for the previous version.  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is the only mechanism to
+       Bash-5.0  was the final version for which there was an individual shopt
+       option for the previous version.  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is the only mechanism  to
        control the compatibility level in versions newer than bash-5.0.
 
-       The following table describes the behavior changes controlled  by  each
+       The  following  table describes the behavior changes controlled by each
        compatibility level setting.  The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
        setting the compatibility level to _\bN_\bN using one of the following mecha-
-       nisms.   For versions prior to bash-5.0, the compatibility level may be
-       set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.   For  bash-4.3  and
-       later  versions,  the  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+       nisms.  For versions prior to bash-5.0, the compatibility level may  be
+       set  using  the  corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.  For bash-4.3 and
+       later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and  it  is  re-
        quired for bash-5.1 and later versions.
 
        c\bco\bom\bmp\bpa\bat\bt3\b31\b1
@@ -7184,173 +7216,173 @@ S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
                      ator (=~) has no special effect.
 
        c\bco\bom\bmp\bpa\bat\bt3\b32\b2
-              +\bo      The <\b< and >\b> operators to the [\b[[\b[ command do  not  consider
+              +\bo      The  <\b<  and >\b> operators to the [\b[[\b[ command do not consider
                      the current locale when comparing strings; they use ASCII
                      ordering.
 
        c\bco\bom\bmp\bpa\bat\bt4\b40\b0
-              +\bo      The  <\b<  and >\b> operators to the [\b[[\b[ command do not consider
+              +\bo      The <\b< and >\b> operators to the [\b[[\b[ command do  not  consider
                      the current locale when comparing strings; they use ASCII
                      ordering.  B\bBa\bas\bsh\bh versions prior to bash-4.1 use ASCII col-
-                     lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the  current
+                     lation  and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
                      locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
 
        c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-              +\bo      In  _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+              +\bo      In posix mode, t\bti\bim\bme\be may be followed by options and  still
                      be recognized as a reserved word (this is POSIX interpre-
                      tation 267).
               +\bo      In _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
-                     single quotes occur in the  _\bw_\bo_\br_\bd  portion  of  a  double-
-                     quoted  parameter expansion and treats them specially, so
-                     that characters within the single quotes  are  considered
+                     single  quotes  occur  in  the  _\bw_\bo_\br_\bd portion of a double-
+                     quoted parameter expansion and treats them specially,  so
+                     that  characters  within the single quotes are considered
                      quoted (this is POSIX interpretation 221).
 
        c\bco\bom\bmp\bpa\bat\bt4\b42\b2
               +\bo      The replacement string in double-quoted pattern substitu-
-                     tion  does  not undergo quote removal, as it does in ver-
+                     tion does not undergo quote removal, as it does  in  ver-
                      sions after bash-4.2.
-              +\bo      In posix mode, single quotes are considered special  when
-                     expanding  the  _\bw_\bo_\br_\bd portion of a double-quoted parameter
-                     expansion and can be used to quote  a  closing  brace  or
-                     other  special character (this is part of POSIX interpre-
-                     tation 221); in later versions,  single  quotes  are  not
+              +\bo      In  posix mode, single quotes are considered special when
+                     expanding the _\bw_\bo_\br_\bd portion of a  double-quoted  parameter
+                     expansion  and  can  be  used to quote a closing brace or
+                     other special character (this is part of POSIX  interpre-
+                     tation  221);  in  later  versions, single quotes are not
                      special within double-quoted word expansions.
 
        c\bco\bom\bmp\bpa\bat\bt4\b43\b3
-              +\bo      Word  expansion  errors  are  considered non-fatal errors
-                     that cause the current command to  fail,  even  in  posix
-                     mode  (the  default behavior is to make them fatal errors
+              +\bo      Word expansion errors  are  considered  non-fatal  errors
+                     that  cause  the  current  command to fail, even in posix
+                     mode (the default behavior is to make them  fatal  errors
                      that cause the shell to exit).
-              +\bo      When  executing  a  shell  function,   the   loop   state
+              +\bo      When   executing   a   shell  function,  the  loop  state
                      (while/until/etc.)  is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
                      that function will break or continue loops in the calling
                      context.  Bash-4.4 and later reset the loop state to pre-
                      vent this.
 
        c\bco\bom\bmp\bpa\bat\bt4\b44\b4
-              +\bo      The  shell  sets  up  the  values  used  by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
-                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bso they can expand to  the  shell's  positional
-                     parameters  even  if  extended  debugging mode is not en-
+              +\bo      The shell sets  up  the  values  used  by  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\b and
+                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b so  they  can expand to the shell's positional
+                     parameters even if extended debugging  mode  is  not  en-
                      abled.
-              +\bo      A subshell inherits loops from  its  parent  context,  so
-                     b\bbr\bre\bea\bak\b or  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to exit.
-                     Bash-5.0 and later reset the loop state  to  prevent  the
+              +\bo      A  subshell  inherits  loops  from its parent context, so
+                     b\bbr\bre\bea\bak\bor  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to  exit.
+                     Bash-5.0  and  later  reset the loop state to prevent the
                      exit
-              +\bo      Variable  assignments  preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+              +\bo      Variable assignments preceding builtins like  e\bex\bxp\bpo\bor\brt\b and
                      r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
                      with the same name in the calling environment even if the
                      shell is not in posix mode.
 
        c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-              +\bo      Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated  to  intro-
-                     duce  slightly more randomness.  If the shell compatibil-
+              +\bo      Bash-5.1  changed  the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
+                     duce slightly more randomness.  If the shell  compatibil-
                      ity level is set to 50 or lower, it reverts to the method
-                     from bash-5.0 and previous versions, so seeding the  ran-
-                     dom  number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
+                     from  bash-5.0 and previous versions, so seeding the ran-
+                     dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\b will
                      produce the same sequence as in bash-5.0.
-              +\bo      If the command hash table is empty, bash  versions  prior
-                     to  bash-5.1 printed an informational message to that ef-
-                     fect, even when producing output that can  be  reused  as
-                     input.   Bash-5.1 suppresses that message when the -\b-l\bl op-
+              +\bo      If  the  command hash table is empty, bash versions prior
+                     to bash-5.1 printed an informational message to that  ef-
+                     fect,  even  when  producing output that can be reused as
+                     input.  Bash-5.1 suppresses that message when the -\b-l\b op-
                      tion is supplied.
 
        c\bco\bom\bmp\bpa\bat\bt5\b51\b1
-              +\bo      The u\bun\bns\bse\bet\bt builtin treats attempts  to  unset  array  sub-
-                     scripts  @\b@ and *\b* differently depending on whether the ar-
-                     ray is indexed or associative, and  differently  than  in
+              +\bo      The  u\bun\bns\bse\bet\bt  builtin  treats  attempts to unset array sub-
+                     scripts @\b@ and *\b* differently depending on whether the  ar-
+                     ray  is  indexed  or associative, and differently than in
                      previous versions.
               +\bo      Arithmetic commands ( (\b((\b(...)\b))\b) ) and the expressions in an
                      arithmetic for statement can be expanded more than once.
-              +\bo      Expressions  used as arguments to arithmetic operators in
-                     the [\b[[\b[ conditional command  can  be  expanded  more  than
+              +\bo      Expressions used as arguments to arithmetic operators  in
+                     the  [\b[[\b[  conditional  command  can  be expanded more than
                      once.
-              +\bo      The  expressions  in  substring parameter brace expansion
+              +\bo      The expressions in substring  parameter  brace  expansion
                      can be expanded more than once.
               +\bo      The expressions in the $\b$(\b((\b(...)\b))\b) word expansion can be ex-
                      panded more than once.
-              +\bo      Arithmetic expressions used as indexed  array  subscripts
+              +\bo      Arithmetic  expressions  used as indexed array subscripts
                      can be expanded more than once.
-              +\bo      t\bte\bes\bst\b -\b-v\bv,  when  given an argument of A\bA[\b[@\b@]\b], where A\bA is an
+              +\bo      t\bte\bes\bst\b-\b-v\bv, when given an argument of A\bA[\b[@\b@]\b], where  A\bA  is  an
                      existing associative array, will return true if the array
-                     has any set elements.  Bash-5.2 will look for and  report
+                     has  any set elements.  Bash-5.2 will look for and report
                      on a key named @\b@.
               +\bo      The  ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[\b[:\b:]\b]=\b=_\bv_\ba_\bl_\bu_\be}  word  expansion  will  return
-                     _\bv_\ba_\bl_\bu_\be, before any variable-specific transformations  have
+                     _\bv_\ba_\bl_\bu_\be,  before any variable-specific transformations have
                      been performed (e.g., converting to lowercase).  Bash-5.2
                      will return the final value assigned to the variable.
-              +\bo      Parsing  command substitutions will behave as if extended
+              +\bo      Parsing command substitutions will behave as if  extended
                      globbing (see the description of the s\bsh\bho\bop\bpt\bt builtin above)
-                     is enabled, so that parsing a command  substitution  con-
+                     is  enabled,  so that parsing a command substitution con-
                      taining an extglob pattern (say, as part of a shell func-
-                     tion)  will  not fail.  This assumes the intent is to en-
-                     able extglob before the command is executed and word  ex-
-                     pansions  are  performed.  It will fail at word expansion
-                     time if extglob hasn't been enabled by the time the  com-
+                     tion) will not fail.  This assumes the intent is  to  en-
+                     able  extglob before the command is executed and word ex-
+                     pansions are performed.  It will fail at  word  expansion
+                     time  if extglob hasn't been enabled by the time the com-
                      mand is executed.
 
        c\bco\bom\bmp\bpa\bat\bt5\b52\b2
-              +\bo      The  t\bte\bes\bst\bt  builtin uses its historical algorithm to parse
-                     parenthesized subexpressions when given five or more  ar-
+              +\bo      The t\bte\bes\bst\bt builtin uses its historical algorithm  to  parse
+                     parenthesized  subexpressions when given five or more ar-
                      guments.
-              +\bo      If  the  -\b-p\bp or -\b-P\bP option is supplied to the b\bbi\bin\bnd\bd builtin,
+              +\bo      If the -\b-p\bp or -\b-P\bP option is supplied to the  b\bbi\bin\bnd\b builtin,
                      b\bbi\bin\bnd\bd treats any arguments remaining after option process-
-                     ing as bindable command names, and displays any  key  se-
-                     quences  bound to those commands, instead of treating the
+                     ing  as  bindable command names, and displays any key se-
+                     quences bound to those commands, instead of treating  the
                      arguments as key sequences to bind.
 
 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 _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd.  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 _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd.  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.
 
-       +\bo      Setting  or  unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
+       +\bo      Setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH,  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE,  E\bEN\bNV\bV,
               or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV.
 
        +\bo      Specifying command names containing /\b/.
 
-       +\bo      Specifying a filename containing a /\b/ as an  argument  to  the  .\b.
+       +\bo      Specifying  a  filename  containing  a /\b/ as an argument to the .\b.
               builtin command.
 
-       +\bo      Using  the  -\b-p\bp  option  to  the  .\b.  builtin command to specify a
+       +\bo      Using the -\b-p\bp option to the  .\b.   builtin  command  to  specify  a
               search path.
 
-       +\bo      Specifying a filename containing a slash as an argument  to  the
+       +\bo      Specifying  a  filename containing a slash as an argument to the
               h\bhi\bis\bst\bto\bor\bry\by 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 >>  redirec-
+       +\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\bd options
+       +\bo      Adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b 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.
 
-       +\bo      Turning  off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\bu r\bre\be-\b-
+       +\bo      Turning off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\b r\bre\be-\b-
               s\bst\btr\bri\bic\bct\bte\bed\bd_\b_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\bE\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\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
        spawned to execute the script.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
@@ -7375,10 +7407,10 @@ 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._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by
-              The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves  the
+              The  default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
               command history
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -7392,15 +7424,15 @@ 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, you should report it.  But first, you should
-       make  sure  that  it really is a bug, and that it appears in the latest
-       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
+       make sure that it really is a bug, and that it appears  in  the  latest
+       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/          and          _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bg_\bi_\bt_\b._\bs_\ba_\bv_\ba_\bn_\b-
        _\bn_\ba_\bh_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bc_\bg_\bi_\bt_\b/_\bb_\ba_\bs_\bh_\b._\bg_\bi_\bt_\b/_\bs_\bn_\ba_\bp_\bs_\bh_\bo_\bt_\b/_\bb_\ba_\bs_\bh_\b-_\bm_\ba_\bs_\bt_\be_\br_\b._\bt_\ba_\br_\b._\bg_\bz.
 
-       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
+       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!  You may send suggestions and "philosophical" bug
-       reports to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  post  them  to  the  Usenet  newsgroup
+       reports  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  post  them  to  the Usenet newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        ALL bug reports should include:
@@ -7408,10 +7440,10 @@ B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        The version number of b\bba\bas\bsh\bh
        The hardware and operating system
        The compiler used to compile
-       A description of the bug behaviour
+       A description of the bug behavior
        A short script or "recipe" which exercises the bug
 
-       _\bb_\ba_\bs_\bh_\bb_\bu_\b inserts  the first three items automatically into the template
+       _\bb_\ba_\bs_\bh_\bb_\bu_\binserts 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
@@ -7421,20 +7453,20 @@ B\bBU\bUG\bGS\bS
        It's too big and too slow.
 
        There are some subtle differences between b\bba\bas\bsh\bh and traditional versions
-       of s\bsh\bh, mostly because of the P\bPO\bOS\bSI\bIX\bX specification.
+       of s\bsh\bh, mostly because of the POSIX specification.
 
        Aliases are confusing in some uses.
 
        Shell builtin commands and functions are not stoppable/restartable.
 
-       Compound commands and command lists of the form "a ; b  ;  c"  are  not
-       handled  gracefully  when  combined  with  process  suspension.  When a
-       process is stopped, the shell immediately executes the next command  in
-       the  list  or breaks out of any existing loops.  It suffices to enclose
-       the command in parentheses to force it into a subshell,  which  may  be
-       stopped  as a unit, or to start the command in the background and imme-
+       Compound  commands  and  command  lists of the form "a ; b ; c" are not
+       handled gracefully when  combined  with  process  suspension.   When  a
+       process  is stopped, the shell immediately executes the next command in
+       the list or breaks out of any existing loops.  It suffices  to  enclose
+       the  command  in  parentheses to force it into a subshell, which may be
+       stopped as a unit, or to start the command in the background and  imme-
        diately bring it into the foreground.
 
        Array variables may not (yet) be exported.
 
-GNU Bash 5.3                   2024 December 12                        _\bB_\bA_\bS_\bH(1)
+GNU Bash 5.3                    2025 January 8                         _\bB_\bA_\bS_\bH(1)
index 171d8e309e712b353ec5e628e0fd42cd77977921..9de7f96be7ff2a0c1d119a91d5616cd34e4df2b4 100644 (file)
@@ -5,9 +5,13 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Thu Dec 12 13:37:07 EST 2024
+.\"    Last Change: Wed Jan  8 09:27:11 EST 2025
 .\"
-.\" bash_builtins, strip all but Builtins section
+.\" For bash_builtins, strip all but "SHELL BUILTIN COMMANDS" section
+.\" For rbash, strip all but "RESTRICTED SHELL" section
+.\"
+.\" Both conditionalize text based on the base page being formatted
+.\" using the zZ and zY registers, respectively
 .\"
 .\" Ensure the registers are initialized to avoid groff warnings.
 .nr zZ +0
@@ -17,7 +21,7 @@
 .ds zY \" empty
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2024 December 12" "GNU Bash 5.3"
+.TH BASH 1 "2025 January 8" "GNU Bash 5.3"
 .\"
 .ie \n(.g \{\
 .ds ' \(aq
@@ -66,24 +70,40 @@ bash \- GNU Bourne-Again SHell
 [options]
 [command_string | file]
 .SH COPYRIGHT
-.if n Bash is Copyright (C) 1989-2024 by the Free Software Foundation, Inc.
-.if t Bash is Copyright \(co 1989-2024 by the Free Software Foundation, Inc.
+.if n Bash is Copyright (C) 1989-2025 by the Free Software Foundation, Inc.
+.if t Bash is Copyright \(co 1989-2025 by the Free Software Foundation, Inc.
 .SH DESCRIPTION
 .B Bash
-is an \fBsh\fP-compatible command language interpreter that
+is a command language interpreter that
 executes commands read from the standard input, from a string,
 or from a file.
+It is a reimplementation and extension of the Bourne shell,
+the historical Unix command language interpreter.
 .B Bash
 also incorporates useful features from the \fIKorn\fP and \fIC\fP
 shells (\fBksh\fP and \fBcsh\fP).
 .PP
-POSIX is the name for a family of computing standards based on Unix.
+.SM POSIX
+is the name for a family of computing standards based on Unix.
 .B Bash
 is intended to be a conformant implementation of the
-Shell and Utilities portion of the IEEE POSIX specification
-(IEEE Standard 1003.1).
+Shell and Utilities portion of the IEEE
+.SM POSIX
+specification (IEEE Standard 1003.1).
+.B Bash
+.SM POSIX
+mode (hereafter referred to as \fIposix mode\fP)
+changes the shell's behavior where its default operation differs
+from the standard to strictly conform to the standard.
+See
+.SM
+.B "SEE ALSO"
+below for a reference to a document that details how posix mode affects
+\fBbash\fP's behavior.
 .B Bash
-can be configured to be POSIX-conformant by default.
+can be configured to be
+.SM POSIX\c
+-conformant by default.
 .SH OPTIONS
 All of the single-character shell options documented in the
 description of the \fBset\fP builtin command, including \fB\-o\fP,
@@ -244,13 +264,11 @@ This option is on by default if the shell is invoked as
 .BR sh .
 .TP
 .B \-\-posix
-Change the behavior of \fBbash\fP where the default operation differs
-from the POSIX standard to match the standard (\fIposix mode\fP).
-See
-.SM
-.B "SEE ALSO"
-below for a reference to a document that details how posix mode affects
-\fBBash\fP's behavior.
+Enable posix mode;
+change the behavior of \fBbash\fP
+where the default operation differs from the
+.SM POSIX
+standard to match the standard.
 .TP
 .B \-\-restricted
 The shell becomes restricted (see
@@ -270,9 +288,9 @@ If arguments remain after option processing, and neither the
 .B \-c
 nor the
 .B \-s
-option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands (a \fIshell script\fP).
-If
+option has been supplied, the first argument is treated as
+the name of a file containing shell commands (a \fIshell script\fP).
+When
 .B bash
 is invoked in this fashion,
 .B $0
@@ -283,8 +301,9 @@ reads and executes commands from this file, then exits.
 \fBBash\fP's exit status is the exit status of the last command
 executed in the script.
 If no commands are executed, the exit status is 0.
-Bash first attempts to open the file in the current directory, and,
-if no file is found, then searches the directories in
+.B Bash
+first attempts to open the file in the current directory,
+and, if no file is found, searches the directories in
 .SM
 .B PATH
 for the script.
@@ -295,12 +314,12 @@ or one started with the
 .B \-\-login
 option.
 .PP
-An \fIinteractive\fP shell is one started without non-option arguments
+An \fIinteractive shell\fP is one started without non-option arguments
 (unless \fB\-s\fP is specified)
 and without the
 .B \-c
 option,
-whose standard input and standard error are
+and whose standard input and standard error are
 both connected to terminals (as determined by
 .IR isatty (3)),
 or one started with the
@@ -397,10 +416,12 @@ is invoked with the name
 it tries to mimic the startup behavior of historical versions of
 .B sh
 as closely as possible,
-while conforming to the POSIX standard as well.
+while conforming to the
+.SM POSIX
+standard as well.
 When invoked as an interactive login shell, or a non-interactive
-shell with the \fB\-\-login\fP option, it first attempts to
-read and execute commands from
+shell with the \fB\-\-login\fP option, it first attempts to read
+and execute commands from
 .FN /etc/profile
 and
 .FN \*~/.profile ,
@@ -425,6 +446,7 @@ option has no effect.
 A non-interactive shell invoked with the name
 .B sh
 does not attempt to read any other startup files.
+.PP
 When invoked as
 .BR sh ,
 .B bash
@@ -434,7 +456,9 @@ When
 .B bash
 is started in posix mode, as with the
 .B \-\-posix
-command line option, it follows the POSIX standard for startup files.
+command line option, it follows the
+.SM POSIX
+standard for startup files.
 In this mode, interactive shells expand the
 .SM
 .B ENV
@@ -605,7 +629,9 @@ If the
 reserved word precedes a pipeline, the shell reports the
 elapsed as well as user and system time consumed by its execution
 when the pipeline terminates.
-The \fB\-p\fP option changes the output format to that specified by POSIX.
+The \fB\-p\fP option changes the output format to that specified by
+.SM POSIX\c
+\&.
 When the shell is in posix mode, it does not recognize
 \fBtime\fP as a reserved word if the next token begins with a
 .Q \- .
@@ -784,8 +810,12 @@ instead of having any special pattern matching meaning.
 An additional binary operator, \fB=\*~\fP, is available, with the same
 precedence as \fB==\fP and \fB!=\fP.
 When it is used, the string to the right of the operator is considered
-a POSIX extended regular expression and matched accordingly
-(using the POSIX \fIregcomp\fP and \fIregexec\fP interfaces
+a
+.SM POSIX
+extended regular expression and matched accordingly
+(using the
+.SM POSIX
+\fIregcomp\fP and \fIregexec\fP interfaces
 usually described in
 .IR regex (3)).
 The return value is 0 if the string matches
@@ -973,7 +1003,7 @@ Using \fB;&\fP in place of \fB;;\fP causes execution to continue with
 the \fIlist\fP associated with the next pattern list.
 Using \fB;;&\fP in place of \fB;;\fP causes the shell to test the next
 pattern list in the statement, if any, and execute any associated \fIlist\fP
-if the match succeeds.
+if the match succeeds,
 continuing the case statement execution as if the pattern list had not matched.
 The exit status is zero if no pattern matches.
 .IP
@@ -1103,7 +1133,9 @@ parentheses are not supplied, the braces are recommended.
 \fIcompound\-command\fP is executed whenever \fIfname\fP is specified as the
 name of a simple command.
 When in posix mode, \fIfname\fP must be a valid shell \fIname\fP
-and may not be the name of one of the POSIX \fIspecial builtins\fP.
+and may not be the name of one of the
+.SM POSIX
+\fIspecial builtins\fP.
 In default mode, a function name can be any unquoted shell word that does
 not contain \fB$\fP.
 .PP
@@ -1221,8 +1253,8 @@ The special parameters
 .B *
 and
 .B @
-have special meaning when in double
-quotes (see
+have special meaning when in double quotes
+(see
 .SM
 .B PARAMETERS
 below).
@@ -1390,25 +1422,34 @@ one or more instances of the \fBcommand\fP builtin and retain these
 assignment statement properties.
 .PP
 In the context where an assignment statement is assigning a value
-to a shell variable or array index,
-the += operator appends to or adds to
+to a shell variable or array index, the
+.Q +=
+operator appends to or adds to
 the variable's previous value.
 This includes arguments to \fIdeclaration\fP commands such as
-\fBdeclare\fP that accept assignment statements.
-When += is applied to a variable
-for which the \fBinteger\fP attribute has been set,
+.B \%declare
+that accept assignment statements.
+When
+.Q +=
+is applied to a variable for which the
+.B \%integer
+attribute has been set,
 the variable's current value and \fIvalue\fP are each evaluated as
 arithmetic expressions,
 and the sum of the results is assigned as the variable's value.
 The current value is usually an integer constant, but may be an expression.
-When += is applied to an array variable using compound assignment
+When
+.Q +=
+is applied to an array variable using compound assignment
 (see
 .B Arrays
-below), the
-variable's value is not unset (as it is when using =), and new
-values are appended to the array beginning at one greater than the array's
-maximum index (for indexed arrays) or added as additional key\-value pairs
-in an associative array.
+below),
+the variable's value is not unset
+(as it is when using
+.@ = ),
+and new values are appended to the array
+beginning at one greater than the array's maximum index (for indexed arrays)
+or added as additional key\-value pairs in an associative array.
 When applied to a string-valued variable, \fIvalue\fP is expanded and
 appended to the variable's value.
 .PP
@@ -1775,7 +1816,7 @@ have no effect, and it may not be unset.
 .B BASH_LOADABLES_PATH
 A colon-separated list of directories in which the
 .B enable
-command.
+command
 looks for
 dynamically loadable builtins.
 .TP
@@ -2170,7 +2211,9 @@ is unset, it loses its special properties, even if it is
 subsequently reset.
 .TP
 .B READLINE_ARGUMENT
-Any numeric argument given to a \fBreadline\fP command that was defined using
+Any numeric argument given to a
+.B \%readline
+command that was defined using
 .Q "bind \-x"
 (see
 .SM
@@ -2252,6 +2295,8 @@ If this variable is in the environment when
 .B bash
 starts up, the shell enables each option in the list before
 reading any startup files.
+If this variable is exported, child shells will enable each option
+in the list.
 This variable is read-only.
 .TP
 .B SHLVL
@@ -2367,9 +2412,10 @@ A sample value is
 .TP
 .B CHILD_MAX
 Set the number of exited child status values for the shell to remember.
-\fBBash\fP will not allow this value to be decreased below a POSIX-mandated
-minimum, and there is a maximum value (currently 8192) that this may
-not exceed.
+\fBBash\fP will not allow this value to be decreased below a
+.SM POSIX\c
+-mandated minimum,
+and there is a maximum value (currently 8192) that this may not exceed.
 The minimum value is system-dependent.
 .TP
 .B COLUMNS
@@ -2569,7 +2615,9 @@ When this variable is assigned a value, the history file is truncated,
 if necessary, to contain no more than that number of lines
 by removing the oldest entries.
 The history file is also truncated to this size after
-writing it when a shell exits or by the \fBhistory\fP builtin.
+writing it when a shell exits or by the
+.B \%history
+builtin.
 If the value is 0, the history file is truncated to zero size.
 Non-numeric values and numeric values less than zero inhibit truncation.
 The shell sets the default value to the value of
@@ -2606,8 +2654,26 @@ and are added to the history regardless of the value of
 .BR HISTIGNORE .
 If the first line was not saved, the second and subsequent lines of
 the command are not saved either.
-The pattern matching honors the setting of the \fBextglob\fP shell
-option.
+The pattern matching honors the setting of the
+.B \%extglob
+shell option.
+.IP
+.SM
+.B HISTIGNORE
+subsumes some of the function of
+.SM
+.BR HISTCONTROL .
+A pattern of
+.Q &
+is identical to
+.Q \%ignoredups ,
+and a pattern of
+.Q "[ ]*"
+is identical to
+.Q \%ignorespace .
+Combining these two patterns, separating them with a colon,
+provides the functionality of
+.Q \%ignoreboth .
 .TP
 .B HISTSIZE
 The number of commands to remember in the command history (see
@@ -2656,7 +2722,7 @@ to obtain the list of possible hostname completions.
 When
 .SM
 .B HOSTFILE
-is unset, \fBbash\fP clears the the hostname list.
+is unset, \fBbash\fP clears the hostname list.
 .TP
 .B IFS
 The
@@ -2824,15 +2890,22 @@ The default path is system-dependent,
 and is set by the administrator who installs
 .BR bash .
 A common value is
-.na
-.Q /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin .
-.ad
+.RS
+.RS 5n
+.EX
+/usr/local/bin:/usr/local/sbin:\c
+.if \n(LL<78n .br
+/usr/bin:/usr/sbin:/bin:/sbin
+.EE
+.RE
+.RE
 .TP
 .B POSIXLY_CORRECT
 If this variable is in the environment when \fBbash\fP starts, the shell
 enters posix mode before reading the startup files, as if the
 .B \-\-posix
-invocation option had been supplied.  If it is set while the shell is
+invocation option had been supplied.
+If it is set while the shell is
 running, \fBbash\fP enables posix mode, as if the command
 .Q "set \-o posix"
 had been executed.
@@ -3024,10 +3097,13 @@ The second character is the \fIquick substitution\fP character, normally
 When it appears as the first character on the line,
 history substitution repeats the previous command,
 replacing one string with another.
-The optional third character is the character which indicates that
-the remainder of the line is a comment when found as the first character
-of a word, normally
-.Q \fB#\fP .
+The optional third character is the
+\fIhistory comment\fP
+character,  normally
+.Q \fB#\fP ,
+which indicates
+that the remainder of the line is a comment
+when it appears as the first character of a word.
 The history comment character disables history substitution
 for the remaining words on the line.
 It does not necessarily cause the shell parser to treat the rest of the
@@ -3043,34 +3119,49 @@ There is no maximum
 limit on the size of an array, nor any requirement that members
 be indexed or assigned contiguously.
 Indexed arrays are referenced using arithmetic expressions
-that must expand to an integer and are zero-based;
+that must expand to an integer
+(see
+.SM
+.B
+ARITHMETIC EVALUATION
+below)
+and are zero-based;
 associative arrays are referenced using arbitrary strings.
 Unless otherwise noted, indexed array indices must be non-negative integers.
 .PP
 An indexed array is created automatically if any variable is assigned to
 using the syntax
-\fIname\fP[\fIsubscript\fP]=\fIvalue\fP.
+.RS
+\fIname\fP[\fIsubscript\fP]=\fIvalue\fP
+\&.
+.RE
 The
 .I subscript
 is treated as an arithmetic expression that must evaluate to a number
 greater than or equal to zero.
 To explicitly declare an indexed array, use
-.B declare \-a \fIname\fP
+.RS
+.BI "declare \-a\ " name
+.RE
 (see
 .SM
 .B "SHELL BUILTIN COMMANDS"
 below).
-.B declare \-a \fIname\fP[\fIsubscript\fP]
+.RS
+\fBdeclare \-a\fP \fIname\fP[\fIsubscript\fP]
+.RE
 is also accepted; the \fIsubscript\fP is ignored.
 .PP
 Associative arrays are created using
-.BR "declare \-A \fIname\fP" .
+.RS
+.BI "declare \-A\ " name
+.RE
+\&.
 .PP
-Attributes may be
-specified for an array variable using the
-.B declare
+Attributes may be specified for an array variable using the
+.B \%declare
 and
-.B readonly
+.B \%readonly
 builtins.
 Each attribute applies to all members of an array.
 .PP
@@ -3119,7 +3210,9 @@ interpreted as relative to one greater than the maximum index of
 \fIname\fP, so negative indices count back from the end of the
 array, and an index of \-1 references the last element.
 .PP
-The += operator appends to an array variable when assigning
+The
+.Q +=
+operator appends to an array variable when assigning
 using the compound assignment syntax; see
 .SM
 .B PARAMETERS
@@ -3291,12 +3384,12 @@ need not exist.
 Patterns to be brace expanded are formed from an optional
 .IR preamble ,
 followed by either a series of comma-separated strings or
-a sequence expression between a pair of braces, followed by
-an optional
+a sequence expression between a pair of braces,
+followed by an optional
 .IR postscript .
-The preamble is prefixed to each string contained
-within the braces, and the postscript is then appended
-to each resulting string, expanding left to right.
+The preamble is prefixed to each string contained within the braces,
+and the postscript is then appended to each resulting string,
+expanding left to right.
 .PP
 Brace expansions may be nested.
 The results of each expanded string are not sorted;
@@ -3310,12 +3403,9 @@ where \fIx\fP and \fIy\fP are either integers or single letters,
 and \fIincr\fP, an optional increment, is an integer.
 When integers are supplied, the expression expands to each number between
 \fIx\fP and \fIy\fP, inclusive.
-If either \fIx\fP or \fIy\fP begins with \fI0\fP,
+If either \fIx\fP or \fIy\fP begins with a zero,
 each generated term will contain the same number of digits,
 zero-padding where necessary.
-When either \fIx\fP or \fPy\fP begins with a zero, the shell
-attempts to force all generated terms to contain the same number of digits,
-zero-padding where necessary.
 When letters are supplied, the expression expands to each character
 lexicographically between \fIx\fP and \fIy\fP, inclusive,
 using the default C locale.
@@ -3338,22 +3428,32 @@ and closing braces, and at least one unquoted comma or a valid
 sequence expression.
 Any incorrectly formed brace expansion is left unchanged.
 .PP
-A \fB{\fP or \fB,\fP may be quoted with a backslash to prevent its
+A
+.Q {
+or
+Q ,
+may be quoted with a backslash to prevent its
 being considered part of a brace expression.
-To avoid conflicts with parameter expansion, the string \fB${\fP
-is not considered eligible for brace expansion, and inhibits brace
-expansion until the closing \fB}\fP.
+To avoid conflicts with parameter expansion, the string
+.Q ${
+is not considered eligible for brace expansion,
+and inhibits brace expansion until the closing
+.Q } .
 .PP
 This construct is typically used as shorthand when the common
 prefix of the strings to be generated is longer than in the
 above example:
-.RS
 .PP
+.RS
+.EX
 mkdir /usr/local/src/bash/{old,new,dist,bugs}
+.EE
 .RE
 or
 .RS
+.EX
 chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
+.EE
 .RE
 .PP
 Brace expansion introduces a slight incompatibility with
@@ -3363,14 +3463,15 @@ historical versions of
 does not treat opening or closing braces specially when they
 appear as part of a word, and preserves them in the output.
 .B Bash
-removes braces from words as a consequence of brace
-expansion.
+removes braces from words as a consequence of brace expansion.
 For example, a word entered to
 .B sh
-as \fIfile{1,2}\fP
+as
+.Q file{1,2}
 appears identically in the output.
-\fBBash\fP outputs that word as
-.I file1 file2
+.B Bash
+outputs that word as
+.Q "file1 file2"
 after brace expansion.
 Start
 .B bash
@@ -3464,8 +3565,9 @@ of variable assignments (as described above under
 .SM
 .BR PARAMETERS )
 when they appear as arguments to simple commands.
-\fBBash\fP does not do this, except for the \fIdeclaration\fP commands listed
-above, when in posix mode.
+\fBBash\fP does not do this,
+except for the \fIdeclaration\fP commands listed above,
+when in posix mode.
 .SS Parameter Expansion
 The
 .Q \fB$\fP
@@ -4080,7 +4182,8 @@ This filename is
 passed as an argument to the current command as the result of the
 expansion.
 .PP
-If the \fB>(\fP\fIlist\^\fP\fB)\fP form is used, writing to
+If the
+\fB>(\fP\fIlist\^\fP\fB)\fP form is used, writing to
 the file provides input for \fIlist\fP.
 If the
 \fB<(\fP\fIlist\^\fP\fB)\fP form is used, reading the file
@@ -4090,7 +4193,7 @@ and the left parenthesis, otherwise the construct would be interpreted
 as a redirection.
 .PP
 Process substitution is supported on systems that support named
-pipes (\fIFIFOs\fP) or the \fB/dev/fd\fP method of naming open files.
+pipes (\fIFIFOs\fP) or the \fI/dev/fd\fP method of naming open files.
 .PP
 When available, process substitution is performed
 simultaneously with parameter and variable expansion,
@@ -4301,7 +4404,8 @@ make
 .Q .*
 one of the patterns in
 .SM
-.BR GLOBIGNORE .
+.B GLOBIGNORE\c
+\&.
 The
 .B dotglob
 option is disabled when
@@ -4313,11 +4417,12 @@ The
 pattern matching honors the setting of the \fBextglob\fP shell
 option.
 .PP
-The
+The value of the
 .SM
 .B GLOBSORT
 shell variable controls how the results of pathname expansion are sorted,
-as described above.
+as described above under
+.BR "Shell Variables" .
 .PP
 \fBPattern Matching\fP
 .PP
@@ -4395,7 +4500,9 @@ shell option.
 Within a bracket expression,
 \fIcharacter classes\fP can be specified using the syntax
 \fB[:\fP\fIclass\fP\fB:]\fP, where \fIclass\fP is one of the
-following classes defined in the POSIX standard:
+following classes defined in the
+.SM POSIX
+standard:
 .IP
 .RS
 .B
@@ -4648,7 +4755,7 @@ and the
 .B noclobber
 option to the
 .B set
-builtin has been enabled, the redirection fails if the file
+builtin command has been enabled, the redirection fails if the file
 whose name results from the expansion of \fIword\fP exists and is
 a regular file.
 If the redirection operator is
@@ -4659,11 +4766,11 @@ and the
 .B noclobber
 option to the
 .B set
-builtin command is not enabled,
+builtin is not enabled,
 \fBbash\fP attempts the redirection
 even if the file named by \fIword\fP exists.
 .SS Appending Redirected Output
-Redirecting  output in this fashion opens
+Redirecting output in this fashion opens
 the file whose name results from the expansion of
 .I word
 for appending on file descriptor
@@ -5418,7 +5525,9 @@ is non-zero.
 .TP
 \fIstring1\fP \fB=\fP \fIstring2\fP
 True if the strings are equal.
-\fB=\fP should be used with the \fBtest\fP command for POSIX conformance.
+\fB=\fP should be used with the \fBtest\fP command for
+.SM POSIX
+conformance.
 When used with the \fB[[\fP command, this performs pattern matching as
 described above (\fBCompound Commands\fP).
 .TP
@@ -6948,7 +7057,7 @@ If set to zero, any existing history entries are deleted and no new entries
 are saved.
 If set to a value less than zero, the number of history entries is not
 limited.
-By default, \fBbash\fP sets the the maximum number of history entries to
+By default, \fBbash\fP sets the maximum number of history entries to
 the value of the \fBHISTSIZE\fP shell variable.
 Setting \fIhistory\-size\fP to a non-numeric value will set
 the maximum number of history entries to 500.
@@ -7329,11 +7438,11 @@ Words are composed of alphanumeric characters (letters and digits).
 Move back to the start of the current or previous word.
 Words are composed of alphanumeric characters (letters and digits).
 .TP
-.B shell\-forward\-word
+.B shell\-forward\-word (M\-C\-f)
 Move forward to the end of the next word.
 Words are delimited by non-quoted shell metacharacters.
 .TP
-.B shell\-backward\-word
+.B shell\-backward\-word (M\-C\-b)
 Move back to the start of the current or previous word.
 Words are delimited by non-quoted shell metacharacters.
 .TP
@@ -7607,7 +7716,7 @@ Negative arguments have no effect.
 .TP
 .B transpose\-words (M\-t)
 Drag the word before point past the word after point,
-moving point over that word as well.
+moving point past that word as well.
 If point is at the end of the line, this transposes
 the last two words on the line.
 .TP
@@ -7810,7 +7919,7 @@ the number of matches \fIN\fP;
 the word being completed;
 .IP \(bu
 \fIS\fP:\fIE\fP,
-where S and E are the start and end offsets of the word
+where \fIS\fP and \fIE\fP are the start and end offsets of the word
 in the \fBreadline\fP line buffer; then
 .IP \(bu
 each match, one per line
@@ -8327,7 +8436,7 @@ and
 .PP
 On startup, \fBbash\fP initializes the history list
 by reading history entries from the
-the file named by the
+file named by the
 .SM
 .B HISTFILE
 variable (default
@@ -9163,7 +9272,7 @@ before attempting the directory change.
 .IP
 If \fBcd\fP uses a non-empty directory name from
 .SM
-.BR CDPATH,
+.BR CDPATH ,
 or if \fB\-\fP is the first argument, and the directory change is
 successful, \fBcd\fP writes the absolute pathname of the new
 working directory to the standard output.
@@ -9712,7 +9821,7 @@ subsequent assignments.
 .PP
 The return value is 0 unless an invalid option is encountered,
 an attempt is made to define a function using
-.Q "\-f foo=bar" .
+.Q "\-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
@@ -9895,7 +10004,7 @@ If \fB\-n\fP is supplied, each \fIname\fP is disabled; otherwise,
 \fIname\fPs are enabled.
 For example, to use the
 .B test
-binary found usin g
+binary found using
 .SM
 .B PATH
 instead of the shell builtin version, run
@@ -9909,7 +10018,8 @@ shell builtins.
 If \fB\-n\fP is supplied, print only disabled builtins.
 If \fB\-a\fP is supplied, the list printed includes all builtins, with an
 indication of whether or not each is enabled.
-The \fB\-s\fP option means to restrict the output to the POSIX
+The \fB\-s\fP option means to restrict the output to the
+.SM POSIX
 \fIspecial\fP builtins.
 .IP
 The
@@ -9929,7 +10039,8 @@ to force a search of the current directory.
 The
 .B \-d
 option will delete a builtin previously loaded with \fB\-f\fP.
-If \fI\-s\fP is used with \fI\-f\fP, the new builtin becomes a POSIX
+If \fI\-s\fP is used with \fI\-f\fP, the new builtin becomes a
+.SM POSIX
 special builtin.
 .IP
 If no options are supplied and a \fIname\fP is not a shell builtin,
 is specified,
 .B help
 gives detailed help on all commands matching
-.IR pattern ;
+.I pattern
+as described below;
 otherwise it displays a list of
 all the builtins and shell compound commands.
+.IP
+Options, if supplied, have the follow meanings:
 .RS
-.PD 0
 .TP
+.PD 0
 .B \-d
 Display a short description of each \fIpattern\fP
 .TP
@@ -10338,6 +10452,21 @@ Display only a short usage synopsis for each \fIpattern\fP
 .PD
 .RE
 .IP
+If \fIpattern\fP contains pattern matching characters
+(see
+.SM
+.B "Pattern Matching"
+above)
+it's treated as a shell pattern and
+\fBhelp\fP prints the description of each
+help topic matching \fIpattern\fP.
+.IP
+If not, and \fIpattern\fP exactly matches the name of a help topic,
+\fBhelp\fP prints the description
+associated with that topic.
+Otherwise, \fBhelp\fP performs prefix matching and
+prints the descriptions of all matching help topics.
+.IP
 The return status is 0 unless no command matches
 .IR pattern .
 .TP
@@ -11380,10 +11509,13 @@ commands in the pipeline exit successfully.
 This option is disabled by default.
 .TP 8
 .B posix
-Change the behavior of
+Enable posix mode;
+change the behavior of
 .B bash
 where the default operation differs
-from the POSIX standard to match the standard (\fIposix mode\fP).
+from the
+.SM POSIX
+standard to match the standard.
 See
 .SM
 .B "SEE ALSO"
@@ -12271,7 +12403,8 @@ commands sort lexicographically using ASCII ordering.
 .PP
 The historical operator-precedence parsing with 4 or more arguments can
 lead to ambiguities when it encounters strings that look like primaries.
-The POSIX
+The
+.SM POSIX
 standard has deprecated the \fB\-a\fP and \fB\-o\fP
 primaries and enclosing expressions within parentheses.
 Scripts should no longer use them.
@@ -12588,7 +12721,9 @@ allow this value to be set).
 The pipe size in 512-byte blocks (this may not be set).
 .TP
 .B \-q
-The maximum number of bytes in POSIX message queues.
+The maximum number of bytes in
+.SM POSIX
+message queues.
 .TP
 .B \-r
 The maximum real-time scheduling priority.
@@ -12906,14 +13041,18 @@ bash-4.1 and later use the current locale's collation sequence and
 .PD 0
 .RS
 .IP \(bu
-In \fIposix\fP mode, \fBtime\fP may be followed by options and still be
-recognized as a reserved word (this is POSIX interpretation 267).
+In posix mode, \fBtime\fP may be followed by options and still be
+recognized as a reserved word (this is
+.SM POSIX
+interpretation 267).
 .IP \(bu
 In \fIposix\fP mode, the parser requires that an even number of single
 quotes occur in the \fIword\fP portion of a double-quoted
 parameter expansion and treats them specially, so that characters within
 the single quotes are considered quoted
-(this is POSIX interpretation 221).
+(this is
+.SM POSIX
+interpretation 221).
 .RE
 .PD
 .TP
@@ -12927,7 +13066,9 @@ undergo quote removal, as it does in versions after bash-4.2.
 In posix mode, single quotes are considered special when expanding
 the \fIword\fP portion of a double-quoted parameter expansion
 and can be used to quote a closing brace or other special character
-(this is part of POSIX interpretation 221);
+(this is part of
+.SM POSIX
+interpretation 221);
 in later versions, single quotes
 are not special within double-quoted word expansions.
 .RE
@@ -13246,7 +13387,7 @@ The hardware and operating system
 .TP
 The compiler used to compile
 .TP
-A description of the bug behaviour
+A description of the bug behavior
 .TP
 A short script or \c
 .Q recipe " \c"
@@ -13268,8 +13409,7 @@ There are some subtle differences between
 and traditional versions of
 .BR sh ,
 mostly because of the
-.SM
-.B POSIX
+.SM POSIX
 specification.
 .PP
 Aliases are confusing in some uses.
index 11f90e3b44b20932cccff412e20c192d0e2d71e1..04b3b5ba8b023417c0d7d7bb23f61eebb3ed2749 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 December 12<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2025 January 8<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -48,30 +48,48 @@ bash - GNU Bourne-Again SHell
 <H3>COPYRIGHT</H3>
 
 
-Bash is Copyright &#169; 1989-2024 by the Free Software Foundation, Inc.
+Bash is Copyright &#169; 1989-2025 by the Free Software Foundation, Inc.
 <A NAME="lbAE">&nbsp;</A>
 <H3>DESCRIPTION</H3>
 
 <B>Bash</B>
 
-is an <B>sh</B>-compatible command language interpreter that
+is a command language interpreter that
 executes commands read from the standard input, from a string,
 or from a file.
+It is a reimplementation and extension of the Bourne shell,
+the historical Unix command language interpreter.
 <B>Bash</B>
 
 also incorporates useful features from the <I>Korn</I> and <I>C</I>
 shells (<B>ksh</B> and <B>csh</B>).
 <P>
 
-POSIX is the name for a family of computing standards based on Unix.
+<FONT SIZE=-1>POSIX</FONT>
+is the name for a family of computing standards based on Unix.
 <B>Bash</B>
 
 is intended to be a conformant implementation of the
-Shell and Utilities portion of the IEEE POSIX specification
-(IEEE Standard 1003.1).
+Shell and Utilities portion of the IEEE
+<FONT SIZE=-1>POSIX</FONT>
+specification (IEEE Standard 1003.1).
 <B>Bash</B>
 
-can be configured to be POSIX-conformant by default.
+<FONT SIZE=-1>POSIX</FONT>
+mode (hereafter referred to as <I>posix mode</I>)
+changes the shell's behavior where its default operation differs
+from the standard to strictly conform to the standard.
+See
+<FONT SIZE=-1><B>SEE ALSO</B>
+
+</FONT>
+below for a reference to a document that details how posix mode affects
+<B>bash</B>'s behavior.
+<B>Bash</B>
+
+can be configured to be
+<FONT SIZE=-1>POSIX</FONT>
+-conformant by default.
 <A NAME="lbAF">&nbsp;</A>
 <H3>OPTIONS</H3>
 
@@ -294,14 +312,11 @@ This option is on by default if the shell is invoked as
 <DT><B>--posix</B>
 
 <DD>
-Change the behavior of <B>bash</B> where the default operation differs
-from the POSIX standard to match the standard (<I>posix mode</I>).
-See
-<FONT SIZE=-1><B>SEE ALSO</B>
-
-</FONT>
-below for a reference to a document that details how posix mode affects
-<B>Bash</B>'s behavior.
+Enable posix mode;
+change the behavior of <B>bash</B>
+where the default operation differs from the
+<FONT SIZE=-1>POSIX</FONT>
+standard to match the standard.
 <DT><B>--restricted</B>
 
 <DD>
@@ -331,9 +346,9 @@ If arguments remain after option processing, and neither the
 nor the
 <B>-s</B>
 
-option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands (a <I>shell script</I>).
-If
+option has been supplied, the first argument is treated as
+the name of a file containing shell commands (a <I>shell script</I>).
+When
 <B>bash</B>
 
 is invoked in this fashion,
@@ -347,8 +362,10 @@ reads and executes commands from this file, then exits.
 <B>Bash</B>'s exit status is the exit status of the last command
 executed in the script.
 If no commands are executed, the exit status is 0.
-Bash first attempts to open the file in the current directory, and,
-if no file is found, then searches the directories in
+<B>Bash</B>
+
+first attempts to open the file in the current directory,
+and, if no file is found, searches the directories in
 <FONT SIZE=-1><B>PATH</B>
 
 </FONT>
@@ -365,13 +382,13 @@ or one started with the
 option.
 <P>
 
-An <I>interactive</I> shell is one started without non-option arguments
+An <I>interactive shell</I> is one started without non-option arguments
 (unless <B>-s</B> is specified)
 and without the
 <B>-c</B>
 
 option,
-whose standard input and standard error are
+and whose standard input and standard error are
 both connected to terminals (as determined by
 <I>isatty</I>(3)),
 
@@ -518,10 +535,12 @@ it tries to mimic the startup behavior of historical versions of
 <B>sh</B>
 
 as closely as possible,
-while conforming to the POSIX standard as well.
+while conforming to the
+<FONT SIZE=-1>POSIX</FONT>
+standard as well.
 When invoked as an interactive login shell, or a non-interactive
-shell with the <B>--login</B> option, it first attempts to
-read and execute commands from
+shell with the <B>--login</B> option, it first attempts to read
+and execute commands from
 
 <A HREF="file:/etc/profile"><I>/etc/profile</I></A>
 
@@ -557,6 +576,8 @@ A non-interactive shell invoked with the name
 <B>sh</B>
 
 does not attempt to read any other startup files.
+<P>
+
 When invoked as
 <B>sh</B>,
 
@@ -571,7 +592,9 @@ When
 is started in posix mode, as with the
 <B>--posix</B>
 
-command line option, it follows the POSIX standard for startup files.
+command line option, it follows the
+<FONT SIZE=-1>POSIX</FONT>
+standard for startup files.
 In this mode, interactive shells expand the
 <FONT SIZE=-1><B>ENV</B>
 
@@ -806,7 +829,9 @@ If the
 reserved word precedes a pipeline, the shell reports the
 elapsed as well as user and system time consumed by its execution
 when the pipeline terminates.
-The <B>-p</B> option changes the output format to that specified by POSIX.
+The <B>-p</B> option changes the output format to that specified by
+<FONT SIZE=-1>POSIX</FONT>
+.
 When the shell is in posix mode, it does not recognize
 <B>time</B> as a reserved word if the next token begins with a
 
@@ -1025,8 +1050,12 @@ instead of having any special pattern matching meaning.
 An additional binary operator, <B>=~</B>, is available, with the same
 precedence as <B>==</B> and <B>!=</B>.
 When it is used, the string to the right of the operator is considered
-a POSIX extended regular expression and matched accordingly
-(using the POSIX <I>regcomp</I> and <I>regexec</I> interfaces
+a
+<FONT SIZE=-1>POSIX</FONT>
+extended regular expression and matched accordingly
+(using the
+<FONT SIZE=-1>POSIX</FONT>
+<I>regcomp</I> and <I>regexec</I> interfaces
 usually described in
 <I>regex</I>(3)).
 
@@ -1240,7 +1269,7 @@ Using <B>;&amp;</B> in place of <B>;;</B> causes execution to continue with
 the <I>list</I> associated with the next pattern list.
 Using <B>;;&amp;</B> in place of <B>;;</B> causes the shell to test the next
 pattern list in the statement, if any, and execute any associated <I>list</I>
-if the match succeeds.
+if the match succeeds,
 continuing the case statement execution as if the pattern list had not matched.
 The exit status is zero if no pattern matches.
 <DT><DD>
@@ -1390,7 +1419,9 @@ parentheses are not supplied, the braces are recommended.
 <I>compound-command</I> is executed whenever <I>fname</I> is specified as the
 name of a simple command.
 When in posix mode, <I>fname</I> must be a valid shell <I>name</I>
-and may not be the name of one of the POSIX <I>special builtins</I>.
+and may not be the name of one of the
+<FONT SIZE=-1>POSIX</FONT>
+<I>special builtins</I>.
 In default mode, a function name can be any unquoted shell word that does
 not contain <B>$</B>.
 </DL>
@@ -1550,8 +1581,8 @@ The special parameters
 and
 <B>@</B>
 
-have special meaning when in double
-quotes (see
+have special meaning when in double quotes
+(see
 <FONT SIZE=-1><B>PARAMETERS</B>
 
 </FONT>
@@ -1780,26 +1811,37 @@ assignment statement properties.
 <P>
 
 In the context where an assignment statement is assigning a value
-to a shell variable or array index,
-the += operator appends to or adds to
+to a shell variable or array index, the
+
+operator appends to or adds to
 the variable's previous value.
 This includes arguments to <I>declaration</I> commands such as
-<B>declare</B> that accept assignment statements.
-When += is applied to a variable
-for which the <B>integer</B> attribute has been set,
+<B>declare</B>
+
+that accept assignment statements.
+When
+
+is applied to a variable for which the
+<B>integer</B>
+
+attribute has been set,
 the variable's current value and <I>value</I> are each evaluated as
 arithmetic expressions,
 and the sum of the results is assigned as the variable's value.
 The current value is usually an integer constant, but may be an expression.
-When += is applied to an array variable using compound assignment
+When
+
+is applied to an array variable using compound assignment
 (see
 <B>Arrays</B>
 
-below), the
-variable's value is not unset (as it is when using =), and new
-values are appended to the array beginning at one greater than the array's
-maximum index (for indexed arrays) or added as additional key-value pairs
-in an associative array.
+below),
+the variable's value is not unset
+(as it is when using
+
+and new values are appended to the array
+beginning at one greater than the array's maximum index (for indexed arrays)
+or added as additional key-value pairs in an associative array.
 When applied to a string-valued variable, <I>value</I> is expanded and
 appended to the variable's value.
 <P>
@@ -1843,6 +1885,15 @@ array variables.
 Namerefs can be unset using the <B>-n</B> option to the <B>unset</B> builtin.
 Otherwise, if <B>unset</B> is executed with the name of a nameref variable
 as an argument, the variable referenced by the nameref variable is unset.
+<P>
+
+When the shell starts, it reads its environment and creates a shell
+variable from each environment variable that has a valid name,
+as described below
+(see
+<FONT SIZE=-1><B>ENVIRONMENT</B>).
+
+</FONT>
 <A NAME="lbAV">&nbsp;</A>
 <H4>Positional Parameters</H4>
 
@@ -2246,7 +2297,7 @@ have no effect, and it may not be unset.
 A colon-separated list of directories in which the
 <B>enable</B>
 
-command.
+command
 looks for
 dynamically loadable builtins.
 <DT><B>BASH_MONOSECONDS</B>
@@ -2737,7 +2788,10 @@ subsequently reset.
 <DT><B>READLINE_ARGUMENT</B>
 
 <DD>
-Any numeric argument given to a <B>readline</B> command that was defined using
+Any numeric argument given to a
+<B>readline</B>
+
+command that was defined using
 
 (see
 <FONT SIZE=-1><B>SHELL BUILTIN COMMANDS</B>
@@ -2841,6 +2895,8 @@ If this variable is in the environment when
 
 starts up, the shell enables each option in the list before
 reading any startup files.
+If this variable is exported, child shells will enable each option
+in the list.
 This variable is read-only.
 <DT><B>SHLVL</B>
 
@@ -2985,9 +3041,10 @@ A sample value is
 
 <DD>
 Set the number of exited child status values for the shell to remember.
-<B>Bash</B> will not allow this value to be decreased below a POSIX-mandated
-minimum, and there is a maximum value (currently 8192) that this may
-not exceed.
+<B>Bash</B> will not allow this value to be decreased below a
+<FONT SIZE=-1>POSIX</FONT>
+-mandated minimum,
+and there is a maximum value (currently 8192) that this may not exceed.
 The minimum value is system-dependent.
 <DT><B>COLUMNS</B>
 
@@ -3232,7 +3289,10 @@ When this variable is assigned a value, the history file is truncated,
 if necessary, to contain no more than that number of lines
 by removing the oldest entries.
 The history file is also truncated to this size after
-writing it when a shell exits or by the <B>history</B> builtin.
+writing it when a shell exits or by the
+<B>history</B>
+
+builtin.
 If the value is 0, the history file is truncated to zero size.
 Non-numeric values and numeric values less than zero inhibit truncation.
 The shell sets the default value to the value of
@@ -3274,8 +3334,29 @@ and are added to the history regardless of the value of
 </FONT>
 If the first line was not saved, the second and subsequent lines of
 the command are not saved either.
-The pattern matching honors the setting of the <B>extglob</B> shell
-option.
+The pattern matching honors the setting of the
+<B>extglob</B>
+
+shell option.
+<DT><DD>
+<FONT SIZE=-1><B>HISTIGNORE</B>
+
+</FONT>
+subsumes some of the function of
+<FONT SIZE=-1><B>HISTCONTROL</B>.
+
+</FONT>
+A pattern of
+
+is identical to
+
+and a pattern of
+
+is identical to
+
+Combining these two patterns, separating them with a colon,
+provides the functionality of
+
 <DT><B>HISTSIZE</B>
 
 <DD>
@@ -3337,7 +3418,7 @@ When
 <FONT SIZE=-1><B>HOSTFILE</B>
 
 </FONT>
-is unset, <B>bash</B> clears the the hostname list.
+is unset, <B>bash</B> clears the hostname list.
 <DT><B>IFS</B>
 
 <DD>
@@ -3555,8 +3636,18 @@ and is set by the administrator who installs
 <B>bash</B>.
 
 A common value is
+<DL COMPACT><DT><DD>
+<DL COMPACT><DT><DD>
+
+/usr/local/bin:/usr/local/sbin:
+<BR>
 
 
+/usr/bin:/usr/sbin:/bin:/sbin
+
+</DL>
+
+</DL>
 
 <DT><B>POSIXLY_CORRECT</B>
 
@@ -3565,7 +3656,8 @@ If this variable is in the environment when <B>bash</B> starts, the shell
 enters posix mode before reading the startup files, as if the
 <B>--posix</B>
 
-invocation option had been supplied.  If it is set while the shell is
+invocation option had been supplied.
+If it is set while the shell is
 running, <B>bash</B> enables posix mode, as if the command
 
 had been executed.
@@ -3801,10 +3893,13 @@ The second character is the <I>quick substitution</I> character, normally
 When it appears as the first character on the line,
 history substitution repeats the previous command,
 replacing one string with another.
-The optional third character is the character which indicates that
-the remainder of the line is a comment when found as the first character
-of a word, normally
+The optional third character is the
+<I>history comment</I>
+character,  normally
 
+which indicates
+that the remainder of the line is a comment
+when it appears as the first character of a word.
 The history comment character disables history substitution
 for the remaining words on the line.
 It does not necessarily cause the shell parser to treat the rest of the
@@ -3825,39 +3920,57 @@ There is no maximum
 limit on the size of an array, nor any requirement that members
 be indexed or assigned contiguously.
 Indexed arrays are referenced using arithmetic expressions
-that must expand to an integer and are zero-based;
+that must expand to an integer
+(see
+<FONT SIZE=-1><B>ARITHMETIC EVALUATION</B>
+
+</FONT>
+below)
+and are zero-based;
 associative arrays are referenced using arbitrary strings.
 Unless otherwise noted, indexed array indices must be non-negative integers.
 <P>
 
 An indexed array is created automatically if any variable is assigned to
 using the syntax
-<I>name</I>[<I>subscript</I>]=<I>value</I>.
+<DL COMPACT><DT><DD>
+<I>name</I>[<I>subscript</I>]=<I>value</I>
+.
+</DL>
+
 The
 <I>subscript</I>
 
 is treated as an arithmetic expression that must evaluate to a number
 greater than or equal to zero.
 To explicitly declare an indexed array, use
-<B>declare -a </B><I>name</I>
+<DL COMPACT><DT><DD>
+<B>declare -a&nbsp;</B><I>name</I>
+
+</DL>
 
 (see
 <FONT SIZE=-1><B>SHELL BUILTIN COMMANDS</B>
 
 </FONT>
 below).
-<B>declare -a </B><I>name</I>[<I>subscript</I>]
+<DL COMPACT><DT><DD>
+<B>declare -a</B> <I>name</I>[<I>subscript</I>]
+</DL>
 
 is also accepted; the <I>subscript</I> is ignored.
 <P>
 
 Associative arrays are created using
-<B>declare -A </B><I>name</I>.
+<DL COMPACT><DT><DD>
+<B>declare -A&nbsp;</B><I>name</I>
 
+</DL>
+
+.
 <P>
 
-Attributes may be
-specified for an array variable using the
+Attributes may be specified for an array variable using the
 <B>declare</B>
 
 and
@@ -3920,7 +4033,9 @@ interpreted as relative to one greater than the maximum index of
 array, and an index of -1 references the last element.
 <P>
 
-The += operator appends to an array variable when assigning
+The
+
+operator appends to an array variable when assigning
 using the compound assignment syntax; see
 <FONT SIZE=-1><B>PARAMETERS</B>
 
@@ -4139,13 +4254,13 @@ Patterns to be brace expanded are formed from an optional
 <I>preamble</I>,
 
 followed by either a series of comma-separated strings or
-a sequence expression between a pair of braces, followed by
-an optional
+a sequence expression between a pair of braces,
+followed by an optional
 <I>postscript</I>.
 
-The preamble is prefixed to each string contained
-within the braces, and the postscript is then appended
-to each resulting string, expanding left to right.
+The preamble is prefixed to each string contained within the braces,
+and the postscript is then appended to each resulting string,
+expanding left to right.
 <P>
 
 Brace expansions may be nested.
@@ -4161,12 +4276,9 @@ where <I>x</I> and <I>y</I> are either integers or single letters,
 and <I>incr</I>, an optional increment, is an integer.
 When integers are supplied, the expression expands to each number between
 <I>x</I> and <I>y</I>, inclusive.
-If either <I>x</I> or <I>y</I> begins with <I>0</I>,
+If either <I>x</I> or <I>y</I> begins with a zero,
 each generated term will contain the same number of digits,
 zero-padding where necessary.
-When either <I>x</I> or y begins with a zero, the shell
-attempts to force all generated terms to contain the same number of digits,
-zero-padding where necessary.
 When letters are supplied, the expression expands to each character
 lexicographically between <I>x</I> and <I>y</I>, inclusive,
 using the default C locale.
@@ -4193,25 +4305,35 @@ sequence expression.
 Any incorrectly formed brace expansion is left unchanged.
 <P>
 
-A <B>{</B> or <B>,</B> may be quoted with a backslash to prevent its
+A
+
+or
+Q ,
+may be quoted with a backslash to prevent its
 being considered part of a brace expression.
-To avoid conflicts with parameter expansion, the string <B>${</B>
-is not considered eligible for brace expansion, and inhibits brace
-expansion until the closing <B>}</B>.
+To avoid conflicts with parameter expansion, the string
+
+is not considered eligible for brace expansion,
+and inhibits brace expansion until the closing
+
 <P>
 
 This construct is typically used as shorthand when the common
 prefix of the strings to be generated is longer than in the
 above example:
-<DL COMPACT><DT><DD>
 <P>
 
+<DL COMPACT><DT><DD>
+
 mkdir /usr/local/src/bash/{old,new,dist,bugs}
+
 </DL>
 
 or
 <DL COMPACT><DT><DD>
+
 chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
+
 </DL>
 
 <P>
@@ -4226,15 +4348,16 @@ does not treat opening or closing braces specially when they
 appear as part of a word, and preserves them in the output.
 <B>Bash</B>
 
-removes braces from words as a consequence of brace
-expansion.
+removes braces from words as a consequence of brace expansion.
 For example, a word entered to
 <B>sh</B>
 
-as <I>file{1,2}</I>
+as
+
 appears identically in the output.
-<B>Bash</B> outputs that word as
-<I>file1 file2</I>
+<B>Bash</B>
+
+outputs that word as
 
 after brace expansion.
 Start
@@ -4352,8 +4475,9 @@ of variable assignments (as described above under
 
 </FONT>
 when they appear as arguments to simple commands.
-<B>Bash</B> does not do this, except for the <I>declaration</I> commands listed
-above, when in posix mode.
+<B>Bash</B> does not do this,
+except for the <I>declaration</I> commands listed above,
+when in posix mode.
 <A NAME="lbBC">&nbsp;</A>
 <H4>Parameter Expansion</H4>
 
@@ -5077,7 +5201,8 @@ passed as an argument to the current command as the result of the
 expansion.
 <P>
 
-If the <B>&gt;(</B><I>list</I><B>)</B> form is used, writing to
+If the
+<B>&gt;(</B><I>list</I><B>)</B> form is used, writing to
 the file provides input for <I>list</I>.
 If the
 <B>&lt;(</B><I>list</I><B>)</B> form is used, reading the file
@@ -5088,7 +5213,7 @@ as a redirection.
 <P>
 
 Process substitution is supported on systems that support named
-pipes (<I>FIFOs</I>) or the <B>/dev/fd</B> method of naming open files.
+pipes (<I>FIFOs</I>) or the <I>/dev/fd</I> method of naming open files.
 <P>
 
 When available, process substitution is performed
@@ -5369,9 +5494,10 @@ To get the old behavior of ignoring filenames beginning with a
 make
 
 one of the patterns in
-<FONT SIZE=-1><B>GLOBIGNORE</B>.
+<FONT SIZE=-1><B>GLOBIGNORE</B>
 
 </FONT>
+.
 The
 <B>dotglob</B>
 
@@ -5387,12 +5513,14 @@ pattern matching honors the setting of the <B>extglob</B> shell
 option.
 <P>
 
-The
+The value of the
 <FONT SIZE=-1><B>GLOBSORT</B>
 
 </FONT>
 shell variable controls how the results of pathname expansion are sorted,
-as described above.
+as described above under
+<B>Shell Variables</B>.
+
 <P>
 
 <B>Pattern Matching</B>
@@ -5491,7 +5619,9 @@ shell option.
 Within a bracket expression,
 <I>character classes</I> can be specified using the syntax
 <B>[:</B><I>class</I><B>:]</B>, where <I>class</I> is one of the
-following classes defined in the POSIX standard:
+following classes defined in the
+<FONT SIZE=-1>POSIX</FONT>
+standard:
 <DT><DD>
 <DL COMPACT><DT><DD>
 <B>
@@ -5816,7 +5946,7 @@ and the
 option to the
 <B>set</B>
 
-builtin has been enabled, the redirection fails if the file
+builtin command has been enabled, the redirection fails if the file
 whose name results from the expansion of <I>word</I> exists and is
 a regular file.
 If the redirection operator is
@@ -5831,13 +5961,13 @@ and the
 option to the
 <B>set</B>
 
-builtin command is not enabled,
+builtin is not enabled,
 <B>bash</B> attempts the redirection
 even if the file named by <I>word</I> exists.
 <A NAME="lbBM">&nbsp;</A>
 <H4>Appending Redirected Output</H4>
 
-Redirecting  output in this fashion opens
+Redirecting output in this fashion opens
 the file whose name results from the expansion of
 <I>word</I>
 
@@ -6823,7 +6953,9 @@ is non-zero.
 
 <DT><I>string1</I> <B>=</B> <I>string2</I><DD>
 True if the strings are equal.
-<B>=</B> should be used with the <B>test</B> command for POSIX conformance.
+<B>=</B> should be used with the <B>test</B> command for
+<FONT SIZE=-1>POSIX</FONT>
+conformance.
 When used with the <B>[[</B> command, this performs pattern matching as
 described above (<B>Compound Commands</B>).
 <DT><I>string1</I> <B>!=</B> <I>string2</I><DD>
@@ -8786,7 +8918,7 @@ If set to zero, any existing history entries are deleted and no new entries
 are saved.
 If set to a value less than zero, the number of history entries is not
 limited.
-By default, <B>bash</B> sets the the maximum number of history entries to
+By default, <B>bash</B> sets the maximum number of history entries to
 the value of the <B>HISTSIZE</B> shell variable.
 Setting <I>history-size</I> to a non-numeric value will set
 the maximum number of history entries to 500.
@@ -9264,12 +9396,12 @@ Words are composed of alphanumeric characters (letters and digits).
 <DD>
 Move back to the start of the current or previous word.
 Words are composed of alphanumeric characters (letters and digits).
-<DT><B>shell-forward-word</B>
+<DT><B>shell-forward-word (M-C-f)</B>
 
 <DD>
 Move forward to the end of the next word.
 Words are delimited by non-quoted shell metacharacters.
-<DT><B>shell-backward-word</B>
+<DT><B>shell-backward-word (M-C-b)</B>
 
 <DD>
 Move back to the start of the current or previous word.
@@ -9603,7 +9735,7 @@ Negative arguments have no effect.
 
 <DD>
 Drag the word before point past the word after point,
-moving point over that word as well.
+moving point past that word as well.
 If point is at the end of the line, this transposes
 the last two words on the line.
 <DT><B>shell-transpose-words (M-C-t)</B>
@@ -9854,7 +9986,7 @@ the number of matches <I>N</I>;
 the word being completed;
 <DT>*<DD>
 <I>S</I>:<I>E</I>,
-where S and E are the start and end offsets of the word
+where <I>S</I> and <I>E</I> are the start and end offsets of the word
 in the <B>readline</B> line buffer; then
 <DT>*<DD>
 each match, one per line
@@ -10483,7 +10615,7 @@ and
 
 On startup, <B>bash</B> initializes the history list
 by reading history entries from the
-the file named by the
+file named by the
 <FONT SIZE=-1><B>HISTFILE</B>
 
 </FONT>
@@ -11526,7 +11658,7 @@ is converted to
 before attempting the directory change.
 <DT><DD>
 If <B>cd</B> uses a non-empty directory name from
-<FONT SIZE=-1><B>CDPATH,</B>
+<FONT SIZE=-1><B>CDPATH</B>,
 
 </FONT>
 or if <B>-</B> is the first argument, and the directory change is
@@ -12396,7 +12528,7 @@ If <B>-n</B> is supplied, each <I>name</I> is disabled; otherwise,
 For example, to use the
 <B>test</B>
 
-binary found usin g
+binary found using
 <FONT SIZE=-1><B>PATH</B>
 
 </FONT>
@@ -12420,7 +12552,8 @@ shell builtins.
 If <B>-n</B> is supplied, print only disabled builtins.
 If <B>-a</B> is supplied, the list printed includes all builtins, with an
 indication of whether or not each is enabled.
-The <B>-s</B> option means to restrict the output to the POSIX
+The <B>-s</B> option means to restrict the output to the
+<FONT SIZE=-1>POSIX</FONT>
 <I>special</I> builtins.
 <DT><DD>
 The
@@ -12444,7 +12577,8 @@ The
 <B>-d</B>
 
 option will delete a builtin previously loaded with <B>-f</B>.
-If <I>-s</I> is used with <I>-f</I>, the new builtin becomes a POSIX
+If <I>-s</I> is used with <I>-f</I>, the new builtin becomes a
+<FONT SIZE=-1>POSIX</FONT>
 special builtin.
 <DT><DD>
 If no options are supplied and a <I>name</I> is not a shell builtin,
@@ -12935,16 +13069,19 @@ is specified,
 <B>help</B>
 
 gives detailed help on all commands matching
-<I>pattern</I>;
+<I>pattern</I>
 
+as described below;
 otherwise it displays a list of
 all the builtins and shell compound commands.
+<DT><DD>
+Options, if supplied, have the follow meanings:
 <DL COMPACT><DT><DD>
-
 <DL COMPACT>
-<DT><B>-d</B>
-
+<DT>
 <DD>
+<B>-d</B>
+
 Display a short description of each <I>pattern</I>
 <DT><B>-m</B>
 
@@ -12957,6 +13094,22 @@ Display only a short usage synopsis for each <I>pattern</I>
 
 </DL></DL>
 
+<DT><DD>
+If <I>pattern</I> contains pattern matching characters
+(see
+<FONT SIZE=-1><B>Pattern Matching</B>
+
+</FONT>
+above)
+it's treated as a shell pattern and
+<B>help</B> prints the description of each
+help topic matching <I>pattern</I>.
+<DT><DD>
+If not, and <I>pattern</I> exactly matches the name of a help topic,
+<B>help</B> prints the description
+associated with that topic.
+Otherwise, <B>help</B> performs prefix matching and
+prints the descriptions of all matching help topics.
 <DT><DD>
 The return status is 0 unless no command matches
 <I>pattern</I>.
@@ -14201,11 +14354,14 @@ This option is disabled by default.
 <DT><B>posix</B>
 
 <DD>
-Change the behavior of
+Enable posix mode;
+change the behavior of
 <B>bash</B>
 
 where the default operation differs
-from the POSIX standard to match the standard (<I>posix mode</I>).
+from the
+<FONT SIZE=-1>POSIX</FONT>
+standard to match the standard.
 See
 <FONT SIZE=-1><B>SEE ALSO</B>
 
@@ -15313,7 +15469,8 @@ commands sort lexicographically using ASCII ordering.
 
 The historical operator-precedence parsing with 4 or more arguments can
 lead to ambiguities when it encounters strings that look like primaries.
-The POSIX
+The
+<FONT SIZE=-1>POSIX</FONT>
 standard has deprecated the <B>-a</B> and <B>-o</B>
 primaries and enclosing expressions within parentheses.
 Scripts should no longer use them.
@@ -15713,7 +15870,9 @@ The pipe size in 512-byte blocks (this may not be set).
 <DT><B>-q</B>
 
 <DD>
-The maximum number of bytes in POSIX message queues.
+The maximum number of bytes in
+<FONT SIZE=-1>POSIX</FONT>
+message queues.
 <DT><B>-r</B>
 
 <DD>
@@ -16111,14 +16270,18 @@ bash-4.1 and later use the current locale's collation sequence and
 <DL COMPACT><DT><DD>
 <DL COMPACT>
 <DT>*<DD>
-In <I>posix</I> mode, <B>time</B> may be followed by options and still be
-recognized as a reserved word (this is POSIX interpretation 267).
+In posix mode, <B>time</B> may be followed by options and still be
+recognized as a reserved word (this is
+<FONT SIZE=-1>POSIX</FONT>
+interpretation 267).
 <DT>*<DD>
 In <I>posix</I> mode, the parser requires that an even number of single
 quotes occur in the <I>word</I> portion of a double-quoted
 parameter expansion and treats them specially, so that characters within
 the single quotes are considered quoted
-(this is POSIX interpretation 221).
+(this is
+<FONT SIZE=-1>POSIX</FONT>
+interpretation 221).
 </DL></DL>
 
 
@@ -16133,7 +16296,9 @@ undergo quote removal, as it does in versions after bash-4.2.
 In posix mode, single quotes are considered special when expanding
 the <I>word</I> portion of a double-quoted parameter expansion
 and can be used to quote a closing brace or other special character
-(this is part of POSIX interpretation 221);
+(this is part of
+<FONT SIZE=-1>POSIX</FONT>
+interpretation 221);
 in later versions, single quotes
 are not special within double-quoted word expansions.
 </DL></DL>
@@ -16525,7 +16690,7 @@ ALL bug reports should include:
 <DT>The version number of <B>bash</B><DD>
 <DT>The hardware and operating system<DD>
 <DT>The compiler used to compile<DD>
-<DT>A description of the bug behaviour<DD>
+<DT>A description of the bug behavior<DD>
 <DT>A short script or <DD>
 
 which exercises the bug
@@ -16556,9 +16721,7 @@ and traditional versions of
 <B>sh</B>,
 
 mostly because of the
-<FONT SIZE=-1><B>POSIX</B>
-
-</FONT>
+<FONT SIZE=-1>POSIX</FONT>
 specification.
 <P>
 
@@ -16586,7 +16749,7 @@ Array variables may not (yet) be exported.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 December 12<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2025 January 8<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -16695,7 +16858,7 @@ Array variables may not (yet) be exported.
 <DT><A HREF="#lbDJ">BUGS</A><DD>
 </DL>
 <HR>
-This document was created by man2html from /usr/local/src/bash/bash-20241207/doc/bash.1.<BR>
-Time: 12 December 2024 13:38:21 EST
+This document was created by man2html from /usr/local/src/bash/bash-20241227/doc/bash.1.<BR>
+Time: 08 January 2025 09:33:16 EST
 </BODY>
 </HTML>
index 1eafd9dfffa98d0b20f69cd3f5817aacbda253c9..11bcc90325e8464097a1002c34f329e0fc004f42 100644 (file)
@@ -1,12 +1,12 @@
 This is bash.info, produced by makeinfo version 7.1 from bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 12 December 2024).
+Bash shell (version 5.3, 8 January 2025).
 
-   This is Edition 5.3, last updated 12 December 2024, of ‘The GNU Bash
+   This is Edition 5.3, last updated 8 January 2025, of ‘The GNU Bash
 Reference Manual’, for ‘Bash’, Version 5.3.
 
-   Copyright © 1988-2024 Free Software Foundation, Inc.
+   Copyright © 1988-2025 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
@@ -26,10 +26,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 12 December 2024).  The Bash home page is
+Bash shell (version 5.3, 8 January 2025).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.3, last updated 12 December 2024, of ‘The GNU Bash
+   This is Edition 5.3, last updated 8 January 2025, of ‘The GNU Bash
 Reference Manual’, for ‘Bash’, Version 5.3.
 
    Bash contains features that appear in other popular shells, and some
@@ -1448,7 +1448,7 @@ above.  If a variable at the current local scope is unset, it remains so
 function returns.  Once the function returns, any instance of the
 variable at a previous scope becomes visible.  If the unset acts on a
 variable at a previous scope, any instance of a variable with that name
-that had been shadowed will become visible (see below how the
+that had been shadowed becomes visible (see below how the
 ‘localvar_unset’ shell option changes this behavior).
 
    The ‘-f’ option to the ‘declare’ (‘typeset’) builtin command (*note
@@ -1550,6 +1550,10 @@ array variables.  Namerefs can be unset using the ‘-n’ option to the
 is executed with the name of a nameref variable as an argument, the
 variable referenced by the nameref variable is unset.
 
+   When the shell starts, it reads its environment and creates a shell
+variable from each environment variable that has a valid name, as
+described below (*note Environment::).
+
 \1f
 File: bash.info,  Node: Positional Parameters,  Next: Special Parameters,  Up: Shell Parameters
 
@@ -1739,7 +1743,7 @@ to the context of the expansion or the text between the braces.
 closing braces, and at least one unquoted comma or a valid sequence
 expression.  Any incorrectly formed brace expansion is left unchanged.
 
-   A { or ‘,’ may be quoted with a backslash to prevent its being
+   A ‘{’ or ‘,’ may be quoted with a backslash to prevent its being
 considered part of a brace expression.  To avoid conflicts with
 parameter expansion, the string ‘${’ is not considered eligible for
 brace expansion, and inhibits brace expansion until the closing ‘}’.
@@ -1750,6 +1754,16 @@ of the strings to be generated is longer than in the above example:
    or
      chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 
+   Brace expansion introduces a slight incompatibility with historical
+versions of ‘sh’.  ‘sh’ does not treat opening or closing braces
+specially when they appear as part of a word, and preserves them in the
+output.  Bash removes braces from words as a consequence of brace
+expansion.  For example, a word entered to ‘sh’ as ‘file{1,2}’ appears
+identically in the output.  Bash outputs that word as ‘file1 file2’
+after brace expansion.  Start Bash with the ‘+B’ option or disable brace
+expansion with the ‘+B’ option to the ‘set’ command (*note Shell Builtin
+Commands::) for strict ‘sh’ compatibility.
+
 \1f
 File: bash.info,  Node: Tilde Expansion,  Next: Shell Parameter Expansion,  Prev: Brace Expansion,  Up: Shell Expansions
 
@@ -2377,7 +2391,7 @@ File: bash.info,  Node: Arithmetic Expansion,  Next: Process Substitution,  Prev
 3.5.5 Arithmetic Expansion
 --------------------------
 
-Arithmetic expansion evalutes an arithmetic expression and substitutes
+Arithmetic expansion evaluates an arithmetic expression and substitutes
 the result.  The format for arithmetic expansion is:
 
      $(( EXPRESSION ))
@@ -2530,9 +2544,9 @@ patterns in ‘GLOBIGNORE’.  The ‘dotglob’ option is disabled when
 ‘GLOBIGNORE’ is unset.  The ‘GLOBIGNORE’ pattern matching honors the
 setting of the ‘extglob’ shell option.
 
-   After the pattern is expanded and matched against filenames, the
-value of the ‘GLOBSORT’ shell variable controls how the results are
-sorted, as described below (*note Bash Variables::).
+   The value of the ‘GLOBSORT’ shell variable controls how the results
+of pathname expansion are sorted, as described below (*note Bash
+Variables::).
 
 \1f
 File: bash.info,  Node: Pattern Matching,  Up: Filename Expansion
@@ -2764,11 +2778,12 @@ created; if it does exist it is truncated to zero size.
      [N]>[|]WORD
 
    If the redirection operator is ‘>’, and the ‘noclobber’ option to the
-‘set’ builtin has been enabled, the redirection fails if the file whose
-name results from the expansion of WORD exists and is a regular file.
-If the redirection operator is ‘>|’, or the redirection operator is ‘>’
-and the ‘noclobber’ option is not enabled, Bash attemps the redirection
-even if the file named by WORD exists.
+‘set’ builtin command has been enabled, the redirection fails if the
+file whose name results from the expansion of WORD exists and is a
+regular file.  If the redirection operator is ‘>|’, or the redirection
+operator is ‘>’ and the ‘noclobber’ option to the ‘set’ builtin is not
+enabled, Bash attempts the redirection even if the file named by WORD
+exists.
 
 3.6.3 Appending Redirected Output
 ---------------------------------
@@ -3838,7 +3853,7 @@ standard.
      The ACTION is a command that is read and executed when the shell
      receives any of the signals SIGSPEC.  If ACTION is absent (and
      there is a single SIGSPEC) or equal to ‘-’, each specified
-     SIGSPEC'ss disposition is reset to the value it had when the shell
+     SIGSPEC's disposition is reset to the value it had when the shell
      was started.  If ACTION is the null string, then the signal
      specified by each SIGSPEC is ignored by the shell and commands it
      invokes.
@@ -4053,7 +4068,7 @@ standard.
           optional, and Readline does not expand the command string
           before saving it.  Since the entire key binding expression
           must be a single argument, it should be enclosed in single
-          quotes.  When SHELL-COMMAND is executed, the shell sets thex
+          quotes.  When SHELL-COMMAND is executed, the shell sets the
           ‘READLINE_LINE’ variable to the contents of the Readline line
           buffer and the ‘READLINE_POINT’ and ‘READLINE_MARK’ variables
           to the current location of the insertion point and the saved
@@ -4305,7 +4320,8 @@ standard.
      ‘BASH_LOADABLES_PATH’ is system-dependent, and may include "."  to
      force a search of the current directory.  The ‘-d’ option will
      delete a builtin loaded with ‘-f’.  If ‘-s’ is used with ‘-f’, the
-     new builtin becomes a special builtin (*note Special Builtins::).
+     new builtin becomes a POSIX special builtin (*note Special
+     Builtins::).
 
      If no options are supplied and a NAME is not a shell builtin,
      ‘enable’ will attempt to load NAME from a shared object named NAME,
@@ -4319,8 +4335,8 @@ standard.
 
      Display helpful information about builtin commands.  If PATTERN is
      specified, ‘help’ gives detailed help on all commands matching
-     PATTERN, otherwise it displays a list of all builtins and shell
-     compound commands.
+     PATTERN as described below; otherwise it displays a list of all
+     builtins and shell compound commands.
 
      Options, if supplied, have the following meanings:
 
@@ -4332,6 +4348,15 @@ standard.
      ‘-s’
           Display only a short usage synopsis for each PATTERN
 
+     If PATTERN contains pattern matching characters (*note Pattern
+     Matching::) it's treated as a shell pattern and ‘help’ prints the
+     description of each help topic matching PATTERN.
+
+     If not, and PATTERN exactly matches the name of a help topic,
+     ‘help’ prints the description associated with that topic.
+     Otherwise, ‘help’ performs prefix matching and prints the
+     descriptions of all matching help topics.
+
      The return status is zero unless no command matches PATTERN.
 
 ‘let’
@@ -4758,7 +4783,7 @@ standard.
      Values are in 1024-byte increments, except for ‘-t’, which is in
      seconds; ‘-R’, which is in microseconds; ‘-p’, which is in units of
      512-byte blocks; ‘-P’, ‘-T’, ‘-b’, ‘-k’, ‘-n’ and ‘-u’, which are
-     unscaled values; and, when in POSIX Mode (*note Bash POSIX Mode::),
+     unscaled values; and, when in POSIX mode (*note Bash POSIX Mode::),
      ‘-c’ and ‘-f’, which are in 512-byte increments.
 
      The return status is zero unless an invalid option or argument is
@@ -4957,10 +4982,11 @@ parameters, or to display the names and values of shell variables.
                successfully.  This option is disabled by default.
 
           ‘posix’
-               Change the behavior of Bash where the default operation
-               differs from the POSIX standard to match the standard
-               (*note Bash POSIX Mode::).  This is intended to make Bash
-               behave as a strict superset of that standard.
+               Enable POSIX mode; change the behavior of Bash where the
+               default operation differs from the POSIX standard to
+               match the standard (*note Bash POSIX Mode::).  This is
+               intended to make Bash behave as a strict superset of that
+               standard.
 
           ‘privileged’
                Same as ‘-p’.
@@ -5878,7 +5904,7 @@ Variables::).
 
 ‘ENV’
      Expanded and executed similarly to ‘BASH_ENV’ (*note Bash Startup
-     Files::) when an interactive shell is invoked in POSIX Mode (*note
+     Files::) when an interactive shell is invoked in POSIX mode (*note
      Bash POSIX Mode::).
 
 ‘EPOCHREALTIME’
@@ -5999,15 +6025,16 @@ Variables::).
      substitution, and tokenization (*note History Interaction::).  The
      first character is the “history expansion” character, the character
      which begins a history expansion, normally ‘!’.  The second
-     character is the "quick substitution" character, normally ‘^’.
+     character is the “quick substitution” character, normally ‘^’.
      When it appears as the first character on the line, history
      substitution repeats the previous command, replacing one string
-     with another.  The optional third character is the character which
-     indicates that the remainder of the line is a comment when found as
-     the first character of a word, usually ‘#’.  The history comment
-     character disables history substitution for the remaining words on
-     the line.  It does not necessarily cause the shell parser to treat
-     the rest of the line as a comment.
+     with another.  The optional third character is the “history
+     comment” character, normally ‘#’, which indicates that the
+     remainder of the line is a comment when it appears as the first
+     character of a word.  The history comment character disables
+     history substitution for the remaining words on the line.  It does
+     not necessarily cause the shell parser to treat the rest of the
+     line as a comment.
 
 ‘HISTCMD’
      The history number, or index in the history list, of the current
@@ -6307,7 +6334,8 @@ Variables::).
      ‘SHELLOPTS’ are those reported as ‘on’ by ‘set -o’.  If this
      variable is in the environment when Bash starts up, the shell
      enables each option in the list before reading any startup files.
-     This variable is readonly.
+     If this variable is exported, child shells will enable each option
+     in the list.  This variable is readonly.
 
 ‘SHLVL’
      Incremented by one each time a new instance of Bash is started.
@@ -6468,10 +6496,11 @@ single-character options to be recognized.
      shell.  This is on by default if the shell is invoked as ‘sh’.
 
 ‘--posix’
-     Change the behavior of Bash where the default operation differs
-     from the POSIX standard to match the standard.  This is intended to
-     make Bash behave as a strict superset of that standard.  *Note Bash
-     POSIX Mode::, for a description of the Bash POSIX mode.
+     Enable POSIX mode; change the behavior of Bash where the default
+     operation differs from the POSIX standard to match the standard.
+     This is intended to make Bash behave as a strict superset of that
+     standard.  *Note Bash POSIX Mode::, for a description of the Bash
+     POSIX mode.
 
 ‘--restricted’
      Equivalent to ‘-r’.  Make the shell a restricted shell (*note The
@@ -6542,23 +6571,25 @@ invocation which are not available with the ‘set’ builtin.
 ‘-’
      Equivalent to ‘--’.
 
-   A _login_ shell is one whose first character of argument zero is ‘-’,
+   A “login shell” is one whose first character of argument zero is ‘-’,
 or one invoked with the ‘--login’ option.
 
-   An _interactive_ shell is one started without non-option arguments,
+   An “interactive shell” is one started without non-option arguments,
 unless ‘-s’ is specified, without specifying the ‘-c’ option, and whose
-input and output (using the standard error) are both connected to
-terminals (as determined by ‘isatty(3)’), or one started with the ‘-i’
-option.  *Note Interactive Shells::, for more information.
+standard input and standard error are both connected to terminals (as
+determined by isatty(3)), or one started with the ‘-i’ option.  *Note
+Interactive Shells::, for more information.
 
    If arguments remain after option processing, and neither the ‘-c’ nor
-the ‘-s’ option has been supplied, the first argument is assumed to be
-the name of a file containing shell commands (*note Shell Scripts::).
-When Bash is invoked in this fashion, ‘$0’ is set to the name of the
-file, and the positional parameters are set to the remaining arguments.
-Bash reads and executes commands from this file, then exits.  Bash's
-exit status is the exit status of the last command executed in the
-script.  If no commands are executed, the exit status is 0.
+the ‘-s’ option has been supplied, the first argument is treated as the
+name of a file containing shell commands (*note Shell Scripts::).  When
+Bash is invoked in this fashion, ‘$0’ is set to the name of the file,
+and the positional parameters are set to the remaining arguments.  Bash
+reads and executes commands from this file, then exits.  Bash's exit
+status is the exit status of the last command executed in the script.
+If no commands are executed, the exit status is 0.  Bash first attempts
+to open the file in the current directory, and, if no file is found,
+searches the directories in ‘PATH’ for the script.
 
 \1f
 File: bash.info,  Node: Bash Startup Files,  Next: Interactive Shells,  Prev: Invoking Bash,  Up: Bash Features
@@ -7155,7 +7186,7 @@ to using the syntax
 
 The SUBSCRIPT is treated as an arithmetic expression that must evaluate
 to a number greater than or equal to zero.  To explicitly declare an
-array, use
+indexed array, use
      declare -a NAME
 (*note Bash Builtins::).  The syntax
      declare -a NAME[SUBSCRIPT]
@@ -7590,7 +7621,7 @@ editing commands were left out due to objections.
 Although Bash is an implementation of the POSIX shell specification,
 there are areas where the Bash default behavior differs from the
 specification.  The Bash “posix mode” changes the Bash behavior in these
-areas so that it conforms more closely to the standard.
+areas so that it conforms more strictly to the standard.
 
    Starting Bash with the ‘--posix’ command-line option or executing
 ‘set -o posix’ while Bash is running will cause Bash to conform more
@@ -7600,7 +7631,7 @@ specified by POSIX in areas where the Bash default differs.
    When invoked as ‘sh’, Bash enters POSIX mode after reading the
 startup files.
 
-   The following list is what's changed when 'POSIX mode' is in effect:
+   The following list is what's changed when POSIX mode is in effect:
 
   1. Bash ensures that the ‘POSIXLY_CORRECT’ variable is set.
 
@@ -7983,10 +8014,10 @@ required for bash-5.1 and later versions.
           collation sequence and strcoll(3).
 
 ‘compat41’
-        • In posix mode, ‘time’ may be followed by options and still be
+        • In POSIX mode, ‘time’ may be followed by options and still be
           recognized as a reserved word (this is POSIX interpretation
           267).
-        • In posix mode, the parser requires that an even number of
+        • In POSIX mode, the parser requires that an even number of
           single quotes occur in the WORD portion of a double-quoted
           ${...} parameter expansion and treats them specially, so that
           characters within the single quotes are considered quoted
@@ -7996,7 +8027,7 @@ required for bash-5.1 and later versions.
         • The replacement string in double-quoted pattern substitution
           does not undergo quote removal, as it does in versions after
           bash-4.2.
-        • In posix mode, single quotes are considered special when
+        • In POSIX mode, single quotes are considered special when
           expanding the WORD portion of a double-quoted ${...} parameter
           expansion and can be used to quote a closing brace or other
           special character (this is part of POSIX interpretation 221);
@@ -8005,7 +8036,7 @@ required for bash-5.1 and later versions.
 
 ‘compat43’
         • Word expansion errors are considered non-fatal errors that
-          cause the current command to fail, even in posix mode (the
+          cause the current command to fail, even in POSIX mode (the
           default behavior is to make them fatal errors that cause the
           shell to exit).
         • When executing a shell function, the loop state
@@ -8024,7 +8055,7 @@ required for bash-5.1 and later versions.
         • Variable assignments preceding builtins like ‘export’ and
           ‘readonly’ that set attributes continue to affect variables
           with the same name in the calling environment even if the
-          shell is not in posix mode.
+          shell is not in POSIX mode.
 
 ‘compat50 (set using BASH_COMPAT)’
         • Bash-5.1 changed the way ‘$RANDOM’ is generated to introduce
@@ -8947,9 +8978,9 @@ Variable Settings
           list.  If set to zero, any existing history entries are
           deleted and no new entries are saved.  If set to a value less
           than zero, the number of history entries is not limited.  By
-          default, Bash sets the the maximum number of history entries
-          to the value of the ‘HISTSIZE’ shell variable.  If you try to
-          set HISTORY-SIZE to a non-numeric value, the maximum number of
+          default, Bash sets the maximum number of history entries to
+          the value of the ‘HISTSIZE’ shell variable.  If you try to set
+          HISTORY-SIZE to a non-numeric value, the maximum number of
           history entries will be set to 500.
 
      ‘horizontal-scroll-mode’
@@ -9229,7 +9260,7 @@ Key Bindings
 
      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 function name.  Tthe backslash escapes described above are
+     be a function name.  The backslash escapes described above are
      expanded in the macro body.  Backslash will quote any other
      character in the macro text, including ‘"’ and ‘'’.  For example,
      the following binding will make ‘‘C-x’ \’ insert a single ‘\’ into
@@ -9336,7 +9367,7 @@ File: bash.info,  Node: Sample Init File,  Prev: Conditional Init Constructs,  U
 Here is an example of an INPUTRC file.  This illustrates key binding,
 variable assignment, and conditional syntax.
 
-     # This file controls the behaviour of line input editing for
+     # This file controls the behavior of line input editing for
      # programs that use the GNU Readline library.  Existing
      # programs include FTP, Bash, and GDB.
      #
@@ -10112,8 +10143,9 @@ File: bash.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bin
      Expand the line by performing shell word expansions.  This performs
      alias and history expansion, $'STRING' and $"STRING" quoting, tilde
      expansion, parameter and variable expansion, arithmetic expansion,
-     command and proces substitution, word splitting, and quote removal.
-     An explicit argument suppresses command and process substitution.
+     command and process substitution, word splitting, and quote
+     removal.  An explicit argument suppresses command and process
+     substitution.
 
 ‘history-expand-line (M-^)’
      Perform history expansion on the current line.
@@ -11781,7 +11813,7 @@ fix, you are encouraged to submit that as well!  Suggestions and
    • The version number of Bash.
    • The hardware and operating system.
    • The compiler used to compile Bash.
-   • A description of the bug behaviour.
+   • A description of the bug behavior.
    • A short script or 'recipe' which exercises the bug and may be used
      to reproduce it.
 
@@ -12780,26 +12812,26 @@ D.1 Index of Shell Builtin Commands
                                                               (line 179)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 231)
-* help:                                  Bash Builtins.       (line 374)
+* help:                                  Bash Builtins.       (line 375)
 * history:                               Bash History Builtins.
                                                               (line  59)
 * jobs:                                  Job Control Builtins.
                                                               (line  28)
 * kill:                                  Job Control Builtins.
                                                               (line  61)
-* let:                                   Bash Builtins.       (line 394)
-* local:                                 Bash Builtins.       (line 403)
-* logout:                                Bash Builtins.       (line 428)
-* mapfile:                               Bash Builtins.       (line 433)
+* let:                                   Bash Builtins.       (line 404)
+* local:                                 Bash Builtins.       (line 413)
+* logout:                                Bash Builtins.       (line 438)
+* mapfile:                               Bash Builtins.       (line 443)
 * popd:                                  Directory Stack Builtins.
                                                               (line  37)
-* printf:                                Bash Builtins.       (line 478)
+* printf:                                Bash Builtins.       (line 488)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  70)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 263)
-* read:                                  Bash Builtins.       (line 548)
-* readarray:                             Bash Builtins.       (line 659)
+* read:                                  Bash Builtins.       (line 558)
+* readarray:                             Bash Builtins.       (line 669)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 275)
 * return:                                Bourne Shell Builtins.
@@ -12808,7 +12840,7 @@ D.1 Index of Shell Builtin Commands
 * shift:                                 Bourne Shell Builtins.
                                                               (line 325)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 668)
+* source:                                Bash Builtins.       (line 678)
 * suspend:                               Job Control Builtins.
                                                               (line 139)
 * test:                                  Bourne Shell Builtins.
@@ -12819,12 +12851,12 @@ D.1 Index of Shell Builtin Commands
                                                               (line 444)
 * true:                                  Bourne Shell Builtins.
                                                               (line 510)
-* type:                                  Bash Builtins.       (line 673)
-* typeset:                               Bash Builtins.       (line 710)
-* ulimit:                                Bash Builtins.       (line 716)
+* type:                                  Bash Builtins.       (line 683)
+* typeset:                               Bash Builtins.       (line 720)
+* ulimit:                                Bash Builtins.       (line 726)
 * umask:                                 Bourne Shell Builtins.
                                                               (line 515)
-* unalias:                               Bash Builtins.       (line 824)
+* unalias:                               Bash Builtins.       (line 834)
 * unset:                                 Bourne Shell Builtins.
                                                               (line 533)
 * wait:                                  Job Control Builtins.
@@ -12999,55 +13031,55 @@ D.3 Parameter and Variable Index
 * GLOBSORT:                              Bash Variables.      (line 376)
 * GROUPS:                                Bash Variables.      (line 414)
 * histchars:                             Bash Variables.      (line 420)
-* HISTCMD:                               Bash Variables.      (line 435)
-* HISTCONTROL:                           Bash Variables.      (line 441)
-* HISTFILE:                              Bash Variables.      (line 459)
-* HISTFILESIZE:                          Bash Variables.      (line 465)
-* HISTIGNORE:                            Bash Variables.      (line 476)
+* HISTCMD:                               Bash Variables.      (line 436)
+* HISTCONTROL:                           Bash Variables.      (line 442)
+* HISTFILE:                              Bash Variables.      (line 460)
+* HISTFILESIZE:                          Bash Variables.      (line 466)
+* HISTIGNORE:                            Bash Variables.      (line 477)
 * history-preserve-point:                Readline Init File Syntax.
                                                               (line 234)
 * history-size:                          Readline Init File Syntax.
                                                               (line 240)
-* HISTSIZE:                              Bash Variables.      (line 500)
-* HISTTIMEFORMAT:                        Bash Variables.      (line 507)
+* HISTSIZE:                              Bash Variables.      (line 501)
+* HISTTIMEFORMAT:                        Bash Variables.      (line 508)
 * HOME:                                  Bourne Shell Variables.
                                                               (line  13)
 * horizontal-scroll-mode:                Readline Init File Syntax.
                                                               (line 250)
-* HOSTFILE:                              Bash Variables.      (line 516)
-* HOSTNAME:                              Bash Variables.      (line 527)
-* HOSTTYPE:                              Bash Variables.      (line 530)
+* HOSTFILE:                              Bash Variables.      (line 517)
+* HOSTNAME:                              Bash Variables.      (line 528)
+* HOSTTYPE:                              Bash Variables.      (line 531)
 * IFS:                                   Bourne Shell Variables.
                                                               (line  18)
-* IGNOREEOF:                             Bash Variables.      (line 533)
+* IGNOREEOF:                             Bash Variables.      (line 534)
 * input-meta:                            Readline Init File Syntax.
                                                               (line 258)
-* INPUTRC:                               Bash Variables.      (line 542)
-* INSIDE_EMACS:                          Bash Variables.      (line 546)
+* INPUTRC:                               Bash Variables.      (line 543)
+* INSIDE_EMACS:                          Bash Variables.      (line 547)
 * isearch-terminators:                   Readline Init File Syntax.
                                                               (line 269)
 * keymap:                                Readline Init File Syntax.
                                                               (line 276)
 * LANG:                                  Creating Internationalized Scripts.
                                                               (line  51)
-* LANG <1>:                              Bash Variables.      (line 552)
-* LC_ALL:                                Bash Variables.      (line 556)
-* LC_COLLATE:                            Bash Variables.      (line 560)
-* LC_CTYPE:                              Bash Variables.      (line 567)
+* LANG <1>:                              Bash Variables.      (line 553)
+* LC_ALL:                                Bash Variables.      (line 557)
+* LC_COLLATE:                            Bash Variables.      (line 561)
+* LC_CTYPE:                              Bash Variables.      (line 568)
 * LC_MESSAGES:                           Creating Internationalized Scripts.
                                                               (line  51)
-* LC_MESSAGES <1>:                       Bash Variables.      (line 572)
-* LC_NUMERIC:                            Bash Variables.      (line 576)
-* LC_TIME:                               Bash Variables.      (line 580)
-* LINENO:                                Bash Variables.      (line 584)
-* LINES:                                 Bash Variables.      (line 591)
-* MACHTYPE:                              Bash Variables.      (line 597)
+* LC_MESSAGES <1>:                       Bash Variables.      (line 573)
+* LC_NUMERIC:                            Bash Variables.      (line 577)
+* LC_TIME:                               Bash Variables.      (line 581)
+* LINENO:                                Bash Variables.      (line 585)
+* LINES:                                 Bash Variables.      (line 592)
+* MACHTYPE:                              Bash Variables.      (line 598)
 * MAIL:                                  Bourne Shell Variables.
                                                               (line  24)
-* MAILCHECK:                             Bash Variables.      (line 601)
+* MAILCHECK:                             Bash Variables.      (line 602)
 * MAILPATH:                              Bourne Shell Variables.
                                                               (line  29)
-* MAPFILE:                               Bash Variables.      (line 609)
+* MAPFILE:                               Bash Variables.      (line 610)
 * mark-modified-lines:                   Readline Init File Syntax.
                                                               (line 306)
 * mark-symlinked-directories:            Readline Init File Syntax.
@@ -13058,46 +13090,46 @@ D.3 Parameter and Variable Index
                                                               (line 323)
 * meta-flag:                             Readline Init File Syntax.
                                                               (line 258)
-* OLDPWD:                                Bash Variables.      (line 613)
+* OLDPWD:                                Bash Variables.      (line 614)
 * OPTARG:                                Bourne Shell Variables.
                                                               (line  36)
-* OPTERR:                                Bash Variables.      (line 616)
+* OPTERR:                                Bash Variables.      (line 617)
 * OPTIND:                                Bourne Shell Variables.
                                                               (line  40)
-* OSTYPE:                                Bash Variables.      (line 621)
+* OSTYPE:                                Bash Variables.      (line 622)
 * output-meta:                           Readline Init File Syntax.
                                                               (line 328)
 * page-completions:                      Readline Init File Syntax.
                                                               (line 337)
 * PATH:                                  Bourne Shell Variables.
                                                               (line  44)
-* PIPESTATUS:                            Bash Variables.      (line 624)
-* POSIXLY_CORRECT:                       Bash Variables.      (line 634)
-* PPID:                                  Bash Variables.      (line 644)
-* PROMPT_COMMAND:                        Bash Variables.      (line 648)
-* PROMPT_DIRTRIM:                        Bash Variables.      (line 654)
-* PS0:                                   Bash Variables.      (line 660)
+* PIPESTATUS:                            Bash Variables.      (line 625)
+* POSIXLY_CORRECT:                       Bash Variables.      (line 635)
+* PPID:                                  Bash Variables.      (line 645)
+* PROMPT_COMMAND:                        Bash Variables.      (line 649)
+* PROMPT_DIRTRIM:                        Bash Variables.      (line 655)
+* PS0:                                   Bash Variables.      (line 661)
 * PS1:                                   Bourne Shell Variables.
                                                               (line  53)
 * PS2:                                   Bourne Shell Variables.
                                                               (line  58)
-* PS3:                                   Bash Variables.      (line 665)
-* PS4:                                   Bash Variables.      (line 670)
-* PWD:                                   Bash Variables.      (line 678)
-* RANDOM:                                Bash Variables.      (line 681)
-* READLINE_ARGUMENT:                     Bash Variables.      (line 689)
-* READLINE_LINE:                         Bash Variables.      (line 693)
-* READLINE_MARK:                         Bash Variables.      (line 697)
-* READLINE_POINT:                        Bash Variables.      (line 703)
-* REPLY:                                 Bash Variables.      (line 707)
+* PS3:                                   Bash Variables.      (line 666)
+* PS4:                                   Bash Variables.      (line 671)
+* PWD:                                   Bash Variables.      (line 679)
+* RANDOM:                                Bash Variables.      (line 682)
+* READLINE_ARGUMENT:                     Bash Variables.      (line 690)
+* READLINE_LINE:                         Bash Variables.      (line 694)
+* READLINE_MARK:                         Bash Variables.      (line 698)
+* READLINE_POINT:                        Bash Variables.      (line 704)
+* REPLY:                                 Bash Variables.      (line 708)
 * revert-all-at-newline:                 Readline Init File Syntax.
                                                               (line 350)
 * search-ignore-case:                    Readline Init File Syntax.
                                                               (line 357)
-* SECONDS:                               Bash Variables.      (line 711)
-* SHELL:                                 Bash Variables.      (line 721)
-* SHELLOPTS:                             Bash Variables.      (line 726)
-* SHLVL:                                 Bash Variables.      (line 735)
+* SECONDS:                               Bash Variables.      (line 712)
+* SHELL:                                 Bash Variables.      (line 722)
+* SHELLOPTS:                             Bash Variables.      (line 727)
+* SHLVL:                                 Bash Variables.      (line 737)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
                                                               (line 362)
 * show-all-if-unmodified:                Readline Init File Syntax.
@@ -13106,15 +13138,15 @@ D.3 Parameter and Variable Index
                                                               (line 377)
 * skip-completed-text:                   Readline Init File Syntax.
                                                               (line 383)
-* SRANDOM:                               Bash Variables.      (line 740)
+* SRANDOM:                               Bash Variables.      (line 742)
 * TEXTDOMAIN:                            Creating Internationalized Scripts.
                                                               (line  51)
 * TEXTDOMAINDIR:                         Creating Internationalized Scripts.
                                                               (line  51)
-* TIMEFORMAT:                            Bash Variables.      (line 749)
-* TMOUT:                                 Bash Variables.      (line 788)
-* TMPDIR:                                Bash Variables.      (line 800)
-* UID:                                   Bash Variables.      (line 804)
+* TIMEFORMAT:                            Bash Variables.      (line 751)
+* TMOUT:                                 Bash Variables.      (line 790)
+* TMPDIR:                                Bash Variables.      (line 802)
+* UID:                                   Bash Variables.      (line 806)
 * vi-cmd-mode-string:                    Readline Init File Syntax.
                                                               (line 396)
 * vi-ins-mode-string:                    Readline Init File Syntax.
@@ -13136,7 +13168,7 @@ D.4 Function Index
 * accept-line (Newline or Return):       Commands For History.
                                                               (line   6)
 * alias-expand-line ():                  Miscellaneous Commands.
-                                                              (line 133)
+                                                              (line 134)
 * backward-char (C-b):                   Commands For Moving. (line  18)
 * backward-delete-char (Rubout):         Commands For Text.   (line  18)
 * backward-kill-line (C-x Rubout):       Commands For Killing.
@@ -13185,7 +13217,7 @@ D.4 Function Index
                                                               (line  50)
 * digit-argument (M-0, M-1, ... M--):    Numeric Arguments.   (line   6)
 * display-shell-version (C-x C-v):       Miscellaneous Commands.
-                                                              (line 147)
+                                                              (line 148)
 * do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
                                                               (line  14)
 * downcase-word (M-l):                   Commands For Text.   (line  69)
@@ -13198,7 +13230,7 @@ D.4 Function Index
 * dynamic-complete-history (M-<TAB>):    Commands For Completion.
                                                               (line 115)
 * edit-and-execute-command (C-x C-e):    Miscellaneous Commands.
-                                                              (line 142)
+                                                              (line 143)
 * end-kbd-macro (C-x )):                 Keyboard Macros.     (line   9)
 * end-of-file (usually C-d):             Commands For Text.   (line   6)
 * end-of-history (M->):                  Commands For History.
@@ -13224,9 +13256,9 @@ D.4 Function Index
 * glob-list-expansions (C-x g):          Miscellaneous Commands.
                                                               (line 114)
 * history-and-alias-expand-line ():      Miscellaneous Commands.
-                                                              (line 136)
+                                                              (line 137)
 * history-expand-line (M-^):             Miscellaneous Commands.
-                                                              (line 126)
+                                                              (line 127)
 * history-search-backward ():            Commands For History.
                                                               (line  53)
 * history-search-forward ():             Commands For History.
@@ -13240,7 +13272,7 @@ D.4 Function Index
 * insert-completions (M-*):              Commands For Completion.
                                                               (line  24)
 * insert-last-argument (M-. or M-_):     Miscellaneous Commands.
-                                                              (line 139)
+                                                              (line 140)
 * kill-line (C-k):                       Commands For Killing.
                                                               (line   6)
 * kill-region ():                        Commands For Killing.
@@ -13250,7 +13282,7 @@ D.4 Function Index
 * kill-word (M-d):                       Commands For Killing.
                                                               (line  23)
 * magic-space ():                        Miscellaneous Commands.
-                                                              (line 129)
+                                                              (line 130)
 * menu-complete ():                      Commands For Completion.
                                                               (line  28)
 * menu-complete-backward ():             Commands For Completion.
@@ -13430,7 +13462,7 @@ D.5 Concept Index
 * installation:                          Basic Installation.  (line   6)
 * interaction, readline:                 Readline Interaction.
                                                               (line   6)
-* interactive shell:                     Invoking Bash.       (line 136)
+* interactive shell:                     Invoking Bash.       (line 137)
 * interactive shell <1>:                 Interactive Shells.  (line   6)
 * internationalization:                  Locale Translation.  (line   6)
 * internationalized scripts:             Creating Internationalized Scripts.
@@ -13443,7 +13475,7 @@ D.5 Concept Index
 * killing text:                          Readline Killing Commands.
                                                               (line   6)
 * localization:                          Locale Translation.  (line   6)
-* login shell:                           Invoking Bash.       (line 133)
+* login shell:                           Invoking Bash.       (line 134)
 * matching, pattern:                     Pattern Matching.    (line   6)
 * metacharacter:                         Definitions.         (line  50)
 * name:                                  Definitions.         (line  55)
@@ -13509,138 +13541,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f901
-Node: Introduction\7f2842
-Node: What is Bash?\7f3055
-Node: What is a shell?\7f4188
-Node: Definitions\7f6798
-Node: Basic Shell Features\7f10125
-Node: Shell Syntax\7f11349
-Node: Shell Operation\7f12376
-Node: Quoting\7f13667
-Node: Escape Character\7f15005
-Node: Single Quotes\7f15540
-Node: Double Quotes\7f15889
-Node: ANSI-C Quoting\7f17234
-Node: Locale Translation\7f18628
-Node: Creating Internationalized Scripts\7f20031
-Node: Comments\7f24229
-Node: Shell Commands\7f24996
-Node: Reserved Words\7f25935
-Node: Simple Commands\7f26800
-Node: Pipelines\7f27462
-Node: Lists\7f30718
-Node: Compound Commands\7f32590
-Node: Looping Constructs\7f33599
-Node: Conditional Constructs\7f36118
-Node: Command Grouping\7f51054
-Node: Coprocesses\7f52546
-Node: GNU Parallel\7f55232
-Node: Shell Functions\7f56150
-Node: Shell Parameters\7f64602
-Node: Positional Parameters\7f69327
-Node: Special Parameters\7f70417
-Node: Shell Expansions\7f73878
-Node: Brace Expansion\7f76067
-Node: Tilde Expansion\7f78768
-Node: Shell Parameter Expansion\7f81723
-Node: Command Substitution\7f101483
-Node: Arithmetic Expansion\7f105012
-Node: Process Substitution\7f106025
-Node: Word Splitting\7f107133
-Node: Filename Expansion\7f109577
-Node: Pattern Matching\7f112840
-Node: Quote Removal\7f118563
-Node: Redirections\7f118867
-Node: Executing Commands\7f129095
-Node: Simple Command Expansion\7f129762
-Node: Command Search and Execution\7f131870
-Node: Command Execution Environment\7f134314
-Node: Environment\7f137762
-Node: Exit Status\7f139665
-Node: Signals\7f141723
-Node: Shell Scripts\7f146652
-Node: Shell Builtin Commands\7f149950
-Node: Bourne Shell Builtins\7f152061
-Node: Bash Builtins\7f178626
-Node: Modifying Shell Behavior\7f215074
-Node: The Set Builtin\7f215416
-Node: The Shopt Builtin\7f227370
-Node: Special Builtins\7f244422
-Node: Shell Variables\7f245411
-Node: Bourne Shell Variables\7f245845
-Node: Bash Variables\7f248353
-Node: Bash Features\7f287048
-Node: Invoking Bash\7f288062
-Node: Bash Startup Files\7f294488
-Node: Interactive Shells\7f299730
-Node: What is an Interactive Shell?\7f300138
-Node: Is this Shell Interactive?\7f300800
-Node: Interactive Shell Behavior\7f301624
-Node: Bash Conditional Expressions\7f305385
-Node: Shell Arithmetic\7f310596
-Node: Aliases\7f313925
-Node: Arrays\7f317059
-Node: The Directory Stack\7f324143
-Node: Directory Stack Builtins\7f324940
-Node: Controlling the Prompt\7f329385
-Node: The Restricted Shell\7f332270
-Node: Bash POSIX Mode\7f335152
-Node: Shell Compatibility Mode\7f353214
-Node: Job Control\7f362221
-Node: Job Control Basics\7f362678
-Node: Job Control Builtins\7f368956
-Node: Job Control Variables\7f375638
-Node: Command Line Editing\7f376869
-Node: Introduction and Notation\7f378572
-Node: Readline Interaction\7f380924
-Node: Readline Bare Essentials\7f382112
-Node: Readline Movement Commands\7f383920
-Node: Readline Killing Commands\7f384916
-Node: Readline Arguments\7f386939
-Node: Searching\7f387996
-Node: Readline Init File\7f390239
-Node: Readline Init File Syntax\7f391542
-Node: Conditional Init Constructs\7f418372
-Node: Sample Init File\7f422757
-Node: Bindable Readline Commands\7f425878
-Node: Commands For Moving\7f427416
-Node: Commands For History\7f429784
-Node: Commands For Text\7f435174
-Node: Commands For Killing\7f439299
-Node: Numeric Arguments\7f442087
-Node: Commands For Completion\7f443239
-Node: Keyboard Macros\7f448935
-Node: Miscellaneous Commands\7f449636
-Node: Readline vi Mode\7f456196
-Node: Programmable Completion\7f457173
-Node: Programmable Completion Builtins\7f465910
-Node: A Programmable Completion Example\7f477647
-Node: Using History Interactively\7f482992
-Node: Bash History Facilities\7f483673
-Node: Bash History Builtins\7f487408
-Node: History Interaction\7f493879
-Node: Event Designators\7f498829
-Node: Word Designators\7f500407
-Node: Modifiers\7f502711
-Node: Installing Bash\7f504648
-Node: Basic Installation\7f505764
-Node: Compilers and Options\7f509640
-Node: Compiling For Multiple Architectures\7f510390
-Node: Installation Names\7f512143
-Node: Specifying the System Type\7f514377
-Node: Sharing Defaults\7f515123
-Node: Operation Controls\7f515837
-Node: Optional Features\7f516856
-Node: Reporting Bugs\7f529236
-Node: Major Differences From The Bourne Shell\7f530594
-Node: GNU Free Documentation License\7f552014
-Node: Indexes\7f577191
-Node: Builtin Index\7f577642
-Node: Reserved Word Index\7f584740
-Node: Variable Index\7f587185
-Node: Function Index\7f604598
-Node: Concept Index\7f618593
+Node: Top\7f897
+Node: Introduction\7f2834
+Node: What is Bash?\7f3047
+Node: What is a shell?\7f4180
+Node: Definitions\7f6790
+Node: Basic Shell Features\7f10117
+Node: Shell Syntax\7f11341
+Node: Shell Operation\7f12368
+Node: Quoting\7f13659
+Node: Escape Character\7f14997
+Node: Single Quotes\7f15532
+Node: Double Quotes\7f15881
+Node: ANSI-C Quoting\7f17226
+Node: Locale Translation\7f18620
+Node: Creating Internationalized Scripts\7f20023
+Node: Comments\7f24221
+Node: Shell Commands\7f24988
+Node: Reserved Words\7f25927
+Node: Simple Commands\7f26792
+Node: Pipelines\7f27454
+Node: Lists\7f30710
+Node: Compound Commands\7f32582
+Node: Looping Constructs\7f33591
+Node: Conditional Constructs\7f36110
+Node: Command Grouping\7f51046
+Node: Coprocesses\7f52538
+Node: GNU Parallel\7f55224
+Node: Shell Functions\7f56142
+Node: Shell Parameters\7f64590
+Node: Positional Parameters\7f69492
+Node: Special Parameters\7f70582
+Node: Shell Expansions\7f74043
+Node: Brace Expansion\7f76232
+Node: Tilde Expansion\7f79578
+Node: Shell Parameter Expansion\7f82533
+Node: Command Substitution\7f102293
+Node: Arithmetic Expansion\7f105822
+Node: Process Substitution\7f106836
+Node: Word Splitting\7f107944
+Node: Filename Expansion\7f110388
+Node: Pattern Matching\7f113612
+Node: Quote Removal\7f119335
+Node: Redirections\7f119639
+Node: Executing Commands\7f129902
+Node: Simple Command Expansion\7f130569
+Node: Command Search and Execution\7f132677
+Node: Command Execution Environment\7f135121
+Node: Environment\7f138569
+Node: Exit Status\7f140472
+Node: Signals\7f142530
+Node: Shell Scripts\7f147459
+Node: Shell Builtin Commands\7f150757
+Node: Bourne Shell Builtins\7f152868
+Node: Bash Builtins\7f179432
+Node: Modifying Shell Behavior\7f216356
+Node: The Set Builtin\7f216698
+Node: The Shopt Builtin\7f228686
+Node: Special Builtins\7f245738
+Node: Shell Variables\7f246727
+Node: Bourne Shell Variables\7f247161
+Node: Bash Variables\7f249669
+Node: Bash Features\7f288488
+Node: Invoking Bash\7f289502
+Node: Bash Startup Files\7f296086
+Node: Interactive Shells\7f301328
+Node: What is an Interactive Shell?\7f301736
+Node: Is this Shell Interactive?\7f302398
+Node: Interactive Shell Behavior\7f303222
+Node: Bash Conditional Expressions\7f306983
+Node: Shell Arithmetic\7f312194
+Node: Aliases\7f315523
+Node: Arrays\7f318657
+Node: The Directory Stack\7f325749
+Node: Directory Stack Builtins\7f326546
+Node: Controlling the Prompt\7f330991
+Node: The Restricted Shell\7f333876
+Node: Bash POSIX Mode\7f336758
+Node: Shell Compatibility Mode\7f354819
+Node: Job Control\7f363826
+Node: Job Control Basics\7f364283
+Node: Job Control Builtins\7f370561
+Node: Job Control Variables\7f377243
+Node: Command Line Editing\7f378474
+Node: Introduction and Notation\7f380177
+Node: Readline Interaction\7f382529
+Node: Readline Bare Essentials\7f383717
+Node: Readline Movement Commands\7f385525
+Node: Readline Killing Commands\7f386521
+Node: Readline Arguments\7f388544
+Node: Searching\7f389601
+Node: Readline Init File\7f391844
+Node: Readline Init File Syntax\7f393147
+Node: Conditional Init Constructs\7f419972
+Node: Sample Init File\7f424357
+Node: Bindable Readline Commands\7f427477
+Node: Commands For Moving\7f429015
+Node: Commands For History\7f431383
+Node: Commands For Text\7f436773
+Node: Commands For Killing\7f440898
+Node: Numeric Arguments\7f443686
+Node: Commands For Completion\7f444838
+Node: Keyboard Macros\7f450534
+Node: Miscellaneous Commands\7f451235
+Node: Readline vi Mode\7f457802
+Node: Programmable Completion\7f458779
+Node: Programmable Completion Builtins\7f467516
+Node: A Programmable Completion Example\7f479253
+Node: Using History Interactively\7f484598
+Node: Bash History Facilities\7f485279
+Node: Bash History Builtins\7f489014
+Node: History Interaction\7f495485
+Node: Event Designators\7f500435
+Node: Word Designators\7f502013
+Node: Modifiers\7f504317
+Node: Installing Bash\7f506254
+Node: Basic Installation\7f507370
+Node: Compilers and Options\7f511246
+Node: Compiling For Multiple Architectures\7f511996
+Node: Installation Names\7f513749
+Node: Specifying the System Type\7f515983
+Node: Sharing Defaults\7f516729
+Node: Operation Controls\7f517443
+Node: Optional Features\7f518462
+Node: Reporting Bugs\7f530842
+Node: Major Differences From The Bourne Shell\7f532199
+Node: GNU Free Documentation License\7f553619
+Node: Indexes\7f578796
+Node: Builtin Index\7f579247
+Node: Reserved Word Index\7f586345
+Node: Variable Index\7f588790
+Node: Function Index\7f606203
+Node: Concept Index\7f620198
 \1f
 End Tag Table
 
index 281e433f5eabf45e539ae5c4cfea128f96c9a323..565f728df02b8415c4dae98df73c995579a8c6c8 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index 5857a2f5f1c9b64e408d144ff7bf0fcf874cacaa..46edb33b03371f7003a5be14c1dd63185ffc6055 100644 (file)
 @xrdef{Process Substitution-title}{Process Substitution}
 @xrdef{Process Substitution-snt}{Section@tie 3.5.6}
 @xrdef{Arithmetic Expansion-pg}{36}
-@xrdef{Process Substitution-pg}{36}
 @xrdef{Word Splitting-title}{Word Splitting}
 @xrdef{Word Splitting-snt}{Section@tie 3.5.7}
+@xrdef{Process Substitution-pg}{37}
+@xrdef{Word Splitting-pg}{37}
 @xrdef{Filename Expansion-title}{Filename Expansion}
 @xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
-@xrdef{Word Splitting-pg}{37}
-@xrdef{Filename Expansion-pg}{37}
 @xrdef{Pattern Matching-title}{Pattern Matching}
 @xrdef{Pattern Matching-snt}{Section@tie 3.5.8.1}
+@xrdef{Filename Expansion-pg}{38}
 @xrdef{Pattern Matching-pg}{38}
 @xrdef{Quote Removal-title}{Quote Removal}
 @xrdef{Quote Removal-snt}{Section@tie 3.5.9}
 @xrdef{Command Execution Environment-pg}{45}
 @xrdef{Environment-title}{Environment}
 @xrdef{Environment-snt}{Section@tie 3.7.4}
-@xrdef{Environment-pg}{46}
 @xrdef{Exit Status-title}{Exit Status}
 @xrdef{Exit Status-snt}{Section@tie 3.7.5}
+@xrdef{Environment-pg}{47}
 @xrdef{Exit Status-pg}{47}
 @xrdef{Signals-title}{Signals}
 @xrdef{Signals-snt}{Section@tie 3.7.6}
 @xrdef{The Set Builtin-title}{The Set Builtin}
 @xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
 @xrdef{Modifying Shell Behavior-pg}{72}
-@xrdef{The Set Builtin-pg}{72}
+@xrdef{The Set Builtin-pg}{73}
 @xrdef{The Shopt Builtin-title}{The Shopt Builtin}
 @xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
 @xrdef{The Shopt Builtin-pg}{77}
 @xrdef{Special Builtins-title}{Special Builtins}
 @xrdef{Special Builtins-snt}{Section@tie 4.4}
-@xrdef{Special Builtins-pg}{83}
+@xrdef{Special Builtins-pg}{84}
 @xrdef{Shell Variables-title}{Shell Variables}
 @xrdef{Shell Variables-snt}{Chapter@tie 5}
 @xrdef{Bourne Shell Variables-title}{Bourne Shell Variables}
index 2914698d87b713955d2ba16ad68aa90a33cb99b0..14cc5184f01e69047ce50adbf7fece1c1d43a27e 100644 (file)
@@ -32,7 +32,7 @@
 \entry{help}{66}{\code {help}}
 \entry{let}{66}{\code {let}}
 \entry{local}{66}{\code {local}}
-\entry{logout}{66}{\code {logout}}
+\entry{logout}{67}{\code {logout}}
 \entry{mapfile}{67}{\code {mapfile}}
 \entry{printf}{67}{\code {printf}}
 \entry{read}{68}{\code {read}}
@@ -42,7 +42,7 @@
 \entry{typeset}{71}{\code {typeset}}
 \entry{ulimit}{71}{\code {ulimit}}
 \entry{unalias}{72}{\code {unalias}}
-\entry{set}{72}{\code {set}}
+\entry{set}{73}{\code {set}}
 \entry{shopt}{77}{\code {shopt}}
 \entry{dirs}{111}{\code {dirs}}
 \entry{popd}{111}{\code {popd}}
index 1a0c60a340e8a4cf8f9b70f1ae2a9dee26836a9d..614e4a895998d201cb39bff108c290a11402d127 100644 (file)
@@ -47,7 +47,7 @@
 \initial {L}
 \entry{\code {let}}{66}
 \entry{\code {local}}{66}
-\entry{\code {logout}}{66}
+\entry{\code {logout}}{67}
 \initial {M}
 \entry{\code {mapfile}}{67}
 \initial {P}
@@ -61,7 +61,7 @@
 \entry{\code {readonly}}{55}
 \entry{\code {return}}{56}
 \initial {S}
-\entry{\code {set}}{72}
+\entry{\code {set}}{73}
 \entry{\code {shift}}{56}
 \entry{\code {shopt}}{77}
 \entry{\code {source}}{70}
index c3e418a9fe22741adf4c11f7be3497afa385c613..3810ef0a0db99ecac37e7c6bfb1a00c334497823 100644 (file)
 \entry{command substitution}{35}{command substitution}
 \entry{expansion, arithmetic}{36}{expansion, arithmetic}
 \entry{arithmetic expansion}{36}{arithmetic expansion}
-\entry{process substitution}{36}{process substitution}
+\entry{process substitution}{37}{process substitution}
 \entry{word splitting}{37}{word splitting}
-\entry{expansion, filename}{37}{expansion, filename}
-\entry{expansion, pathname}{37}{expansion, pathname}
-\entry{filename expansion}{37}{filename expansion}
-\entry{pathname expansion}{37}{pathname expansion}
+\entry{expansion, filename}{38}{expansion, filename}
+\entry{expansion, pathname}{38}{expansion, pathname}
+\entry{filename expansion}{38}{filename expansion}
+\entry{pathname expansion}{38}{pathname expansion}
 \entry{pattern matching}{38}{pattern matching}
 \entry{matching, pattern}{38}{matching, pattern}
 \entry{redirection}{40}{redirection}
 \entry{command execution}{45}{command execution}
 \entry{command search}{45}{command search}
 \entry{execution environment}{45}{execution environment}
-\entry{environment}{46}{environment}
+\entry{environment}{47}{environment}
 \entry{exit status}{47}{exit status}
 \entry{signal handling}{48}{signal handling}
 \entry{shell script}{49}{shell script}
-\entry{special builtin}{83}{special builtin}
+\entry{special builtin}{84}{special builtin}
 \entry{login shell}{101}{login shell}
 \entry{interactive shell}{101}{interactive shell}
 \entry{startup files}{101}{startup files}
index 3c8f46ebc772a40d2b6fb54137e5ee99d5702ca5..1739914e49c86dfe55e6656e2c045ba4ff2a0f38 100644 (file)
@@ -43,7 +43,7 @@
 \entry{dollar-single quote quoting}{6}
 \initial {E}
 \entry{editing command lines}{129}
-\entry{environment}{46}
+\entry{environment}{47}
 \entry{evaluation, arithmetic}{106}
 \entry{event designators}{170}
 \entry{execution environment}{45}
 \entry{expansion}{24}
 \entry{expansion, arithmetic}{36}
 \entry{expansion, brace}{25}
-\entry{expansion, filename}{37}
+\entry{expansion, filename}{38}
 \entry{expansion, parameter}{27}
-\entry{expansion, pathname}{37}
+\entry{expansion, pathname}{38}
 \entry{expansion, tilde}{26}
 \entry{expressions, arithmetic}{106}
 \entry{expressions, conditional}{104}
 \initial {F}
 \entry{field}{3}
 \entry{filename}{3}
-\entry{filename expansion}{37}
+\entry{filename expansion}{38}
 \entry{foreground}{123}
 \entry{functions, shell}{19}
 \initial {H}
 \entry{parameters}{22}
 \entry{parameters, positional}{23}
 \entry{parameters, special}{23}
-\entry{pathname expansion}{37}
+\entry{pathname expansion}{38}
 \entry{pattern matching}{38}
 \entry{pipeline}{10}
 \entry{POSIX}{3}
 \entry{POSIX Mode}{115}
 \entry{process group}{3}
 \entry{process group ID}{3}
-\entry{process substitution}{36}
+\entry{process substitution}{37}
 \entry{programmable completion}{156}
 \entry{prompting}{112}
 \initial {Q}
 \entry{shell, interactive}{103}
 \entry{signal}{4}
 \entry{signal handling}{48}
-\entry{special builtin}{4, 83}
+\entry{special builtin}{4, 84}
 \entry{startup files}{101}
 \entry{string translations}{8}
 \entry{suspending jobs}{123}
index f846ef0b497677bff657d56a68594bcdab638af5..3a6275713f1562fa2a5245587fc06f53ed372452 100644 (file)
@@ -4,13 +4,13 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 12 December 2024).
+the Bash shell (version 5.3, 8 January 2025).
 
-This is Edition 5.3, last updated 12 December 2024,
+This is Edition 5.3, last updated 8 January 2025,
 of The GNU Bash Reference Manual,
 for Bash, Version 5.3.
 
-Copyright © 1988-2024 Free Software Foundation, Inc.
+Copyright © 1988-2025 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
 <h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> &para;</a></span></h1>
 
 <p>This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 12 December 2024).
+the Bash shell (version 5.3, 8 January 2025).
 The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
 </p>
-<p>This is Edition 5.3, last updated 12 December 2024,
+<p>This is Edition 5.3, last updated 8 January 2025,
 of <cite class="cite">The GNU Bash Reference Manual</cite>,
 for <code class="code">Bash</code>, Version 5.3.
 </p>
@@ -2072,7 +2072,7 @@ until it is reset in that scope or until the function returns.
 Once the function returns, any instance of the variable at a previous
 scope becomes visible.
 If the unset acts on a variable at a previous scope, any instance of a
-variable with that name that had been shadowed will become visible
+variable with that name that had been shadowed becomes visible
 (see below how the <code class="code">localvar_unset</code> shell option changes this behavior).
 </p>
 <p>The <samp class="option">-f</samp> option to the <code class="code">declare</code> (<code class="code">typeset</code>)
@@ -2150,23 +2150,26 @@ For example,
 </pre></div>
 
 <p>In the context where an assignment statement is assigning a value  
-to a shell variable or array index (see <a class="pxref" href="#Arrays">Arrays</a>),
-the &lsquo;<samp class="samp">+=</samp>&rsquo; operator appends to or adds to
+to a shell variable or array index (see <a class="pxref" href="#Arrays">Arrays</a>), the
+&lsquo;<samp class="samp">+=</samp>&rsquo; operator appends to or adds to
 the variable&rsquo;s previous value.
 This includes arguments to declaration commands such as
-<code class="code">declare</code> that accept assignment statements.
-When &lsquo;<samp class="samp">+=</samp>&rsquo; is applied to a variable
-for which the <code class="code">integer</code> attribute has been set,
+<code class="code">declare</code>
+that accept assignment statements.
+When &lsquo;<samp class="samp">+=</samp>&rsquo;
+is applied to a variable for which the
+<code class="code">integer</code> attribute has been set,
 the variable&rsquo;s current value and <var class="var">value</var> are each evaluated as
 arithmetic expressions,
 and the sum of the results is assigned as the variable&rsquo;s value.
 The current value is usually an integer constant, but may be an expression.
-When &lsquo;<samp class="samp">+=</samp>&rsquo; is applied to an array variable using compound assignment
-(see <a class="pxref" href="#Arrays">Arrays</a>), the
-variable&rsquo;s value is not unset (as it is when using &lsquo;<samp class="samp">=</samp>&rsquo;), and new
-values are appended to the array beginning at one greater than the array&rsquo;s
-maximum index (for indexed arrays), or added as additional key-value pairs
-in an associative array.
+When &lsquo;<samp class="samp">+=</samp>&rsquo;
+is applied to an array variable using compound assignment (see <a class="pxref" href="#Arrays">Arrays</a>),
+the variable&rsquo;s value is not unset
+(as it is when using &lsquo;<samp class="samp">=</samp>&rsquo;),
+and new values are appended to the array
+beginning at one greater than the array&rsquo;s maximum index (for indexed arrays),
+or added as additional key-value pairs in an associative array.
 When applied to a string-valued variable, <var class="var">value</var> is expanded and
 appended to the variable&rsquo;s value.
 </p>
@@ -2205,6 +2208,10 @@ Namerefs can be unset using the <samp class="option">-n</samp> option to the <co
 Otherwise, if <code class="code">unset</code> is executed with the name of a nameref variable
 as an argument, the variable referenced by the nameref variable is unset.
 </p>
+<p>When the shell starts, it reads its environment and creates a shell
+variable from each environment variable that has a valid name,
+as described below (see <a class="pxref" href="#Environment">Environment</a>).
+</p>
 <ul class="mini-toc">
 <li><a href="#Positional-Parameters" accesskey="1">Positional Parameters</a></li>
 <li><a href="#Special-Parameters" accesskey="2">Special Parameters</a></li>
@@ -2425,12 +2432,13 @@ This mechanism is similar to
 <em class="dfn">filename expansion</em> (see <a class="pxref" href="#Filename-Expansion">Filename Expansion</a>),
 but the filenames generated need not exist.
 Patterns to be brace expanded are formed from an optional <var class="var">preamble</var>,
-followed by either a series of comma-separated strings or a sequence expression
-between a pair of braces,
-followed by an optional <var class="var">postscript</var>.
-The preamble is prefixed to each string contained within the braces, and
-the postscript is then appended to each resulting string, expanding left
-to right.
+followed by either a series of comma-separated strings or
+a sequence expression between a pair of braces,
+followed by an optional
+<var class="var">postscript</var>.
+The preamble is prefixed to each string contained within the braces,
+and the postscript is then appended to each resulting string,
+expanding left to right.
 </p>
 <p>Brace expansions may be nested.
 The results of each expanded string are not sorted;
@@ -2441,7 +2449,8 @@ For example,
 ade ace abe
 </pre></div>
 
-<p>A sequence expression takes the form <code class="code">{<var class="var">x</var>..<var class="var">y</var>[..<var class="var">incr</var>]}</code>,
+<p>A sequence expression takes the form
+<code class="code">{<var class="var">x</var>..<var class="var">y</var>[..<var class="var">incr</var>]}</code>,
 where <var class="var">x</var> and <var class="var">y</var> are either integers or letters,
 and <var class="var">incr</var>, an optional increment, is an integer.
 When integers are supplied, the expression expands to each number between
@@ -2470,11 +2479,13 @@ and closing braces, and at least one unquoted comma or a valid
 sequence expression.
 Any incorrectly formed brace expansion is left unchanged.
 </p>
-<p>A { or &lsquo;<samp class="samp">,</samp>&rsquo; may be quoted with a backslash to prevent its
+<p>A &lsquo;<samp class="samp">{</samp>&rsquo; or &lsquo;<samp class="samp">,</samp>&rsquo;
+may be quoted with a backslash to prevent its
 being considered part of a brace expression.
 To avoid conflicts with parameter expansion, the string &lsquo;<samp class="samp">${</samp>&rsquo;
 is not considered eligible for brace expansion,
-and inhibits brace expansion until the closing &lsquo;<samp class="samp">}</samp>&rsquo;.
+and inhibits brace expansion until the closing
+&lsquo;<samp class="samp">}</samp>&rsquo;.
 </p>
 <p>This construct is typically used as shorthand when the common
 prefix of the strings to be generated is longer than in the
@@ -2487,6 +2498,38 @@ above example:
 <pre class="example-preformatted">chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 </pre></div>
 
+<p>Brace expansion introduces a slight incompatibility with
+historical versions of
+<code class="command">sh</code>.
+<code class="command">sh</code>
+does not treat opening or closing braces specially when they
+appear as part of a word, and preserves them in the output.
+Bash
+removes braces from words as a consequence of brace
+expansion.
+For example, a word entered to
+<code class="command">sh</code>
+as
+&lsquo;<samp class="samp">file{1,2}</samp>&rsquo;
+appears identically in the output.
+Bash
+outputs that word as
+&lsquo;<samp class="samp">file1 file2</samp>&rsquo;
+after brace expansion.
+Start
+Bash
+with the
+<samp class="option">+B</samp>
+option or disable brace expansion with the
+<samp class="option">+B</samp>
+option to the
+<code class="code">set</code>
+command
+(see <a class="pxref" href="#Shell-Builtin-Commands">Shell Builtin Commands</a>)
+for strict
+<code class="command">sh</code>
+compatibility.
+</p>
 <hr>
 </div>
 <div class="subsection-level-extent" id="Tilde-Expansion">
@@ -3259,7 +3302,7 @@ Next: <a href="#Process-Substitution" accesskey="n" rel="next">Process Substitut
 <a class="index-entry-id" id="index-expansion_002c-arithmetic"></a>
 <a class="index-entry-id" id="index-arithmetic-expansion"></a>
 
-<p>Arithmetic expansion evalutes an arithmetic expression
+<p>Arithmetic expansion evaluates an arithmetic expression
 and substitutes the result.
 The format for arithmetic expansion is:
 </p>
@@ -3309,8 +3352,9 @@ This filename is
 passed as an argument to the current command as the result of the
 expansion.
 </p>
-<p>If the <code class="code">&gt;(<var class="var">list</var>)</code> form is used, writing to
-the file provides input for <var class="var">list</var>.
+<p>If the
+<code class="code">&gt;(<var class="var">list</var>)</code> form is used, writing to the file
+provides input for <var class="var">list</var>.
 If the
 <code class="code">&lt;(<var class="var">list</var>)</code> form is used, reading the file 
 obtains the output of <var class="var">list</var>.
@@ -3452,23 +3496,25 @@ The filenames
 <samp class="file">.</samp> and <samp class="file">..</samp>
 are always ignored when <code class="env">GLOBIGNORE</code>
 is set and not null.
-However, setting <code class="env">GLOBIGNORE</code> to a non-null value has the effect of
-enabling the <code class="code">dotglob</code>
+However, setting <code class="env">GLOBIGNORE</code>
+to a non-null value has the effect of enabling the
+<code class="code">dotglob</code>
 shell option, so all other filenames beginning with a
 &lsquo;<samp class="samp">.</samp>&rsquo;
 match.
 To get the old behavior of ignoring filenames beginning with a
-&lsquo;<samp class="samp">.</samp>&rsquo;, make &lsquo;<samp class="samp">.*</samp>&rsquo; one of the patterns in <code class="env">GLOBIGNORE</code>.
+&lsquo;<samp class="samp">.</samp>&rsquo;,
+make &lsquo;<samp class="samp">.*</samp>&rsquo; one of the patterns in <code class="env">GLOBIGNORE</code>.
 The <code class="code">dotglob</code> option is disabled when <code class="env">GLOBIGNORE</code>
 is unset.
 The <code class="code">GLOBIGNORE</code>
 pattern matching honors the setting of the <code class="code">extglob</code> shell
 option.
 </p>
-<p>After the pattern is expanded and matched against filenames, the value of the
-<code class="env">GLOBSORT</code> shell
-variable controls how the results are sorted, as described
-below (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
+<p>The value of the
+<code class="env">GLOBSORT</code>
+shell variable controls how the results of pathname expansion are sorted,
+as described below (see <a class="pxref" href="#Bash-Variables">Bash Variables</a>).
 </p>
 <ul class="mini-toc">
 <li><a href="#Pattern-Matching" accesskey="1">Pattern Matching</a></li>
@@ -3539,7 +3585,9 @@ force the use of the C locale by setting the <code class="env">LC_COLLATE</code>
 <p>Within a bracket expression, <em class="dfn">character classes</em> can be specified
 using the syntax
 <code class="code">[:</code><var class="var">class</var><code class="code">:]</code>, where <var class="var">class</var> is one of the
-following classes defined in the <small class="sc">POSIX</small> standard:
+following classes defined in the
+<small class="sc">POSIX</small>
+standard:
 </p><div class="example">
 <pre class="example-preformatted">alnum   alpha   ascii   blank   cntrl   digit   graph   lower
 print   punct   space   upper   word    xdigit
@@ -3807,19 +3855,22 @@ and the
 <code class="code">noclobber</code>
 option to the
 <code class="code">set</code>
-builtin has been enabled, the redirection fails if the file
+builtin command has been enabled, the redirection fails if the file
 whose name results from the expansion of <var class="var">word</var> exists and is
 a regular file.
-If the redirection operator is &lsquo;<samp class="samp">&gt;|</samp>&rsquo;, or the redirection operator is
-&lsquo;<samp class="samp">&gt;</samp>&rsquo; and the <code class="code">noclobber</code> option is not enabled,
-Bash attemps the redirection
+If the redirection operator is &lsquo;<samp class="samp">&gt;|</samp>&rsquo;,
+or the redirection operator is &lsquo;<samp class="samp">&gt;</samp>&rsquo; and
+the <code class="code">noclobber</code> option to the <code class="code">set</code>
+builtin is not enabled,
+Bash attempts the redirection
 even if the file named by <var class="var">word</var> exists.
 </p>
 </div>
 <div class="subsection-level-extent" id="Appending-Redirected-Output">
 <h4 class="subsection"><span>3.6.3 Appending Redirected Output<a class="copiable-link" href="#Appending-Redirected-Output"> &para;</a></span></h4>
 <p>Redirecting output in this fashion opens
-the file whose name results from the expansion of <var class="var">word</var>
+the file whose name results from the expansion of
+<var class="var">word</var>
 for appending on file descriptor <var class="var">n</var>,
 or the standard output (file descriptor 1) if <var class="var">n</var>
 is not specified.
@@ -5122,7 +5173,9 @@ commands sort lexicographically using ASCII ordering.
 </p>
 <p>The historical operator-precedence parsing with 4 or more arguments can
 lead to ambiguities when it encounters strings that look like primaries.
-The <small class="sc">POSIX</small> standard has deprecated the <samp class="option">-a</samp> and <samp class="option">-o</samp>
+The
+<small class="sc">POSIX</small>
+standard has deprecated the <samp class="option">-a</samp> and <samp class="option">-o</samp>
 primaries and enclosing expressions within parentheses.
 Scripts should no longer use them.
 It&rsquo;s much more reliable to restrict test invocations to a single primary,
@@ -5158,7 +5211,7 @@ The return status is zero.
 shell receives any of the signals <var class="var">sigspec</var>.
 If <var class="var">action</var> is absent (and
 there is a single <var class="var">sigspec</var>) or
-equal to &lsquo;<samp class="samp">-</samp>&rsquo;, each specified <var class="var">sigspec</var>&rsquo;ss disposition is reset
+equal to &lsquo;<samp class="samp">-</samp>&rsquo;, each specified <var class="var">sigspec</var>&rsquo;s disposition is reset
 to the value it had when the shell was started.
 If <var class="var">action</var> is the null string, then the signal specified by
 each <var class="var">sigspec</var> is ignored by the shell and commands it invokes.
@@ -5439,7 +5492,7 @@ If the separator is a colon, any enclosing double quotes are optional, and
 Readline does not expand the command string before saving it.
 Since the entire key binding expression must be a single argument, it
 should be enclosed in single quotes.
-When <var class="var">shell-command</var> is executed, the shell sets thex
+When <var class="var">shell-command</var> is executed, the shell sets the
 <code class="code">READLINE_LINE</code> variable to the contents of the Readline line
 buffer
 and the
@@ -5751,7 +5804,9 @@ The <samp class="option">-n</samp> option means to print only disabled builtins.
 The <samp class="option">-a</samp> option means to list
 each builtin with an indication of whether or not it is enabled. 
 The <samp class="option">-s</samp> option means to
-restrict <code class="code">enable</code> to the <small class="sc">POSIX</small> special builtins.
+restrict <code class="code">enable</code> to the
+<small class="sc">POSIX</small>
+special builtins.
 </p>
 <p>The <samp class="option">-f</samp> option means to load the new builtin command <var class="var">name</var>
 from shared object <var class="var">filename</var>, on systems that support dynamic loading.
@@ -5761,8 +5816,9 @@ colon-separated list of directories in which to search for <var class="var">file
 The default for <code class="env">BASH_LOADABLES_PATH</code> is system-dependent,
 and may include &quot;.&quot; to force a search of the current directory.
 The <samp class="option">-d</samp> option will delete a builtin loaded with <samp class="option">-f</samp>.
-If <samp class="option">-s</samp> is used with <samp class="option">-f</samp>, the new builtin becomes
-a special builtin (see <a class="pxref" href="#Special-Builtins">Special Builtins</a>).
+If <samp class="option">-s</samp> is used with <samp class="option">-f</samp>, the new builtin becomes a
+<small class="sc">POSIX</small>
+special builtin (see <a class="pxref" href="#Special-Builtins">Special Builtins</a>).
 </p>
 <p>If no options are supplied and a <var class="var">name</var> is not a shell builtin,
 <code class="code">enable</code> will attempt to load <var class="var">name</var> from a shared object named
@@ -5780,8 +5836,10 @@ or there is an error loading a new builtin from a shared object.
 
 <p>Display helpful information about builtin commands.
 If <var class="var">pattern</var> is specified, <code class="code">help</code> gives detailed help
-on all commands matching <var class="var">pattern</var>, otherwise it displays
-a list of all builtins and shell compound commands.
+on all commands matching <var class="var">pattern</var>
+as described below;
+otherwise it displays a list of
+all builtins and shell compound commands.
 </p>
 <p>Options, if supplied, have the following meanings:
 </p>
@@ -5797,6 +5855,18 @@ a list of all builtins and shell compound commands.
 </p></dd>
 </dl>
 
+<p>If <var class="var">pattern</var> contains pattern matching characters
+(see <a class="pxref" href="#Pattern-Matching">Pattern Matching</a>)
+it&rsquo;s treated as a shell pattern and
+<code class="code">help</code> prints the description of each
+help topic matching <var class="var">pattern</var>.
+</p>
+<p>If not, and <var class="var">pattern</var> exactly matches the name of a help topic,
+<code class="code">help</code> prints the description
+associated with that topic.
+Otherwise, <code class="code">help</code> performs prefix matching and
+prints the descriptions of all matching help topics. 
+</p>
 <p>The return status is zero unless no command matches <var class="var">pattern</var>.
 </p>
 </dd>
@@ -6272,7 +6342,9 @@ allow this value to be set).
 </p>
 </dd>
 <dt><code class="code">-q</code></dt>
-<dd><p>The maximum number of bytes in <small class="sc">POSIX</small> message queues.
+<dd><p>The maximum number of bytes in
+<small class="sc">POSIX</small>
+message queues.
 </p>
 </dd>
 <dt><code class="code">-r</code></dt>
@@ -6338,7 +6410,7 @@ If no option is supplied, then <samp class="option">-f</samp> is assumed.
 <samp class="option">-b</samp>,
 <samp class="option">-k</samp>,
 <samp class="option">-n</samp> and <samp class="option">-u</samp>, which are unscaled values;
-and, when in <small class="sc">POSIX</small> Mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>),
+and, when in <small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>),
 <samp class="option">-c</samp> and <samp class="option">-f</samp>, which are in 512-byte increments.
 </p>
 <p>The return status is zero unless an invalid option or argument is supplied,
@@ -6585,7 +6657,8 @@ This option is disabled by default.
 </p>
 </dd>
 <dt><code class="code">posix</code></dt>
-<dd><p>Change the behavior of Bash where the default operation differs
+<dd><p>Enable <small class="sc">POSIX</small> mode;
+change the behavior of Bash where the default operation differs
 from the <small class="sc">POSIX</small> standard to match the standard
 (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>).
 This is intended to make Bash behave as a strict superset of that
@@ -7640,9 +7713,9 @@ being closed.
 </dd>
 <dt><a id="index-CHILD_005fMAX"></a><span><code class="code">CHILD_MAX</code><a class="copiable-link" href="#index-CHILD_005fMAX"> &para;</a></span></dt>
 <dd><p>Set the number of exited child status values for the shell to remember.
-Bash will not allow this value to be decreased below a <small class="sc">POSIX</small>-mandated
-minimum, and there is a maximum value (currently 8192) that this may
-not exceed.
+Bash will not allow this value to be decreased below a
+<small class="sc">POSIX</small>-mandated minimum,
+and there is a maximum value (currently 8192) that this may not exceed.
 The minimum value is system-dependent.
 </p>
 </dd>
@@ -7752,7 +7825,7 @@ running in an Emacs shell buffer and disables line editing.
 <dd><p>Expanded and executed similarly to <code class="code">BASH_ENV</code>
 (see <a class="pxref" href="#Bash-Startup-Files">Bash Startup Files</a>)
 when an interactive shell is invoked in
-<small class="sc">POSIX</small> Mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>).
+<small class="sc">POSIX</small> mode (see <a class="pxref" href="#Bash-POSIX-Mode">Bash and POSIX</a>).
 </p>
 </dd>
 <dt><a id="index-EPOCHREALTIME"></a><span><code class="code">EPOCHREALTIME</code><a class="copiable-link" href="#index-EPOCHREALTIME"> &para;</a></span></dt>
@@ -7917,14 +7990,19 @@ quick substitution, and tokenization
 The first character is the <em class="dfn">history expansion</em> character,
 the character which begins a history expansion, normally
 &lsquo;<samp class="samp">!</samp>&rsquo;.
-The second character is the &ldquo;quick substitution&rdquo; character, normally
+The second character is the
+<em class="dfn">quick substitution</em>
+character, normally
 &lsquo;<samp class="samp">^</samp>&rsquo;.
 When it appears as the first character on the line,
 history substitution repeats the previous command,
 replacing one string with another.
-The optional third character is the character which indicates that
-the remainder of the line is a comment when found as the first character
-of a word, usually &lsquo;<samp class="samp">#</samp>&rsquo;.
+The optional third character is the
+<em class="dfn">history comment</em>
+character, normally &lsquo;<samp class="samp">#</samp>&rsquo;,
+which indicates
+that the remainder of the line is a comment
+when it appears as the first character of a word.
 The history comment character disables history substitution
 for the remaining words on the line.
 It does not necessarily cause the shell parser to treat the rest of the
@@ -8272,27 +8350,30 @@ subsequently reset.
 </p>
 </dd>
 <dt><a id="index-READLINE_005fARGUMENT"></a><span><code class="code">READLINE_ARGUMENT</code><a class="copiable-link" href="#index-READLINE_005fARGUMENT"> &para;</a></span></dt>
-<dd><p>Any numeric argument given to a Readline command that was defined using
+<dd><p>Any numeric argument given to a Readline
+command that was defined using
 &lsquo;<samp class="samp">bind -x</samp>&rsquo; (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>
 when it was invoked.
 </p>
 </dd>
 <dt><a id="index-READLINE_005fLINE"></a><span><code class="code">READLINE_LINE</code><a class="copiable-link" href="#index-READLINE_005fLINE"> &para;</a></span></dt>
-<dd><p>The contents of the Readline line buffer, for use
-with &lsquo;<samp class="samp">bind -x</samp>&rsquo; (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+<dd><p>The contents of the Readline
+line buffer, for use with
+&lsquo;<samp class="samp">bind -x</samp>&rsquo; (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
 </p>
 </dd>
 <dt><a id="index-READLINE_005fMARK"></a><span><code class="code">READLINE_MARK</code><a class="copiable-link" href="#index-READLINE_005fMARK"> &para;</a></span></dt>
-<dd><p>The position of the <em class="dfn">mark</em> (saved insertion point) in the
-Readline line buffer, for use
+<dd><p>The position of the <em class="dfn">mark</em> (saved insertion point) in the Readline
+line buffer, for use
 with &lsquo;<samp class="samp">bind -x</samp>&rsquo; (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
 The characters between the insertion point and the mark are often
 called the <em class="dfn">region</em>.
 </p>
 </dd>
 <dt><a id="index-READLINE_005fPOINT"></a><span><code class="code">READLINE_POINT</code><a class="copiable-link" href="#index-READLINE_005fPOINT"> &para;</a></span></dt>
-<dd><p>The position of the insertion point in the Readline line buffer, for use
-with &lsquo;<samp class="samp">bind -x</samp>&rsquo; (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
+<dd><p>The position of the insertion point in the Readline
+line buffer, for use with
+&lsquo;<samp class="samp">bind -x</samp>&rsquo; (see <a class="pxref" href="#Bash-Builtins">Bash Builtin Commands</a>).
 </p>
 </dd>
 <dt><a id="index-REPLY"></a><span><code class="code">REPLY</code><a class="copiable-link" href="#index-REPLY"> &para;</a></span></dt>
@@ -8328,6 +8409,8 @@ as &lsquo;<samp class="samp">on</samp>&rsquo; by &lsquo;<samp class="samp">set -
 If this variable is in the environment when Bash
 starts up, the shell enables each option in the list before
 reading any startup files.
+If this variable is exported, child shells will enable each option
+in the list.
 This variable is readonly.
 </p>
 </dd>
@@ -8530,8 +8613,11 @@ This is on by default if the shell is invoked as <code class="code">sh</code>.
 </p>
 </dd>
 <dt><code class="code">--posix</code></dt>
-<dd><p>Change the behavior of Bash where the default operation differs
-from the <small class="sc">POSIX</small> standard to match the standard.
+<dd><p>Enable <small class="sc">POSIX</small> mode;
+change the behavior of Bash
+where the default operation differs from the
+<small class="sc">POSIX</small>
+standard to match the standard.
 This is intended to make Bash behave as a strict superset of that
 standard.
 See <a class="xref" href="#Bash-POSIX-Mode">Bash and POSIX</a>, for a description of the Bash <small class="sc">POSIX</small> mode.
@@ -8632,21 +8718,23 @@ and arguments passed to that script.
 </dl>
 
 <a class="index-entry-id" id="index-login-shell"></a>
-<p>A <em class="emph">login</em> shell is one whose first character of argument zero is
+<p>A <em class="dfn">login shell</em> is one whose first character of argument zero is
 &lsquo;<samp class="samp">-</samp>&rsquo;, or one invoked with the <samp class="option">--login</samp> option.
 </p>
 <a class="index-entry-id" id="index-interactive-shell"></a>
-<p>An <em class="emph">interactive</em> shell is one started without non-option arguments,
-unless <samp class="option">-s</samp> is specified, without specifying the <samp class="option">-c</samp> option,
-and whose input and output (using the standard error) are both
-connected to terminals (as determined by <code class="code">isatty(3)</code>), or one
-started with the <samp class="option">-i</samp> option.
+<p>An <em class="dfn">interactive shell</em> is one started without non-option arguments,
+unless <samp class="option">-s</samp> is specified,
+without specifying the <samp class="option">-c</samp> option,
+and whose standard input and standard error are both
+connected to terminals (as determined by
+<i class="i">isatty(3)</i>),
+or one started with the <samp class="option">-i</samp> option.
 See <a class="xref" href="#Interactive-Shells">Interactive Shells</a>, for more information.
 </p>
 <p>If arguments remain after option processing, and neither the
 <samp class="option">-c</samp> nor the <samp class="option">-s</samp>
-option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands (see <a class="pxref" href="#Shell-Scripts">Shell Scripts</a>).
+option has been supplied, the first argument is treated as
+the name of a file containing shell commands (see <a class="pxref" href="#Shell-Scripts">Shell Scripts</a>).
 When Bash is invoked in this fashion, <code class="code">$0</code>
 is set to the name of the file, and the positional parameters
 are set to the remaining arguments.
@@ -8654,6 +8742,11 @@ Bash reads and executes commands from this file, then exits.
 Bash&rsquo;s exit status is the exit status of the last command executed
 in the script.
 If no commands are executed, the exit status is 0.
+Bash
+first attempts to open the file in the current directory,
+and, if no file is found, searches the directories in
+<code class="env">PATH</code>
+for the script.
 </p>
 <hr>
 </div>
@@ -8718,39 +8811,48 @@ Bash behaves as if the following command were executed:
 filename.
 </p>
 <p>As noted above, if a non-interactive shell is invoked with the
-<samp class="option">--login</samp> option, Bash attempts to read and execute commands from the
+<samp class="option">--login</samp> option,
+Bash attempts to read and execute commands from the
 login shell startup files. 
 </p>
 <h4 class="subsubheading" id="Invoked-with-name-sh"><span>Invoked with name <code class="code">sh</code><a class="copiable-link" href="#Invoked-with-name-sh"> &para;</a></span></h4>
 
-<p>If Bash is invoked with the name <code class="code">sh</code>, it tries to mimic the
-startup behavior of historical versions of <code class="code">sh</code> as closely as
-possible, while conforming to the <small class="sc">POSIX</small> standard as well.
+<p>If Bash is invoked with the name <code class="command">sh</code>,
+it tries to mimic the startup behavior of historical versions of
+<code class="command">sh</code> as closely as possible,
+while conforming to the
+<small class="sc">POSIX</small>
+standard as well.
 </p>
 <p>When invoked as an interactive login shell, or as a non-interactive
 shell with the <samp class="option">--login</samp> option, it first attempts to read
-and execute commands from <samp class="file">/etc/profile</samp> and <samp class="file">~/.profile</samp>, in
-that order.
+and execute commands from
+<samp class="file">/etc/profile</samp> and <samp class="file">~/.profile</samp>,
+in that order.
 The <samp class="option">--noprofile</samp> option inhibits this behavior.
 </p>
-<p>When invoked as an interactive shell with the name <code class="code">sh</code>, Bash
-looks for the variable <code class="env">ENV</code>, expands its value if it is defined,
-and uses the expanded value as the name of a file to read and execute.
-Since a shell invoked as <code class="code">sh</code> does not attempt to read and execute
-commands from any other startup files, the <samp class="option">--rcfile</samp> option has
-no effect.
+<p>When invoked as an interactive shell with the name <code class="command">sh</code>, Bash
+looks for the variable <code class="env">ENV</code>,
+expands its value if it is defined, and uses the
+expanded value as the name of a file to read and execute.
+Since a shell invoked as <code class="command">sh</code>
+does not attempt to read and execute commands from any other startup
+files, the
+<samp class="option">--rcfile</samp>
+option has no effect.
 </p>
-<p>A non-interactive shell invoked with the name <code class="code">sh</code> does not attempt
-to read any other startup files.
+<p>A non-interactive shell invoked with the name <code class="command">sh</code>
+does not attempt to read any other startup files.
 </p>
-<p>When invoked as <code class="code">sh</code>, Bash enters <small class="sc">POSIX</small> mode after reading
+<p>When invoked as <code class="command">sh</code>, Bash enters <small class="sc">POSIX</small> mode after reading
 the startup files.
 </p>
 <h4 class="subsubheading" id="Invoked-in-posix-mode"><span>Invoked in <small class="sc">POSIX</small> mode<a class="copiable-link" href="#Invoked-in-posix-mode"> &para;</a></span></h4>
 
 <p>When Bash is started in <small class="sc">POSIX</small> mode, as with the
-<samp class="option">--posix</samp> command line option, it follows the <small class="sc">POSIX</small> standard
-for startup files.
+<samp class="option">--posix</samp> command line option, it follows the
+<small class="sc">POSIX</small>
+standard for startup files.
 In this mode, interactive shells expand the <code class="env">ENV</code> variable
 and read and execute commands from the file whose name is the
 expanded value.
@@ -8758,14 +8860,17 @@ No other startup files are read.
 </p>
 <h4 class="subsubheading" id="Invoked-by-remote-shell-daemon"><span>Invoked by remote shell daemon<a class="copiable-link" href="#Invoked-by-remote-shell-daemon"> &para;</a></span></h4>
 
-<p>Bash attempts to determine when it is being run with its standard input
+<p>Bash
+attempts to determine when it is being run with its standard input
 connected to a network connection, as when executed by
 the historical and rarely-seen remote shell daemon, usually <code class="code">rshd</code>,
 or the secure shell daemon <code class="code">sshd</code>.
-If Bash
+If
+Bash
 determines it is being run non-interactively in this fashion,
-it reads and executes commands from <samp class="file">~/.bashrc</samp>, if that
-file exists and is readable.
+it reads and executes commands from
+<samp class="file">~/.bashrc</samp>,
+if that file exists and is readable.
 Bash does not read this file if invoked as <code class="code">sh</code>.
 The
 <samp class="option">--norc</samp>
@@ -9138,7 +9243,9 @@ this returns true if an element with that key is set.
 When used with the <code class="code">[[</code> command, this performs pattern matching as
 described above (see <a class="pxref" href="#Conditional-Constructs">Conditional Constructs</a>).
 </p>
-<p>&lsquo;<samp class="samp">=</samp>&rsquo; should be used with the <code class="code">test</code> command for <small class="sc">POSIX</small> conformance.
+<p>&lsquo;<samp class="samp">=</samp>&rsquo; should be used with the <code class="code">test</code> command for
+<small class="sc">POSIX</small>
+conformance.
 </p>
 </dd>
 <dt><code class="code"><var class="var">string1</var> != <var class="var">string2</var></code></dt>
@@ -9414,7 +9521,8 @@ There is no maximum
 limit on the size of an array, nor any requirement that members
 be indexed or assigned contiguously.
 Indexed arrays are referenced using arithmetic expressions
-that must expand to an integer (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>)) and are zero-based;
+that must expand to an integer (see <a class="pxref" href="#Shell-Arithmetic">Shell Arithmetic</a>))
+and are zero-based;
 associative arrays use arbitrary strings.
 Unless otherwise noted, indexed array indices must be non-negative integers.
 </p>
@@ -9427,7 +9535,7 @@ using the syntax
 <p>The <var class="var">subscript</var>
 is treated as an arithmetic expression that must evaluate to a number
 greater than or equal to zero.
-To explicitly declare an array, use
+To explicitly declare an indexed array, use
 </p><div class="example">
 <pre class="example-preformatted">declare -a <var class="var">name</var>
 </pre></div>
@@ -9443,9 +9551,8 @@ The syntax
 <pre class="example-preformatted">declare -A <var class="var">name</var>
 </pre></div>
 
-<p>Attributes may be
-specified for an array variable using the <code class="code">declare</code> and
-<code class="code">readonly</code> builtins.
+<p>Attributes may be specified for an array variable using the
+<code class="code">declare</code> and <code class="code">readonly</code> builtins.
 Each attribute applies to all members of an array.
 </p>
 <p>Arrays are assigned using compound assignments of the form
@@ -9492,8 +9599,10 @@ interpreted as relative to one greater than the maximum index of
 <var class="var">name</var>, so negative indices count back from the end of the
 array, and an index of -1 references the last element.
 </p>
-<p>The &lsquo;<samp class="samp">+=</samp>&rsquo; operator appends to an array variable when assigning
-using the compound assignment syntax; see <a class="ref" href="#Shell-Parameters">Shell Parameters</a> above.
+<p>The &lsquo;<samp class="samp">+=</samp>&rsquo;
+operator appends to an array variable when assigning
+using the compound assignment syntax; see
+<a class="ref" href="#Shell-Parameters">Shell Parameters</a> above.
 </p>
 <p>An array element is referenced using
 <code class="code">${<var class="var">name</var>[<var class="var">subscript</var>]}</code>.
@@ -9957,7 +10066,8 @@ Next: <a href="#Shell-Compatibility-Mode" accesskey="n" rel="next">Shell Compati
 <h4 class="subsection"><span>6.11.1 What is POSIX?<a class="copiable-link" href="#What-is-POSIX_003f"> &para;</a></span></h4>
 <a class="index-entry-id" id="index-POSIX-description"></a>
 
-<p><small class="sc">POSIX</small> is the name for a family of standards based on Unix.
+<p><small class="sc">POSIX</small>
+is the name for a family of standards based on Unix.
 A number of Unix services, tools, and functions are part of the standard,
 ranging from the basic system calls and C library functions to common
 applications and tools to system administration and management.
@@ -9989,11 +10099,11 @@ pipelines, argument handling, variable expansion, and quoting.
 shell to provide the desired functionality, are specified as
 being part of the shell; examples of these are <code class="code">eval</code> and
 <code class="code">export</code>.
-Other utilities appear in the sections of POSIX not
+Other utilities appear in the sections of <small class="sc">POSIX</small> not
 devoted to the shell which are commonly (and in some cases must
 be) implemented as builtin commands, such as
 <code class="code">read</code> and <code class="code">test</code>.
-POSIX also specifies aspects of the shell&rsquo;s interactive
+<small class="sc">POSIX</small> also specifies aspects of the shell&rsquo;s interactive
 behavior, including job control and command
 line editing.
 Only vi-style line editing commands have been standardized;
@@ -10008,7 +10118,7 @@ emacs editing commands were left out due to objections.
 specification, there are areas where the Bash default behavior
 differs from the specification.
 The Bash <em class="dfn">posix mode</em> changes the Bash
-behavior in these areas so that it conforms more closely
+behavior in these areas so that it conforms more strictly
 to the standard.
 </p>
 <p>Starting Bash with the <samp class="option">--posix</samp> command-line option or executing
@@ -10019,7 +10129,7 @@ match that specified by <small class="sc">POSIX</small> in areas where the Bash
 <p>When invoked as <code class="code">sh</code>, Bash enters <small class="sc">POSIX</small> mode after reading the
 startup files.
 </p>
-<p>The following list is what&rsquo;s changed when &lsquo;<small class="sc">POSIX</small> mode&rsquo; is in effect:
+<p>The following list is what&rsquo;s changed when <small class="sc">POSIX</small> mode is in effect:
 </p>
 <ol class="enumerate">
 <li> Bash ensures that the <code class="env">POSIXLY_CORRECT</code> variable is set.
@@ -10444,13 +10554,17 @@ strcoll(3).
 </dd>
 <dt><code class="code">compat41</code></dt>
 <dd><ul class="itemize mark-bullet">
-<li>In posix mode, <code class="code">time</code> may be followed by options and still be
-recognized as a reserved word (this is <small class="sc">POSIX</small> interpretation 267).
-</li><li>In posix mode, the parser requires that an even number of single
+<li>In <small class="sc">POSIX</small> mode, <code class="code">time</code> may be followed by options and still be
+recognized as a reserved word (this is
+<small class="sc">POSIX</small>
+interpretation 267).
+</li><li>In <small class="sc">POSIX</small> mode, the parser requires that an even number of single
 quotes occur in the <var class="var">word</var> portion of a double-quoted ${&hellip;}
 parameter expansion and treats them specially, so that characters within
 the single quotes are considered quoted
-(this is <small class="sc">POSIX</small> interpretation 221).
+(this is
+<small class="sc">POSIX</small>
+interpretation 221).
 </li></ul>
 
 </dd>
@@ -10458,10 +10572,12 @@ the single quotes are considered quoted
 <dd><ul class="itemize mark-bullet">
 <li>The replacement string in double-quoted pattern substitution does not
 undergo quote removal, as it does in versions after bash-4.2.
-</li><li>In posix mode, single quotes are considered special when expanding
+</li><li>In <small class="sc">POSIX</small> mode, single quotes are considered special when expanding
 the <var class="var">word</var> portion of a double-quoted ${&hellip;} parameter expansion
 and can be used to quote a closing brace or other special character
-(this is part of <small class="sc">POSIX</small> interpretation 221);
+(this is part of
+<small class="sc">POSIX</small>
+interpretation 221);
 in later versions, single quotes
 are not special within double-quoted word expansions.
 </li></ul>
@@ -10470,7 +10586,7 @@ are not special within double-quoted word expansions.
 <dt><code class="code">compat43</code></dt>
 <dd><ul class="itemize mark-bullet">
 <li>Word expansion errors are considered non-fatal errors that cause the
-current command to fail, even in posix mode
+current command to fail, even in <small class="sc">POSIX</small> mode
 (the default behavior is to make them fatal errors that cause the shell
 to exit).
 </li><li>When executing a shell function, the loop state (while/until/etc.)
@@ -10490,7 +10606,8 @@ or <code class="code">continue</code> will cause the subshell to exit.
 Bash-5.0 and later reset the loop state to prevent the exit.
 </li><li>Variable assignments preceding builtins like <code class="code">export</code> and <code class="code">readonly</code>
 that set attributes continue to affect variables with the same
-name in the calling environment even if the shell is not in posix
+name in the calling environment even if the shell is not in
+<small class="sc">POSIX</small>
 mode.
 </li></ul>
 
@@ -11472,9 +11589,10 @@ A sample value might be &lsquo;<samp class="samp">\e[01;33m</samp>&rsquo;.
 </p>
 </dd>
 <dt><a id="index-active_002dregion_002dend_002dcolor"></a><span><code class="code">active-region-end-color</code><a class="copiable-link" href="#index-active_002dregion_002dend_002dcolor"> &para;</a></span></dt>
-<dd><p>A string variable that &quot;undoes&quot; the effects of <code class="code">active-region-start-color</code>
-and restores &quot;normal&quot; terminal display appearance after displaying text
-in the active region.
+<dd><p>A string variable that &ldquo;undoes&rdquo;
+the effects of <code class="code">active-region-start-color</code>
+and restores &ldquo;normal&rdquo;
+terminal display appearance after displaying text in the active region.
 This string must not take up any physical character positions on the display,
 so it should consist only of terminal escape sequences.
 It is output to the terminal after displaying the text in the active region.
@@ -11708,7 +11826,7 @@ If set to zero, any existing history entries are deleted and no new entries
 are saved.
 If set to a value less than zero, the number of history entries is not
 limited.
-By default, Bash sets the the maximum number of history entries to
+By default, Bash sets the maximum number of history entries to
 the value of the <code class="code">HISTSIZE</code> shell variable.
 If you try to set <var class="var">history-size</var> to a non-numeric value,
 the maximum number of history entries will be set to 500.
@@ -12078,7 +12196,7 @@ set of backslash escapes is available:
 <p>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 function name.
-Tthe backslash escapes described above are expanded
+The backslash escapes described above are expanded
 in the macro body.
 Backslash will quote any other character in the macro text,
 including &lsquo;<samp class="samp">&quot;</samp>&rsquo; and &lsquo;<samp class="samp">'</samp>&rsquo;.
@@ -12232,7 +12350,7 @@ Previous: <a href="#Conditional-Init-Constructs" accesskey="p" rel="prev">Condit
 binding, variable assignment, and conditional syntax.
 </p>
 <div class="example">
-<pre class="example-preformatted"># This file controls the behaviour of line input editing for
+<pre class="example-preformatted"># This file controls the behavior of line input editing for
 # programs that use the GNU Readline library.  Existing
 # programs include FTP, Bash, and GDB.
 #
@@ -12355,10 +12473,13 @@ Command names without an accompanying key sequence are unbound by default.
 position, and <em class="dfn">mark</em> refers to a cursor position saved by the
 <code class="code">set-mark</code> command.
 The text between the point and mark is referred to as the <em class="dfn">region</em>.
-Readline has the concept of an <em class="emph">active region</em>:
+Readline
+has the concept of an <em class="emph">active region</em>:
 when the region is active,
 Readline redisplay highlights the region using the
-value of the <code class="code">active-region-start-color</code> variable.
+value of the
+<code class="code">active-region-start-color</code>
+variable.
 The <code class="code">enable-active-region</code> variable turns this on and off.
 Several commands set the region to active; those are noted below.
 </p>
@@ -12930,7 +13051,7 @@ using the following format, writing information on separate lines:
 <li>the number of matches <var class="var">N</var>;
 </li><li>the word being completed;
 </li><li><var class="var">S</var>:<var class="var">E</var>,
-where S and E are the start and end offsets of the word
+where <var class="var">S</var> and <var class="var">E</var> are the start and end offsets of the word
 in the Readline line buffer; then
 </li><li>each match, one per line
 </li></ul>
@@ -13220,7 +13341,7 @@ pathname expansion.
 This performs alias and history expansion,
 $&rsquo;<var class="var">string</var>&rsquo; and $&quot;<var class="var">string</var>&quot; quoting,
 tilde expansion, parameter and variable expansion, arithmetic expansion,
-command and proces substitution,
+command and process substitution,
 word splitting, and quote removal.  
 An explicit argument suppresses command and process substitution.
 </p>
@@ -15391,7 +15512,7 @@ to <a class="email" href="mailto:bug-bash@gnu.org">bug-bash@gnu.org</a> or <a cl
 <li>The version number of Bash.
 </li><li>The hardware and operating system.
 </li><li>The compiler used to compile Bash.
-</li><li>A description of the bug behaviour.
+</li><li>A description of the bug behavior.
 </li><li>A short script or &lsquo;recipe&rsquo; which exercises the bug and may be used
 to reproduce it.
 </li></ul>
index db89d40b0b0dd7b9a1250c4712c43d8fe1166622..b4c23235843712a520446fa5511d0c06206ea040 100644 (file)
@@ -2,12 +2,12 @@ This is bashref.info, produced by makeinfo version 7.1 from
 bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 12 December 2024).
+Bash shell (version 5.3, 8 January 2025).
 
-   This is Edition 5.3, last updated 12 December 2024, of ‘The GNU Bash
+   This is Edition 5.3, last updated 8 January 2025, of ‘The GNU Bash
 Reference Manual’, for ‘Bash’, Version 5.3.
 
-   Copyright © 1988-2024 Free Software Foundation, Inc.
+   Copyright © 1988-2025 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
@@ -27,10 +27,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 12 December 2024).  The Bash home page is
+Bash shell (version 5.3, 8 January 2025).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.3, last updated 12 December 2024, of ‘The GNU Bash
+   This is Edition 5.3, last updated 8 January 2025, of ‘The GNU Bash
 Reference Manual’, for ‘Bash’, Version 5.3.
 
    Bash contains features that appear in other popular shells, and some
@@ -1449,7 +1449,7 @@ above.  If a variable at the current local scope is unset, it remains so
 function returns.  Once the function returns, any instance of the
 variable at a previous scope becomes visible.  If the unset acts on a
 variable at a previous scope, any instance of a variable with that name
-that had been shadowed will become visible (see below how the
+that had been shadowed becomes visible (see below how the
 ‘localvar_unset’ shell option changes this behavior).
 
    The ‘-f’ option to the ‘declare’ (‘typeset’) builtin command (*note
@@ -1551,6 +1551,10 @@ array variables.  Namerefs can be unset using the ‘-n’ option to the
 is executed with the name of a nameref variable as an argument, the
 variable referenced by the nameref variable is unset.
 
+   When the shell starts, it reads its environment and creates a shell
+variable from each environment variable that has a valid name, as
+described below (*note Environment::).
+
 \1f
 File: bashref.info,  Node: Positional Parameters,  Next: Special Parameters,  Up: Shell Parameters
 
@@ -1740,7 +1744,7 @@ to the context of the expansion or the text between the braces.
 closing braces, and at least one unquoted comma or a valid sequence
 expression.  Any incorrectly formed brace expansion is left unchanged.
 
-   A { or ‘,’ may be quoted with a backslash to prevent its being
+   A ‘{’ or ‘,’ may be quoted with a backslash to prevent its being
 considered part of a brace expression.  To avoid conflicts with
 parameter expansion, the string ‘${’ is not considered eligible for
 brace expansion, and inhibits brace expansion until the closing ‘}’.
@@ -1751,6 +1755,16 @@ of the strings to be generated is longer than in the above example:
    or
      chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 
+   Brace expansion introduces a slight incompatibility with historical
+versions of ‘sh’.  ‘sh’ does not treat opening or closing braces
+specially when they appear as part of a word, and preserves them in the
+output.  Bash removes braces from words as a consequence of brace
+expansion.  For example, a word entered to ‘sh’ as ‘file{1,2}’ appears
+identically in the output.  Bash outputs that word as ‘file1 file2’
+after brace expansion.  Start Bash with the ‘+B’ option or disable brace
+expansion with the ‘+B’ option to the ‘set’ command (*note Shell Builtin
+Commands::) for strict ‘sh’ compatibility.
+
 \1f
 File: bashref.info,  Node: Tilde Expansion,  Next: Shell Parameter Expansion,  Prev: Brace Expansion,  Up: Shell Expansions
 
@@ -2378,7 +2392,7 @@ File: bashref.info,  Node: Arithmetic Expansion,  Next: Process Substitution,  P
 3.5.5 Arithmetic Expansion
 --------------------------
 
-Arithmetic expansion evalutes an arithmetic expression and substitutes
+Arithmetic expansion evaluates an arithmetic expression and substitutes
 the result.  The format for arithmetic expansion is:
 
      $(( EXPRESSION ))
@@ -2531,9 +2545,9 @@ patterns in ‘GLOBIGNORE’.  The ‘dotglob’ option is disabled when
 ‘GLOBIGNORE’ is unset.  The ‘GLOBIGNORE’ pattern matching honors the
 setting of the ‘extglob’ shell option.
 
-   After the pattern is expanded and matched against filenames, the
-value of the ‘GLOBSORT’ shell variable controls how the results are
-sorted, as described below (*note Bash Variables::).
+   The value of the ‘GLOBSORT’ shell variable controls how the results
+of pathname expansion are sorted, as described below (*note Bash
+Variables::).
 
 \1f
 File: bashref.info,  Node: Pattern Matching,  Up: Filename Expansion
@@ -2765,11 +2779,12 @@ created; if it does exist it is truncated to zero size.
      [N]>[|]WORD
 
    If the redirection operator is ‘>’, and the ‘noclobber’ option to the
-‘set’ builtin has been enabled, the redirection fails if the file whose
-name results from the expansion of WORD exists and is a regular file.
-If the redirection operator is ‘>|’, or the redirection operator is ‘>’
-and the ‘noclobber’ option is not enabled, Bash attemps the redirection
-even if the file named by WORD exists.
+‘set’ builtin command has been enabled, the redirection fails if the
+file whose name results from the expansion of WORD exists and is a
+regular file.  If the redirection operator is ‘>|’, or the redirection
+operator is ‘>’ and the ‘noclobber’ option to the ‘set’ builtin is not
+enabled, Bash attempts the redirection even if the file named by WORD
+exists.
 
 3.6.3 Appending Redirected Output
 ---------------------------------
@@ -3839,7 +3854,7 @@ standard.
      The ACTION is a command that is read and executed when the shell
      receives any of the signals SIGSPEC.  If ACTION is absent (and
      there is a single SIGSPEC) or equal to ‘-’, each specified
-     SIGSPEC'ss disposition is reset to the value it had when the shell
+     SIGSPEC's disposition is reset to the value it had when the shell
      was started.  If ACTION is the null string, then the signal
      specified by each SIGSPEC is ignored by the shell and commands it
      invokes.
@@ -4054,7 +4069,7 @@ standard.
           optional, and Readline does not expand the command string
           before saving it.  Since the entire key binding expression
           must be a single argument, it should be enclosed in single
-          quotes.  When SHELL-COMMAND is executed, the shell sets thex
+          quotes.  When SHELL-COMMAND is executed, the shell sets the
           ‘READLINE_LINE’ variable to the contents of the Readline line
           buffer and the ‘READLINE_POINT’ and ‘READLINE_MARK’ variables
           to the current location of the insertion point and the saved
@@ -4306,7 +4321,8 @@ standard.
      ‘BASH_LOADABLES_PATH’ is system-dependent, and may include "."  to
      force a search of the current directory.  The ‘-d’ option will
      delete a builtin loaded with ‘-f’.  If ‘-s’ is used with ‘-f’, the
-     new builtin becomes a special builtin (*note Special Builtins::).
+     new builtin becomes a POSIX special builtin (*note Special
+     Builtins::).
 
      If no options are supplied and a NAME is not a shell builtin,
      ‘enable’ will attempt to load NAME from a shared object named NAME,
@@ -4320,8 +4336,8 @@ standard.
 
      Display helpful information about builtin commands.  If PATTERN is
      specified, ‘help’ gives detailed help on all commands matching
-     PATTERN, otherwise it displays a list of all builtins and shell
-     compound commands.
+     PATTERN as described below; otherwise it displays a list of all
+     builtins and shell compound commands.
 
      Options, if supplied, have the following meanings:
 
@@ -4333,6 +4349,15 @@ standard.
      ‘-s’
           Display only a short usage synopsis for each PATTERN
 
+     If PATTERN contains pattern matching characters (*note Pattern
+     Matching::) it's treated as a shell pattern and ‘help’ prints the
+     description of each help topic matching PATTERN.
+
+     If not, and PATTERN exactly matches the name of a help topic,
+     ‘help’ prints the description associated with that topic.
+     Otherwise, ‘help’ performs prefix matching and prints the
+     descriptions of all matching help topics.
+
      The return status is zero unless no command matches PATTERN.
 
 ‘let’
@@ -4759,7 +4784,7 @@ standard.
      Values are in 1024-byte increments, except for ‘-t’, which is in
      seconds; ‘-R’, which is in microseconds; ‘-p’, which is in units of
      512-byte blocks; ‘-P’, ‘-T’, ‘-b’, ‘-k’, ‘-n’ and ‘-u’, which are
-     unscaled values; and, when in POSIX Mode (*note Bash POSIX Mode::),
+     unscaled values; and, when in POSIX mode (*note Bash POSIX Mode::),
      ‘-c’ and ‘-f’, which are in 512-byte increments.
 
      The return status is zero unless an invalid option or argument is
@@ -4958,10 +4983,11 @@ parameters, or to display the names and values of shell variables.
                successfully.  This option is disabled by default.
 
           ‘posix’
-               Change the behavior of Bash where the default operation
-               differs from the POSIX standard to match the standard
-               (*note Bash POSIX Mode::).  This is intended to make Bash
-               behave as a strict superset of that standard.
+               Enable POSIX mode; change the behavior of Bash where the
+               default operation differs from the POSIX standard to
+               match the standard (*note Bash POSIX Mode::).  This is
+               intended to make Bash behave as a strict superset of that
+               standard.
 
           ‘privileged’
                Same as ‘-p’.
@@ -5879,7 +5905,7 @@ Variables::).
 
 ‘ENV’
      Expanded and executed similarly to ‘BASH_ENV’ (*note Bash Startup
-     Files::) when an interactive shell is invoked in POSIX Mode (*note
+     Files::) when an interactive shell is invoked in POSIX mode (*note
      Bash POSIX Mode::).
 
 ‘EPOCHREALTIME’
@@ -6000,15 +6026,16 @@ Variables::).
      substitution, and tokenization (*note History Interaction::).  The
      first character is the “history expansion” character, the character
      which begins a history expansion, normally ‘!’.  The second
-     character is the "quick substitution" character, normally ‘^’.
+     character is the “quick substitution” character, normally ‘^’.
      When it appears as the first character on the line, history
      substitution repeats the previous command, replacing one string
-     with another.  The optional third character is the character which
-     indicates that the remainder of the line is a comment when found as
-     the first character of a word, usually ‘#’.  The history comment
-     character disables history substitution for the remaining words on
-     the line.  It does not necessarily cause the shell parser to treat
-     the rest of the line as a comment.
+     with another.  The optional third character is the “history
+     comment” character, normally ‘#’, which indicates that the
+     remainder of the line is a comment when it appears as the first
+     character of a word.  The history comment character disables
+     history substitution for the remaining words on the line.  It does
+     not necessarily cause the shell parser to treat the rest of the
+     line as a comment.
 
 ‘HISTCMD’
      The history number, or index in the history list, of the current
@@ -6308,7 +6335,8 @@ Variables::).
      ‘SHELLOPTS’ are those reported as ‘on’ by ‘set -o’.  If this
      variable is in the environment when Bash starts up, the shell
      enables each option in the list before reading any startup files.
-     This variable is readonly.
+     If this variable is exported, child shells will enable each option
+     in the list.  This variable is readonly.
 
 ‘SHLVL’
      Incremented by one each time a new instance of Bash is started.
@@ -6469,10 +6497,11 @@ single-character options to be recognized.
      shell.  This is on by default if the shell is invoked as ‘sh’.
 
 ‘--posix’
-     Change the behavior of Bash where the default operation differs
-     from the POSIX standard to match the standard.  This is intended to
-     make Bash behave as a strict superset of that standard.  *Note Bash
-     POSIX Mode::, for a description of the Bash POSIX mode.
+     Enable POSIX mode; change the behavior of Bash where the default
+     operation differs from the POSIX standard to match the standard.
+     This is intended to make Bash behave as a strict superset of that
+     standard.  *Note Bash POSIX Mode::, for a description of the Bash
+     POSIX mode.
 
 ‘--restricted’
      Equivalent to ‘-r’.  Make the shell a restricted shell (*note The
@@ -6543,23 +6572,25 @@ invocation which are not available with the ‘set’ builtin.
 ‘-’
      Equivalent to ‘--’.
 
-   A _login_ shell is one whose first character of argument zero is ‘-’,
+   A “login shell” is one whose first character of argument zero is ‘-’,
 or one invoked with the ‘--login’ option.
 
-   An _interactive_ shell is one started without non-option arguments,
+   An “interactive shell” is one started without non-option arguments,
 unless ‘-s’ is specified, without specifying the ‘-c’ option, and whose
-input and output (using the standard error) are both connected to
-terminals (as determined by ‘isatty(3)’), or one started with the ‘-i’
-option.  *Note Interactive Shells::, for more information.
+standard input and standard error are both connected to terminals (as
+determined by isatty(3)), or one started with the ‘-i’ option.  *Note
+Interactive Shells::, for more information.
 
    If arguments remain after option processing, and neither the ‘-c’ nor
-the ‘-s’ option has been supplied, the first argument is assumed to be
-the name of a file containing shell commands (*note Shell Scripts::).
-When Bash is invoked in this fashion, ‘$0’ is set to the name of the
-file, and the positional parameters are set to the remaining arguments.
-Bash reads and executes commands from this file, then exits.  Bash's
-exit status is the exit status of the last command executed in the
-script.  If no commands are executed, the exit status is 0.
+the ‘-s’ option has been supplied, the first argument is treated as the
+name of a file containing shell commands (*note Shell Scripts::).  When
+Bash is invoked in this fashion, ‘$0’ is set to the name of the file,
+and the positional parameters are set to the remaining arguments.  Bash
+reads and executes commands from this file, then exits.  Bash's exit
+status is the exit status of the last command executed in the script.
+If no commands are executed, the exit status is 0.  Bash first attempts
+to open the file in the current directory, and, if no file is found,
+searches the directories in ‘PATH’ for the script.
 
 \1f
 File: bashref.info,  Node: Bash Startup Files,  Next: Interactive Shells,  Prev: Invoking Bash,  Up: Bash Features
@@ -7156,7 +7187,7 @@ to using the syntax
 
 The SUBSCRIPT is treated as an arithmetic expression that must evaluate
 to a number greater than or equal to zero.  To explicitly declare an
-array, use
+indexed array, use
      declare -a NAME
 (*note Bash Builtins::).  The syntax
      declare -a NAME[SUBSCRIPT]
@@ -7591,7 +7622,7 @@ editing commands were left out due to objections.
 Although Bash is an implementation of the POSIX shell specification,
 there are areas where the Bash default behavior differs from the
 specification.  The Bash “posix mode” changes the Bash behavior in these
-areas so that it conforms more closely to the standard.
+areas so that it conforms more strictly to the standard.
 
    Starting Bash with the ‘--posix’ command-line option or executing
 ‘set -o posix’ while Bash is running will cause Bash to conform more
@@ -7601,7 +7632,7 @@ specified by POSIX in areas where the Bash default differs.
    When invoked as ‘sh’, Bash enters POSIX mode after reading the
 startup files.
 
-   The following list is what's changed when 'POSIX mode' is in effect:
+   The following list is what's changed when POSIX mode is in effect:
 
   1. Bash ensures that the ‘POSIXLY_CORRECT’ variable is set.
 
@@ -7984,10 +8015,10 @@ required for bash-5.1 and later versions.
           collation sequence and strcoll(3).
 
 ‘compat41’
-        • In posix mode, ‘time’ may be followed by options and still be
+        • In POSIX mode, ‘time’ may be followed by options and still be
           recognized as a reserved word (this is POSIX interpretation
           267).
-        • In posix mode, the parser requires that an even number of
+        • In POSIX mode, the parser requires that an even number of
           single quotes occur in the WORD portion of a double-quoted
           ${...} parameter expansion and treats them specially, so that
           characters within the single quotes are considered quoted
@@ -7997,7 +8028,7 @@ required for bash-5.1 and later versions.
         • The replacement string in double-quoted pattern substitution
           does not undergo quote removal, as it does in versions after
           bash-4.2.
-        • In posix mode, single quotes are considered special when
+        • In POSIX mode, single quotes are considered special when
           expanding the WORD portion of a double-quoted ${...} parameter
           expansion and can be used to quote a closing brace or other
           special character (this is part of POSIX interpretation 221);
@@ -8006,7 +8037,7 @@ required for bash-5.1 and later versions.
 
 ‘compat43’
         • Word expansion errors are considered non-fatal errors that
-          cause the current command to fail, even in posix mode (the
+          cause the current command to fail, even in POSIX mode (the
           default behavior is to make them fatal errors that cause the
           shell to exit).
         • When executing a shell function, the loop state
@@ -8025,7 +8056,7 @@ required for bash-5.1 and later versions.
         • Variable assignments preceding builtins like ‘export’ and
           ‘readonly’ that set attributes continue to affect variables
           with the same name in the calling environment even if the
-          shell is not in posix mode.
+          shell is not in POSIX mode.
 
 ‘compat50 (set using BASH_COMPAT)’
         • Bash-5.1 changed the way ‘$RANDOM’ is generated to introduce
@@ -8948,9 +8979,9 @@ Variable Settings
           list.  If set to zero, any existing history entries are
           deleted and no new entries are saved.  If set to a value less
           than zero, the number of history entries is not limited.  By
-          default, Bash sets the the maximum number of history entries
-          to the value of the ‘HISTSIZE’ shell variable.  If you try to
-          set HISTORY-SIZE to a non-numeric value, the maximum number of
+          default, Bash sets the maximum number of history entries to
+          the value of the ‘HISTSIZE’ shell variable.  If you try to set
+          HISTORY-SIZE to a non-numeric value, the maximum number of
           history entries will be set to 500.
 
      ‘horizontal-scroll-mode’
@@ -9230,7 +9261,7 @@ Key Bindings
 
      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 function name.  Tthe backslash escapes described above are
+     be a function name.  The backslash escapes described above are
      expanded in the macro body.  Backslash will quote any other
      character in the macro text, including ‘"’ and ‘'’.  For example,
      the following binding will make ‘‘C-x’ \’ insert a single ‘\’ into
@@ -9337,7 +9368,7 @@ File: bashref.info,  Node: Sample Init File,  Prev: Conditional Init Constructs,
 Here is an example of an INPUTRC file.  This illustrates key binding,
 variable assignment, and conditional syntax.
 
-     # This file controls the behaviour of line input editing for
+     # This file controls the behavior of line input editing for
      # programs that use the GNU Readline library.  Existing
      # programs include FTP, Bash, and GDB.
      #
@@ -10113,8 +10144,9 @@ File: bashref.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up:
      Expand the line by performing shell word expansions.  This performs
      alias and history expansion, $'STRING' and $"STRING" quoting, tilde
      expansion, parameter and variable expansion, arithmetic expansion,
-     command and proces substitution, word splitting, and quote removal.
-     An explicit argument suppresses command and process substitution.
+     command and process substitution, word splitting, and quote
+     removal.  An explicit argument suppresses command and process
+     substitution.
 
 ‘history-expand-line (M-^)’
      Perform history expansion on the current line.
@@ -11782,7 +11814,7 @@ fix, you are encouraged to submit that as well!  Suggestions and
    • The version number of Bash.
    • The hardware and operating system.
    • The compiler used to compile Bash.
-   • A description of the bug behaviour.
+   • A description of the bug behavior.
    • A short script or 'recipe' which exercises the bug and may be used
      to reproduce it.
 
@@ -12781,26 +12813,26 @@ D.1 Index of Shell Builtin Commands
                                                               (line 179)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 231)
-* help:                                  Bash Builtins.       (line 374)
+* help:                                  Bash Builtins.       (line 375)
 * history:                               Bash History Builtins.
                                                               (line  59)
 * jobs:                                  Job Control Builtins.
                                                               (line  28)
 * kill:                                  Job Control Builtins.
                                                               (line  61)
-* let:                                   Bash Builtins.       (line 394)
-* local:                                 Bash Builtins.       (line 403)
-* logout:                                Bash Builtins.       (line 428)
-* mapfile:                               Bash Builtins.       (line 433)
+* let:                                   Bash Builtins.       (line 404)
+* local:                                 Bash Builtins.       (line 413)
+* logout:                                Bash Builtins.       (line 438)
+* mapfile:                               Bash Builtins.       (line 443)
 * popd:                                  Directory Stack Builtins.
                                                               (line  37)
-* printf:                                Bash Builtins.       (line 478)
+* printf:                                Bash Builtins.       (line 488)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  70)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 263)
-* read:                                  Bash Builtins.       (line 548)
-* readarray:                             Bash Builtins.       (line 659)
+* read:                                  Bash Builtins.       (line 558)
+* readarray:                             Bash Builtins.       (line 669)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 275)
 * return:                                Bourne Shell Builtins.
@@ -12809,7 +12841,7 @@ D.1 Index of Shell Builtin Commands
 * shift:                                 Bourne Shell Builtins.
                                                               (line 325)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 668)
+* source:                                Bash Builtins.       (line 678)
 * suspend:                               Job Control Builtins.
                                                               (line 139)
 * test:                                  Bourne Shell Builtins.
@@ -12820,12 +12852,12 @@ D.1 Index of Shell Builtin Commands
                                                               (line 444)
 * true:                                  Bourne Shell Builtins.
                                                               (line 510)
-* type:                                  Bash Builtins.       (line 673)
-* typeset:                               Bash Builtins.       (line 710)
-* ulimit:                                Bash Builtins.       (line 716)
+* type:                                  Bash Builtins.       (line 683)
+* typeset:                               Bash Builtins.       (line 720)
+* ulimit:                                Bash Builtins.       (line 726)
 * umask:                                 Bourne Shell Builtins.
                                                               (line 515)
-* unalias:                               Bash Builtins.       (line 824)
+* unalias:                               Bash Builtins.       (line 834)
 * unset:                                 Bourne Shell Builtins.
                                                               (line 533)
 * wait:                                  Job Control Builtins.
@@ -13000,55 +13032,55 @@ D.3 Parameter and Variable Index
 * GLOBSORT:                              Bash Variables.      (line 376)
 * GROUPS:                                Bash Variables.      (line 414)
 * histchars:                             Bash Variables.      (line 420)
-* HISTCMD:                               Bash Variables.      (line 435)
-* HISTCONTROL:                           Bash Variables.      (line 441)
-* HISTFILE:                              Bash Variables.      (line 459)
-* HISTFILESIZE:                          Bash Variables.      (line 465)
-* HISTIGNORE:                            Bash Variables.      (line 476)
+* HISTCMD:                               Bash Variables.      (line 436)
+* HISTCONTROL:                           Bash Variables.      (line 442)
+* HISTFILE:                              Bash Variables.      (line 460)
+* HISTFILESIZE:                          Bash Variables.      (line 466)
+* HISTIGNORE:                            Bash Variables.      (line 477)
 * history-preserve-point:                Readline Init File Syntax.
                                                               (line 234)
 * history-size:                          Readline Init File Syntax.
                                                               (line 240)
-* HISTSIZE:                              Bash Variables.      (line 500)
-* HISTTIMEFORMAT:                        Bash Variables.      (line 507)
+* HISTSIZE:                              Bash Variables.      (line 501)
+* HISTTIMEFORMAT:                        Bash Variables.      (line 508)
 * HOME:                                  Bourne Shell Variables.
                                                               (line  13)
 * horizontal-scroll-mode:                Readline Init File Syntax.
                                                               (line 250)
-* HOSTFILE:                              Bash Variables.      (line 516)
-* HOSTNAME:                              Bash Variables.      (line 527)
-* HOSTTYPE:                              Bash Variables.      (line 530)
+* HOSTFILE:                              Bash Variables.      (line 517)
+* HOSTNAME:                              Bash Variables.      (line 528)
+* HOSTTYPE:                              Bash Variables.      (line 531)
 * IFS:                                   Bourne Shell Variables.
                                                               (line  18)
-* IGNOREEOF:                             Bash Variables.      (line 533)
+* IGNOREEOF:                             Bash Variables.      (line 534)
 * input-meta:                            Readline Init File Syntax.
                                                               (line 258)
-* INPUTRC:                               Bash Variables.      (line 542)
-* INSIDE_EMACS:                          Bash Variables.      (line 546)
+* INPUTRC:                               Bash Variables.      (line 543)
+* INSIDE_EMACS:                          Bash Variables.      (line 547)
 * isearch-terminators:                   Readline Init File Syntax.
                                                               (line 269)
 * keymap:                                Readline Init File Syntax.
                                                               (line 276)
 * LANG:                                  Creating Internationalized Scripts.
                                                               (line  51)
-* LANG <1>:                              Bash Variables.      (line 552)
-* LC_ALL:                                Bash Variables.      (line 556)
-* LC_COLLATE:                            Bash Variables.      (line 560)
-* LC_CTYPE:                              Bash Variables.      (line 567)
+* LANG <1>:                              Bash Variables.      (line 553)
+* LC_ALL:                                Bash Variables.      (line 557)
+* LC_COLLATE:                            Bash Variables.      (line 561)
+* LC_CTYPE:                              Bash Variables.      (line 568)
 * LC_MESSAGES:                           Creating Internationalized Scripts.
                                                               (line  51)
-* LC_MESSAGES <1>:                       Bash Variables.      (line 572)
-* LC_NUMERIC:                            Bash Variables.      (line 576)
-* LC_TIME:                               Bash Variables.      (line 580)
-* LINENO:                                Bash Variables.      (line 584)
-* LINES:                                 Bash Variables.      (line 591)
-* MACHTYPE:                              Bash Variables.      (line 597)
+* LC_MESSAGES <1>:                       Bash Variables.      (line 573)
+* LC_NUMERIC:                            Bash Variables.      (line 577)
+* LC_TIME:                               Bash Variables.      (line 581)
+* LINENO:                                Bash Variables.      (line 585)
+* LINES:                                 Bash Variables.      (line 592)
+* MACHTYPE:                              Bash Variables.      (line 598)
 * MAIL:                                  Bourne Shell Variables.
                                                               (line  24)
-* MAILCHECK:                             Bash Variables.      (line 601)
+* MAILCHECK:                             Bash Variables.      (line 602)
 * MAILPATH:                              Bourne Shell Variables.
                                                               (line  29)
-* MAPFILE:                               Bash Variables.      (line 609)
+* MAPFILE:                               Bash Variables.      (line 610)
 * mark-modified-lines:                   Readline Init File Syntax.
                                                               (line 306)
 * mark-symlinked-directories:            Readline Init File Syntax.
@@ -13059,46 +13091,46 @@ D.3 Parameter and Variable Index
                                                               (line 323)
 * meta-flag:                             Readline Init File Syntax.
                                                               (line 258)
-* OLDPWD:                                Bash Variables.      (line 613)
+* OLDPWD:                                Bash Variables.      (line 614)
 * OPTARG:                                Bourne Shell Variables.
                                                               (line  36)
-* OPTERR:                                Bash Variables.      (line 616)
+* OPTERR:                                Bash Variables.      (line 617)
 * OPTIND:                                Bourne Shell Variables.
                                                               (line  40)
-* OSTYPE:                                Bash Variables.      (line 621)
+* OSTYPE:                                Bash Variables.      (line 622)
 * output-meta:                           Readline Init File Syntax.
                                                               (line 328)
 * page-completions:                      Readline Init File Syntax.
                                                               (line 337)
 * PATH:                                  Bourne Shell Variables.
                                                               (line  44)
-* PIPESTATUS:                            Bash Variables.      (line 624)
-* POSIXLY_CORRECT:                       Bash Variables.      (line 634)
-* PPID:                                  Bash Variables.      (line 644)
-* PROMPT_COMMAND:                        Bash Variables.      (line 648)
-* PROMPT_DIRTRIM:                        Bash Variables.      (line 654)
-* PS0:                                   Bash Variables.      (line 660)
+* PIPESTATUS:                            Bash Variables.      (line 625)
+* POSIXLY_CORRECT:                       Bash Variables.      (line 635)
+* PPID:                                  Bash Variables.      (line 645)
+* PROMPT_COMMAND:                        Bash Variables.      (line 649)
+* PROMPT_DIRTRIM:                        Bash Variables.      (line 655)
+* PS0:                                   Bash Variables.      (line 661)
 * PS1:                                   Bourne Shell Variables.
                                                               (line  53)
 * PS2:                                   Bourne Shell Variables.
                                                               (line  58)
-* PS3:                                   Bash Variables.      (line 665)
-* PS4:                                   Bash Variables.      (line 670)
-* PWD:                                   Bash Variables.      (line 678)
-* RANDOM:                                Bash Variables.      (line 681)
-* READLINE_ARGUMENT:                     Bash Variables.      (line 689)
-* READLINE_LINE:                         Bash Variables.      (line 693)
-* READLINE_MARK:                         Bash Variables.      (line 697)
-* READLINE_POINT:                        Bash Variables.      (line 703)
-* REPLY:                                 Bash Variables.      (line 707)
+* PS3:                                   Bash Variables.      (line 666)
+* PS4:                                   Bash Variables.      (line 671)
+* PWD:                                   Bash Variables.      (line 679)
+* RANDOM:                                Bash Variables.      (line 682)
+* READLINE_ARGUMENT:                     Bash Variables.      (line 690)
+* READLINE_LINE:                         Bash Variables.      (line 694)
+* READLINE_MARK:                         Bash Variables.      (line 698)
+* READLINE_POINT:                        Bash Variables.      (line 704)
+* REPLY:                                 Bash Variables.      (line 708)
 * revert-all-at-newline:                 Readline Init File Syntax.
                                                               (line 350)
 * search-ignore-case:                    Readline Init File Syntax.
                                                               (line 357)
-* SECONDS:                               Bash Variables.      (line 711)
-* SHELL:                                 Bash Variables.      (line 721)
-* SHELLOPTS:                             Bash Variables.      (line 726)
-* SHLVL:                                 Bash Variables.      (line 735)
+* SECONDS:                               Bash Variables.      (line 712)
+* SHELL:                                 Bash Variables.      (line 722)
+* SHELLOPTS:                             Bash Variables.      (line 727)
+* SHLVL:                                 Bash Variables.      (line 737)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
                                                               (line 362)
 * show-all-if-unmodified:                Readline Init File Syntax.
@@ -13107,15 +13139,15 @@ D.3 Parameter and Variable Index
                                                               (line 377)
 * skip-completed-text:                   Readline Init File Syntax.
                                                               (line 383)
-* SRANDOM:                               Bash Variables.      (line 740)
+* SRANDOM:                               Bash Variables.      (line 742)
 * TEXTDOMAIN:                            Creating Internationalized Scripts.
                                                               (line  51)
 * TEXTDOMAINDIR:                         Creating Internationalized Scripts.
                                                               (line  51)
-* TIMEFORMAT:                            Bash Variables.      (line 749)
-* TMOUT:                                 Bash Variables.      (line 788)
-* TMPDIR:                                Bash Variables.      (line 800)
-* UID:                                   Bash Variables.      (line 804)
+* TIMEFORMAT:                            Bash Variables.      (line 751)
+* TMOUT:                                 Bash Variables.      (line 790)
+* TMPDIR:                                Bash Variables.      (line 802)
+* UID:                                   Bash Variables.      (line 806)
 * vi-cmd-mode-string:                    Readline Init File Syntax.
                                                               (line 396)
 * vi-ins-mode-string:                    Readline Init File Syntax.
@@ -13137,7 +13169,7 @@ D.4 Function Index
 * accept-line (Newline or Return):       Commands For History.
                                                               (line   6)
 * alias-expand-line ():                  Miscellaneous Commands.
-                                                              (line 133)
+                                                              (line 134)
 * backward-char (C-b):                   Commands For Moving. (line  18)
 * backward-delete-char (Rubout):         Commands For Text.   (line  18)
 * backward-kill-line (C-x Rubout):       Commands For Killing.
@@ -13186,7 +13218,7 @@ D.4 Function Index
                                                               (line  50)
 * digit-argument (M-0, M-1, ... M--):    Numeric Arguments.   (line   6)
 * display-shell-version (C-x C-v):       Miscellaneous Commands.
-                                                              (line 147)
+                                                              (line 148)
 * do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
                                                               (line  14)
 * downcase-word (M-l):                   Commands For Text.   (line  69)
@@ -13199,7 +13231,7 @@ D.4 Function Index
 * dynamic-complete-history (M-<TAB>):    Commands For Completion.
                                                               (line 115)
 * edit-and-execute-command (C-x C-e):    Miscellaneous Commands.
-                                                              (line 142)
+                                                              (line 143)
 * end-kbd-macro (C-x )):                 Keyboard Macros.     (line   9)
 * end-of-file (usually C-d):             Commands For Text.   (line   6)
 * end-of-history (M->):                  Commands For History.
@@ -13225,9 +13257,9 @@ D.4 Function Index
 * glob-list-expansions (C-x g):          Miscellaneous Commands.
                                                               (line 114)
 * history-and-alias-expand-line ():      Miscellaneous Commands.
-                                                              (line 136)
+                                                              (line 137)
 * history-expand-line (M-^):             Miscellaneous Commands.
-                                                              (line 126)
+                                                              (line 127)
 * history-search-backward ():            Commands For History.
                                                               (line  53)
 * history-search-forward ():             Commands For History.
@@ -13241,7 +13273,7 @@ D.4 Function Index
 * insert-completions (M-*):              Commands For Completion.
                                                               (line  24)
 * insert-last-argument (M-. or M-_):     Miscellaneous Commands.
-                                                              (line 139)
+                                                              (line 140)
 * kill-line (C-k):                       Commands For Killing.
                                                               (line   6)
 * kill-region ():                        Commands For Killing.
@@ -13251,7 +13283,7 @@ D.4 Function Index
 * kill-word (M-d):                       Commands For Killing.
                                                               (line  23)
 * magic-space ():                        Miscellaneous Commands.
-                                                              (line 129)
+                                                              (line 130)
 * menu-complete ():                      Commands For Completion.
                                                               (line  28)
 * menu-complete-backward ():             Commands For Completion.
@@ -13431,7 +13463,7 @@ D.5 Concept Index
 * installation:                          Basic Installation.  (line   6)
 * interaction, readline:                 Readline Interaction.
                                                               (line   6)
-* interactive shell:                     Invoking Bash.       (line 136)
+* interactive shell:                     Invoking Bash.       (line 137)
 * interactive shell <1>:                 Interactive Shells.  (line   6)
 * internationalization:                  Locale Translation.  (line   6)
 * internationalized scripts:             Creating Internationalized Scripts.
@@ -13444,7 +13476,7 @@ D.5 Concept Index
 * killing text:                          Readline Killing Commands.
                                                               (line   6)
 * localization:                          Locale Translation.  (line   6)
-* login shell:                           Invoking Bash.       (line 133)
+* login shell:                           Invoking Bash.       (line 134)
 * matching, pattern:                     Pattern Matching.    (line   6)
 * metacharacter:                         Definitions.         (line  50)
 * name:                                  Definitions.         (line  55)
@@ -13510,138 +13542,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f904
-Node: Introduction\7f2848
-Node: What is Bash?\7f3064
-Node: What is a shell?\7f4200
-Node: Definitions\7f6813
-Node: Basic Shell Features\7f10143
-Node: Shell Syntax\7f11370
-Node: Shell Operation\7f12400
-Node: Quoting\7f13694
-Node: Escape Character\7f15035
-Node: Single Quotes\7f15573
-Node: Double Quotes\7f15925
-Node: ANSI-C Quoting\7f17273
-Node: Locale Translation\7f18670
-Node: Creating Internationalized Scripts\7f20076
-Node: Comments\7f24277
-Node: Shell Commands\7f25047
-Node: Reserved Words\7f25989
-Node: Simple Commands\7f26857
-Node: Pipelines\7f27522
-Node: Lists\7f30781
-Node: Compound Commands\7f32656
-Node: Looping Constructs\7f33668
-Node: Conditional Constructs\7f36190
-Node: Command Grouping\7f51129
-Node: Coprocesses\7f52624
-Node: GNU Parallel\7f55313
-Node: Shell Functions\7f56234
-Node: Shell Parameters\7f64689
-Node: Positional Parameters\7f69417
-Node: Special Parameters\7f70510
-Node: Shell Expansions\7f73974
-Node: Brace Expansion\7f76166
-Node: Tilde Expansion\7f78870
-Node: Shell Parameter Expansion\7f81828
-Node: Command Substitution\7f101591
-Node: Arithmetic Expansion\7f105123
-Node: Process Substitution\7f106139
-Node: Word Splitting\7f107250
-Node: Filename Expansion\7f109697
-Node: Pattern Matching\7f112963
-Node: Quote Removal\7f118689
-Node: Redirections\7f118996
-Node: Executing Commands\7f129227
-Node: Simple Command Expansion\7f129897
-Node: Command Search and Execution\7f132008
-Node: Command Execution Environment\7f134455
-Node: Environment\7f137906
-Node: Exit Status\7f139812
-Node: Signals\7f141873
-Node: Shell Scripts\7f146805
-Node: Shell Builtin Commands\7f150106
-Node: Bourne Shell Builtins\7f152220
-Node: Bash Builtins\7f178788
-Node: Modifying Shell Behavior\7f215239
-Node: The Set Builtin\7f215584
-Node: The Shopt Builtin\7f227541
-Node: Special Builtins\7f244596
-Node: Shell Variables\7f245588
-Node: Bourne Shell Variables\7f246025
-Node: Bash Variables\7f248536
-Node: Bash Features\7f287234
-Node: Invoking Bash\7f288251
-Node: Bash Startup Files\7f294680
-Node: Interactive Shells\7f299925
-Node: What is an Interactive Shell?\7f300336
-Node: Is this Shell Interactive?\7f301001
-Node: Interactive Shell Behavior\7f301828
-Node: Bash Conditional Expressions\7f305592
-Node: Shell Arithmetic\7f310806
-Node: Aliases\7f314138
-Node: Arrays\7f317275
-Node: The Directory Stack\7f324362
-Node: Directory Stack Builtins\7f325162
-Node: Controlling the Prompt\7f329610
-Node: The Restricted Shell\7f332498
-Node: Bash POSIX Mode\7f335383
-Node: Shell Compatibility Mode\7f353448
-Node: Job Control\7f362458
-Node: Job Control Basics\7f362918
-Node: Job Control Builtins\7f369199
-Node: Job Control Variables\7f375884
-Node: Command Line Editing\7f377118
-Node: Introduction and Notation\7f378824
-Node: Readline Interaction\7f381179
-Node: Readline Bare Essentials\7f382370
-Node: Readline Movement Commands\7f384181
-Node: Readline Killing Commands\7f385180
-Node: Readline Arguments\7f387206
-Node: Searching\7f388266
-Node: Readline Init File\7f390512
-Node: Readline Init File Syntax\7f391818
-Node: Conditional Init Constructs\7f418651
-Node: Sample Init File\7f423039
-Node: Bindable Readline Commands\7f426163
-Node: Commands For Moving\7f427704
-Node: Commands For History\7f430075
-Node: Commands For Text\7f435468
-Node: Commands For Killing\7f439596
-Node: Numeric Arguments\7f442387
-Node: Commands For Completion\7f443542
-Node: Keyboard Macros\7f449241
-Node: Miscellaneous Commands\7f449945
-Node: Readline vi Mode\7f456508
-Node: Programmable Completion\7f457488
-Node: Programmable Completion Builtins\7f466228
-Node: A Programmable Completion Example\7f477968
-Node: Using History Interactively\7f483316
-Node: Bash History Facilities\7f484000
-Node: Bash History Builtins\7f487738
-Node: History Interaction\7f494212
-Node: Event Designators\7f499165
-Node: Word Designators\7f500746
-Node: Modifiers\7f503053
-Node: Installing Bash\7f504993
-Node: Basic Installation\7f506112
-Node: Compilers and Options\7f509991
-Node: Compiling For Multiple Architectures\7f510744
-Node: Installation Names\7f512500
-Node: Specifying the System Type\7f514737
-Node: Sharing Defaults\7f515486
-Node: Operation Controls\7f516203
-Node: Optional Features\7f517225
-Node: Reporting Bugs\7f529608
-Node: Major Differences From The Bourne Shell\7f530969
-Node: GNU Free Documentation License\7f552392
-Node: Indexes\7f577572
-Node: Builtin Index\7f578026
-Node: Reserved Word Index\7f585127
-Node: Variable Index\7f587575
-Node: Function Index\7f604991
-Node: Concept Index\7f618989
+Node: Top\7f900
+Node: Introduction\7f2840
+Node: What is Bash?\7f3056
+Node: What is a shell?\7f4192
+Node: Definitions\7f6805
+Node: Basic Shell Features\7f10135
+Node: Shell Syntax\7f11362
+Node: Shell Operation\7f12392
+Node: Quoting\7f13686
+Node: Escape Character\7f15027
+Node: Single Quotes\7f15565
+Node: Double Quotes\7f15917
+Node: ANSI-C Quoting\7f17265
+Node: Locale Translation\7f18662
+Node: Creating Internationalized Scripts\7f20068
+Node: Comments\7f24269
+Node: Shell Commands\7f25039
+Node: Reserved Words\7f25981
+Node: Simple Commands\7f26849
+Node: Pipelines\7f27514
+Node: Lists\7f30773
+Node: Compound Commands\7f32648
+Node: Looping Constructs\7f33660
+Node: Conditional Constructs\7f36182
+Node: Command Grouping\7f51121
+Node: Coprocesses\7f52616
+Node: GNU Parallel\7f55305
+Node: Shell Functions\7f56226
+Node: Shell Parameters\7f64677
+Node: Positional Parameters\7f69582
+Node: Special Parameters\7f70675
+Node: Shell Expansions\7f74139
+Node: Brace Expansion\7f76331
+Node: Tilde Expansion\7f79680
+Node: Shell Parameter Expansion\7f82638
+Node: Command Substitution\7f102401
+Node: Arithmetic Expansion\7f105933
+Node: Process Substitution\7f106950
+Node: Word Splitting\7f108061
+Node: Filename Expansion\7f110508
+Node: Pattern Matching\7f113735
+Node: Quote Removal\7f119461
+Node: Redirections\7f119768
+Node: Executing Commands\7f130034
+Node: Simple Command Expansion\7f130704
+Node: Command Search and Execution\7f132815
+Node: Command Execution Environment\7f135262
+Node: Environment\7f138713
+Node: Exit Status\7f140619
+Node: Signals\7f142680
+Node: Shell Scripts\7f147612
+Node: Shell Builtin Commands\7f150913
+Node: Bourne Shell Builtins\7f153027
+Node: Bash Builtins\7f179594
+Node: Modifying Shell Behavior\7f216521
+Node: The Set Builtin\7f216866
+Node: The Shopt Builtin\7f228857
+Node: Special Builtins\7f245912
+Node: Shell Variables\7f246904
+Node: Bourne Shell Variables\7f247341
+Node: Bash Variables\7f249852
+Node: Bash Features\7f288674
+Node: Invoking Bash\7f289691
+Node: Bash Startup Files\7f296278
+Node: Interactive Shells\7f301523
+Node: What is an Interactive Shell?\7f301934
+Node: Is this Shell Interactive?\7f302599
+Node: Interactive Shell Behavior\7f303426
+Node: Bash Conditional Expressions\7f307190
+Node: Shell Arithmetic\7f312404
+Node: Aliases\7f315736
+Node: Arrays\7f318873
+Node: The Directory Stack\7f325968
+Node: Directory Stack Builtins\7f326768
+Node: Controlling the Prompt\7f331216
+Node: The Restricted Shell\7f334104
+Node: Bash POSIX Mode\7f336989
+Node: Shell Compatibility Mode\7f355053
+Node: Job Control\7f364063
+Node: Job Control Basics\7f364523
+Node: Job Control Builtins\7f370804
+Node: Job Control Variables\7f377489
+Node: Command Line Editing\7f378723
+Node: Introduction and Notation\7f380429
+Node: Readline Interaction\7f382784
+Node: Readline Bare Essentials\7f383975
+Node: Readline Movement Commands\7f385786
+Node: Readline Killing Commands\7f386785
+Node: Readline Arguments\7f388811
+Node: Searching\7f389871
+Node: Readline Init File\7f392117
+Node: Readline Init File Syntax\7f393423
+Node: Conditional Init Constructs\7f420251
+Node: Sample Init File\7f424639
+Node: Bindable Readline Commands\7f427762
+Node: Commands For Moving\7f429303
+Node: Commands For History\7f431674
+Node: Commands For Text\7f437067
+Node: Commands For Killing\7f441195
+Node: Numeric Arguments\7f443986
+Node: Commands For Completion\7f445141
+Node: Keyboard Macros\7f450840
+Node: Miscellaneous Commands\7f451544
+Node: Readline vi Mode\7f458114
+Node: Programmable Completion\7f459094
+Node: Programmable Completion Builtins\7f467834
+Node: A Programmable Completion Example\7f479574
+Node: Using History Interactively\7f484922
+Node: Bash History Facilities\7f485606
+Node: Bash History Builtins\7f489344
+Node: History Interaction\7f495818
+Node: Event Designators\7f500771
+Node: Word Designators\7f502352
+Node: Modifiers\7f504659
+Node: Installing Bash\7f506599
+Node: Basic Installation\7f507718
+Node: Compilers and Options\7f511597
+Node: Compiling For Multiple Architectures\7f512350
+Node: Installation Names\7f514106
+Node: Specifying the System Type\7f516343
+Node: Sharing Defaults\7f517092
+Node: Operation Controls\7f517809
+Node: Optional Features\7f518831
+Node: Reporting Bugs\7f531214
+Node: Major Differences From The Bourne Shell\7f532574
+Node: GNU Free Documentation License\7f553997
+Node: Indexes\7f579177
+Node: Builtin Index\7f579631
+Node: Reserved Word Index\7f586732
+Node: Variable Index\7f589180
+Node: Function Index\7f606596
+Node: Concept Index\7f620594
 \1f
 End Tag Table
 
index ddf669c59901d8b277e4cf446af69caa846bb2d2..b08cc56c7793e6ec03a6c235521a3769b6a852d7 100644 (file)
@@ -1,12 +1,12 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9)  13 DEC 2024 09:15
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.9)  8 JAN 2025 09:33
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
  %&-line parsing enabled.
-**\nonstopmode \input /usr/local/src/bash/bash-20241207/doc/bashref.texi \input
- /usr/local/src/bash/bash-20241207/doc/bashref.texi
-(/usr/local/src/bash/bash-20241207/doc/bashref.texi
-(/usr/local/src/bash/bash-20241207/doc/texinfo.tex
+**\input /usr/local/src/bash/bash-20241227/doc/bashref.texi \input /usr/local/s
+rc/bash/bash-20241227/doc/bashref.texi
+(/usr/local/src/bash/bash-20241227/doc/bashref.texi
+(/usr/local/src/bash/bash-20241227/doc/texinfo.tex
 Loading texinfo [version 2015-11-22.14]:
 \outerhsize=\dimen16
 \outervsize=\dimen17
@@ -162,20 +162,23 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
 texinfo.tex: doing @include of version.texi
 
 
-(/usr/local/src/bash/bash-20241207/doc/version.texi) [1] [2]
-(/usr/local/build/bash/bash-20241207/doc/bashref.toc [-1] [-2] [-3]) [-4]
-Chapter 1
+(/usr/local/src/bash/bash-20241227/doc/version.texi) [1{/opt/local/var/db/texmf
+/fonts/map/pdftex/updmap/pdftex.map}] [2]
+(/usr/local/build/bash/bash-20241227/doc/bashref.toc [-1] [-2] [-3]) [-4]
+(/usr/local/build/bash/bash-20241227/doc/bashref.toc)
+(/usr/local/build/bash/bash-20241227/doc/bashref.toc) Chapter 1
 \openout0 = `bashref.toc'.
 
- (/usr/local/build/bash/bash-20241207/doc/bashref.aux)
+
+(/usr/local/build/bash/bash-20241227/doc/bashref.aux)
 \openout1 = `bashref.aux'.
 
- [1] Chapter 2
-[2]
+ [1] Chapter 2 [2]
 @cpindfile=@write2
 \openout2 = `bashref.cp'.
 
- [3] Chapter 3 [4] [5] [6] [7]
+
+[3] Chapter 3 [4] [5] [6] [7]
 @vrindfile=@write3
 \openout3 = `bashref.vr'.
 
@@ -219,16 +222,17 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 744--745
 @rwindfile=@write4
 \openout4 = `bashref.rw'.
 
- [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
-[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
-[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] Chapter 4 [50]
+ [10] [11] [12] [13] [14] [15] [16] [17] [18] [19{/opt/local/share/texmf-texliv
+e/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [20] [21] [22] [23] [24]
+[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39]
+[40] [41] [42] [43] [44] [45] [46] [47] [48] [49] Chapter 4 [50]
 @btindfile=@write5
 \openout5 = `bashref.bt'.
 
- [51]
-[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
-[67] [68] [69] [70] [71]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5773--5773
+ [51] [52]
+[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
+[68] [69] [70] [71] [72]
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5845--5845
  []@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -241,7 +245,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5773--5773
 .etc.
 
 
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5774--5774
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5846--5846
  []@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -253,17 +257,17 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5774--5774
 .@texttt t
 .etc.
 
-[72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] Chapter 5 [84]
-[85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] Chapter 6
-[98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110]
-[111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] Chapter 7
-[122] [123] [124] [125] [126]
+[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] Chapter 5 [84] [85]
+[86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] Chapter 6 [98]
+[99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111]
+[112] [113] [114] [115] [116] [117] [118] [119] [120] [121] Chapter 7 [122]
+[123] [124] [125] [126]
 texinfo.tex: doing @include of rluser.texi
 
 
-(/usr/local/src/bash/bash-20241207/lib/readline/doc/rluser.texi Chapter 8
+(/usr/local/src/bash/bash-20241227/lib/readline/doc/rluser.texi Chapter 8
 [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138]
-Underfull \hbox (badness 7540) in paragraph at lines 963--969
+Underfull \hbox (badness 7540) in paragraph at lines 964--970
  []@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
 -tion
 
@@ -276,7 +280,7 @@ Underfull \hbox (badness 7540) in paragraph at lines 963--969
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 963--969
+Underfull \hbox (badness 10000) in paragraph at lines 964--970
  @texttt universal-argument[]@textrm , @textttsl M-DEL[] @textrm is bound to th
 e func-tion
 
@@ -289,7 +293,7 @@ e func-tion
 .etc.
 
 [139] [140] [141] [142]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 1209--1209
+Overfull \hbox (26.43913pt too wide) in paragraph at lines 1210--1210
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] 
 
@@ -310,10 +314,10 @@ gnored[]
 texinfo.tex: doing @include of hsuser.texi
 
 
-(/usr/local/src/bash/bash-20241207/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20241227/lib/readline/doc/hsuser.texi Chapter 9
 [165] [166] [167] [168] [169] [170] [171]) Chapter 10 [172] [173] [174]
 [175] [176]
-Underfull \hbox (badness 10000) in paragraph at lines 10464--10473
+Underfull \hbox (badness 10000) in paragraph at lines 10581--10590
 []@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
 entation[]@textrm '[],
 
@@ -326,7 +330,7 @@ entation[]@textrm '[],
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 10464--10473
+Underfull \hbox (badness 10000) in paragraph at lines 10581--10590
 @textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
 extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 
@@ -343,16 +347,37 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 texinfo.tex: doing @include of fdl.texi
 
 
-(/usr/local/src/bash/bash-20241207/doc/fdl.texi [190] [191] [192] [193]
+(/usr/local/src/bash/bash-20241227/doc/fdl.texi [190] [191] [192] [193]
 [194] [195] [196]) Appendix D [197] [198] [199] [200] [201] [202] [203]
 [204] [205] [206] ) 
 Here is how much of TeX's memory you used:
3531 strings out of 495850
- 40273 string characters out of 6172145
88583 words of memory out of 5000000
4879 multiletter control sequences out of 15000+600000
4114 strings out of 495840
+ 47656 string characters out of 6171739
145117 words of memory out of 5000000
5048 multiletter control sequences out of 15000+600000
  34315 words of font info for 116 fonts, out of 8000000 for 9000
  701 hyphenation exceptions out of 8191
- 16i,6n,16p,402b,942s stack positions out of 10000i,1000n,20000p,200000b,200000s
+ 16i,6n,16p,389b,983s stack positions out of 10000i,1000n,20000p,200000b,200000s
+</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
+cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
+csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
+.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb>
+</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/
+local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/
+share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
+exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
+texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
+live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
+fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
+/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
+1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
+lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
+-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
+/sfrm1440.pfb>
+Output written on bashref.pdf (212 pages, 850992 bytes).
+PDF statistics:
+ 2938 PDF objects out of 2984 (max. 8388607)
+ 2678 compressed objects within 27 object streams
+ 340 named destinations out of 1000 (max. 500000)
+ 1157 words of extra memory for PDF output out of 10000 (max. 10000000)
 
-Output written on bashref.dvi (212 pages, 889260 bytes).
index 4a6030a13818c638df479ff471b561f07bdf724c..a3fb5c3b644b66bfbcadf9f1b32de7d642acb52e 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index 43dd520d8696cb8d17ab0a3eaa1a3e49e42e090e..ef573ceca7f186da5713c3e5a50d6982683572c0 100644 (file)
@@ -14,7 +14,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
 of @cite{The GNU Bash Reference Manual},
 for @code{Bash}, Version @value{VERSION}.
 
-Copyright @copyright{} 1988--2024 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2025 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1719,7 +1719,7 @@ until it is reset in that scope or until the function returns.
 Once the function returns, any instance of the variable at a previous
 scope becomes visible.
 If the unset acts on a variable at a previous scope, any instance of a
-variable with that name that had been shadowed will become visible
+variable with that name that had been shadowed becomes visible
 (see below how the @code{localvar_unset} shell option changes this behavior).
 
 The @option{-f} option to the @code{declare} (@code{typeset})
@@ -1796,23 +1796,26 @@ command export var=value
 @end example
 
 In the context where an assignment statement is assigning a value  
-to a shell variable or array index (@pxref{Arrays}),
-the @samp{+=} operator appends to or adds to
+to a shell variable or array index (@pxref{Arrays}), the
+@samp{+=} operator appends to or adds to
 the variable's previous value.
 This includes arguments to declaration commands such as
-@code{declare} that accept assignment statements.
-When @samp{+=} is applied to a variable
-for which the @code{integer} attribute has been set,
+@code{declare}
+that accept assignment statements.
+When @samp{+=}
+is applied to a variable for which the
+@code{integer} attribute has been set,
 the variable's current value and @var{value} are each evaluated as
 arithmetic expressions,
 and the sum of the results is assigned as the variable's value.
 The current value is usually an integer constant, but may be an expression.
-When @samp{+=} is applied to an array variable using compound assignment
-(@pxref{Arrays}), the
-variable's value is not unset (as it is when using @samp{=}), and new
-values are appended to the array beginning at one greater than the array's
-maximum index (for indexed arrays), or added as additional key-value pairs
-in an associative array.
+When @samp{+=}
+is applied to an array variable using compound assignment (@pxref{Arrays}),
+the variable's value is not unset
+(as it is when using @samp{=}),
+and new values are appended to the array
+beginning at one greater than the array's maximum index (for indexed arrays),
+or added as additional key-value pairs in an associative array.
 When applied to a string-valued variable, @var{value} is expanded and
 appended to the variable's value.
 
@@ -2045,12 +2048,13 @@ This mechanism is similar to
 @dfn{filename expansion} (@pxref{Filename Expansion}),
 but the filenames generated need not exist.
 Patterns to be brace expanded are formed from an optional @var{preamble},
-followed by either a series of comma-separated strings or a sequence expression
-between a pair of braces,
-followed by an optional @var{postscript}.
-The preamble is prefixed to each string contained within the braces, and
-the postscript is then appended to each resulting string, expanding left
-to right.
+followed by either a series of comma-separated strings or
+a sequence expression between a pair of braces,
+followed by an optional
+@var{postscript}.
+The preamble is prefixed to each string contained within the braces,
+and the postscript is then appended to each resulting string,
+expanding left to right.
 
 Brace expansions may be nested.
 The results of each expanded string are not sorted;
@@ -2061,7 +2065,8 @@ bash$ echo a@{d,c,b@}e
 ade ace abe
 @end example
 
-A sequence expression takes the form @code{@{@var{x}..@var{y}[..@var{incr}]@}},
+A sequence expression takes the form
+@code{@{@var{x}..@var{y}[..@var{incr}]@}},
 where @var{x} and @var{y} are either integers or letters,
 and @var{incr}, an optional increment, is an integer.
 When integers are supplied, the expression expands to each number between
@@ -2090,11 +2095,13 @@ and closing braces, and at least one unquoted comma or a valid
 sequence expression.
 Any incorrectly formed brace expansion is left unchanged.
 
-A @{ or @samp{,} may be quoted with a backslash to prevent its
+A @samp{@{} or @samp{,}
+may be quoted with a backslash to prevent its
 being considered part of a brace expression.
 To avoid conflicts with parameter expansion, the string @samp{$@{}
 is not considered eligible for brace expansion,
-and inhibits brace expansion until the closing @samp{@}}.
+and inhibits brace expansion until the closing
+@samp{@}}.
 
 This construct is typically used as shorthand when the common
 prefix of the strings to be generated is longer than in the
@@ -2107,6 +2114,38 @@ or
 chown root /usr/@{ucb/@{ex,edit@},lib/@{ex?.?*,how_ex@}@}
 @end example
 
+Brace expansion introduces a slight incompatibility with
+historical versions of
+@command{sh}.
+@command{sh}
+does not treat opening or closing braces specially when they
+appear as part of a word, and preserves them in the output.
+Bash
+removes braces from words as a consequence of brace
+expansion.
+For example, a word entered to
+@command{sh}
+as
+@samp{file@{1,2@}}
+appears identically in the output.
+Bash
+outputs that word as
+@samp{file1 file2}
+after brace expansion.
+Start
+Bash
+with the
+@option{+B}
+option or disable brace expansion with the
+@option{+B}
+option to the
+@code{set}
+command
+(@pxref{Shell Builtin Commands})
+for strict
+@command{sh}
+compatibility.
+
 @node Tilde Expansion
 @subsection Tilde Expansion
 @cindex tilde expansion
@@ -2838,7 +2877,7 @@ word splitting and filename expansion on the results.
 @cindex expansion, arithmetic
 @cindex arithmetic expansion
 
-Arithmetic expansion evalutes an arithmetic expression
+Arithmetic expansion evaluates an arithmetic expression
 and substitutes the result.
 The format for arithmetic expansion is:
 
@@ -2884,8 +2923,9 @@ This filename is
 passed as an argument to the current command as the result of the
 expansion.
 
-If the @code{>(@var{list})} form is used, writing to
-the file provides input for @var{list}.
+If the
+@code{>(@var{list})} form is used, writing to the file
+provides input for @var{list}.
 If the
 @code{<(@var{list})} form is used, reading the file 
 obtains the output of @var{list}.
@@ -3018,23 +3058,25 @@ The filenames
 @file{.} and @file{..}
 are always ignored when @env{GLOBIGNORE}
 is set and not null.
-However, setting @env{GLOBIGNORE} to a non-null value has the effect of
-enabling the @code{dotglob}
+However, setting @env{GLOBIGNORE}
+to a non-null value has the effect of enabling the
+@code{dotglob}
 shell option, so all other filenames beginning with a
 @samp{.}
 match.
 To get the old behavior of ignoring filenames beginning with a
-@samp{.}, make @samp{.*} one of the patterns in @env{GLOBIGNORE}.
+@samp{.},
+make @samp{.*} one of the patterns in @env{GLOBIGNORE}.
 The @code{dotglob} option is disabled when @env{GLOBIGNORE}
 is unset.
 The @code{GLOBIGNORE}
 pattern matching honors the setting of the @code{extglob} shell
 option.
 
-After the pattern is expanded and matched against filenames, the value of the
-@env{GLOBSORT} shell
-variable controls how the results are sorted, as described
-below (@pxref{Bash Variables}).
+The value of the
+@env{GLOBSORT}
+shell variable controls how the results of pathname expansion are sorted,
+as described below (@pxref{Bash Variables}).
 
 @node Pattern Matching
 @subsubsection Pattern Matching
@@ -3095,7 +3137,9 @@ force the use of the C locale by setting the @env{LC_COLLATE} or
 Within a bracket expression, @dfn{character classes} can be specified
 using the syntax
 @code{[:}@var{class}@code{:]}, where @var{class} is one of the
-following classes defined in the @sc{posix} standard:
+following classes defined in the
+@sc{posix}
+standard:
 @example
 alnum   alpha   ascii   blank   cntrl   digit   graph   lower
 print   punct   space   upper   word    xdigit
@@ -3325,17 +3369,20 @@ and the
 @code{noclobber}
 option to the
 @code{set}
-builtin has been enabled, the redirection fails if the file
+builtin command has been enabled, the redirection fails if the file
 whose name results from the expansion of @var{word} exists and is
 a regular file.
-If the redirection operator is @samp{>|}, or the redirection operator is
-@samp{>} and the @code{noclobber} option is not enabled,
-Bash attemps the redirection
+If the redirection operator is @samp{>|},
+or the redirection operator is @samp{>} and
+the @code{noclobber} option to the @code{set}
+builtin is not enabled,
+Bash attempts the redirection
 even if the file named by @var{word} exists.
 
 @subsection Appending Redirected Output
 Redirecting output in this fashion opens
-the file whose name results from the expansion of @var{word}
+the file whose name results from the expansion of
+@var{word}
 for appending on file descriptor @var{n},
 or the standard output (file descriptor 1) if @var{n}
 is not specified.
@@ -4606,7 +4653,9 @@ commands sort lexicographically using ASCII ordering.
 
 The historical operator-precedence parsing with 4 or more arguments can
 lead to ambiguities when it encounters strings that look like primaries.
-The @sc{posix} standard has deprecated the @option{-a} and @option{-o}
+The
+@sc{posix}
+standard has deprecated the @option{-a} and @option{-o}
 primaries and enclosing expressions within parentheses.
 Scripts should no longer use them.
 It's much more reliable to restrict test invocations to a single primary,
@@ -4643,7 +4692,7 @@ The @var{action} is a command that is read and executed when the
 shell receives any of the signals @var{sigspec}.
 If @var{action} is absent (and
 there is a single @var{sigspec}) or
-equal to @samp{-}, each specified @var{sigspec}'ss disposition is reset
+equal to @samp{-}, each specified @var{sigspec}'s disposition is reset
 to the value it had when the shell was started.
 If @var{action} is the null string, then the signal specified by
 each @var{sigspec} is ignored by the shell and commands it invokes.
@@ -4907,7 +4956,7 @@ If the separator is a colon, any enclosing double quotes are optional, and
 Readline does not expand the command string before saving it.
 Since the entire key binding expression must be a single argument, it
 should be enclosed in single quotes.
-When @var{shell-command} is executed, the shell sets thex
+When @var{shell-command} is executed, the shell sets the
 @code{READLINE_LINE} variable to the contents of the Readline line
 buffer
 and the
@@ -5194,7 +5243,9 @@ The @option{-n} option means to print only disabled builtins.
 The @option{-a} option means to list
 each builtin with an indication of whether or not it is enabled. 
 The @option{-s} option means to
-restrict @code{enable} to the @sc{posix} special builtins.
+restrict @code{enable} to the
+@sc{posix}
+special builtins.
 
 The @option{-f} option means to load the new builtin command @var{name}
 from shared object @var{filename}, on systems that support dynamic loading.
@@ -5204,8 +5255,9 @@ colon-separated list of directories in which to search for @var{filename}.
 The default for @env{BASH_LOADABLES_PATH} is system-dependent,
 and may include "." to force a search of the current directory.
 The @option{-d} option will delete a builtin loaded with @option{-f}.
-If @option{-s} is used with @option{-f}, the new builtin becomes
-a special builtin (@pxref{Special Builtins}).
+If @option{-s} is used with @option{-f}, the new builtin becomes a
+@sc{posix}
+special builtin (@pxref{Special Builtins}).
 
 If no options are supplied and a @var{name} is not a shell builtin,
 @code{enable} will attempt to load @var{name} from a shared object named
@@ -5223,8 +5275,10 @@ help [-dms] [@var{pattern}]
 
 Display helpful information about builtin commands.
 If @var{pattern} is specified, @code{help} gives detailed help
-on all commands matching @var{pattern}, otherwise it displays
-a list of all builtins and shell compound commands.
+on all commands matching @var{pattern}
+as described below;
+otherwise it displays a list of
+all builtins and shell compound commands.
 
 Options, if supplied, have the following meanings:
 
@@ -5237,6 +5291,18 @@ Display the description of each @var{pattern} in a manpage-like format
 Display only a short usage synopsis for each @var{pattern}
 @end table
 
+If @var{pattern} contains pattern matching characters
+(@pxref{Pattern Matching})
+it's treated as a shell pattern and
+@code{help} prints the description of each
+help topic matching @var{pattern}.
+
+If not, and @var{pattern} exactly matches the name of a help topic,
+@code{help} prints the description
+associated with that topic.
+Otherwise, @code{help} performs prefix matching and
+prints the descriptions of all matching help topics. 
+
 The return status is zero unless no command matches @var{pattern}.
 
 @item let
@@ -5680,7 +5746,9 @@ allow this value to be set).
 The pipe buffer size.
 
 @item -q
-The maximum number of bytes in @sc{posix} message queues.
+The maximum number of bytes in
+@sc{posix}
+message queues.
 
 @item -r
 The maximum real-time scheduling priority.
@@ -5736,7 +5804,7 @@ Values are in 1024-byte increments, except for
 @option{-b},
 @option{-k},
 @option{-n} and @option{-u}, which are unscaled values;
-and, when in @sc{posix} Mode (@pxref{Bash POSIX Mode}),
+and, when in @sc{posix} mode (@pxref{Bash POSIX Mode}),
 @option{-c} and @option{-f}, which are in 512-byte increments.
 
 The return status is zero unless an invalid option or argument is supplied,
@@ -5944,7 +6012,8 @@ commands in the pipeline exit successfully.
 This option is disabled by default.
 
 @item posix
-Change the behavior of Bash where the default operation differs
+Enable @sc{posix} mode;
+change the behavior of Bash where the default operation differs
 from the @sc{posix} standard to match the standard
 (@pxref{Bash POSIX Mode}).
 This is intended to make Bash behave as a strict superset of that
@@ -6867,9 +6936,9 @@ being closed.
 
 @item CHILD_MAX
 Set the number of exited child status values for the shell to remember.
-Bash will not allow this value to be decreased below a @sc{posix}-mandated
-minimum, and there is a maximum value (currently 8192) that this may
-not exceed.
+Bash will not allow this value to be decreased below a
+@sc{posix}-mandated minimum,
+and there is a maximum value (currently 8192) that this may not exceed.
 The minimum value is system-dependent.
 
 @item COLUMNS
@@ -6966,7 +7035,7 @@ running in an Emacs shell buffer and disables line editing.
 Expanded and executed similarly to @code{BASH_ENV}
 (@pxref{Bash Startup Files})
 when an interactive shell is invoked in
-@sc{posix} Mode (@pxref{Bash POSIX Mode}).
+@sc{posix} mode (@pxref{Bash POSIX Mode}).
 
 @item EPOCHREALTIME
 Each time this parameter is referenced, it expands to the number of seconds
@@ -7119,14 +7188,19 @@ quick substitution, and tokenization
 The first character is the @dfn{history expansion} character,
 the character which begins a history expansion, normally
 @samp{!}.
-The second character is the ``quick substitution'' character, normally
+The second character is the
+@dfn{quick substitution}
+character, normally
 @samp{^}.
 When it appears as the first character on the line,
 history substitution repeats the previous command,
 replacing one string with another.
-The optional third character is the character which indicates that
-the remainder of the line is a comment when found as the first character
-of a word, usually @samp{#}.
+The optional third character is the
+@dfn{history comment}
+character, normally @samp{#},
+which indicates
+that the remainder of the line is a comment
+when it appears as the first character of a word.
 The history comment character disables history substitution
 for the remaining words on the line.
 It does not necessarily cause the shell parser to treat the rest of the
@@ -7436,24 +7510,27 @@ is unset, it loses its special properties, even if it is
 subsequently reset.
 
 @item READLINE_ARGUMENT
-Any numeric argument given to a Readline command that was defined using
+Any numeric argument given to a Readline
+command that was defined using
 @samp{bind -x} (@pxref{Bash Builtins}
 when it was invoked.
 
 @item READLINE_LINE
-The contents of the Readline line buffer, for use
-with @samp{bind -x} (@pxref{Bash Builtins}).
+The contents of the Readline
+line buffer, for use with
+@samp{bind -x} (@pxref{Bash Builtins}).
 
 @item READLINE_MARK
-The position of the @dfn{mark} (saved insertion point) in the
-Readline line buffer, for use
+The position of the @dfn{mark} (saved insertion point) in the Readline
+line buffer, for use
 with @samp{bind -x} (@pxref{Bash Builtins}).
 The characters between the insertion point and the mark are often
 called the @dfn{region}.
 
 @item READLINE_POINT
-The position of the insertion point in the Readline line buffer, for use
-with @samp{bind -x} (@pxref{Bash Builtins}).
+The position of the insertion point in the Readline
+line buffer, for use with
+@samp{bind -x} (@pxref{Bash Builtins}).
 
 @item REPLY
 The default variable for the @code{read} builtin;
@@ -7485,6 +7562,8 @@ as @samp{on} by @samp{set -o}.
 If this variable is in the environment when Bash
 starts up, the shell enables each option in the list before
 reading any startup files.
+If this variable is exported, child shells will enable each option
+in the list.
 This variable is readonly.
 
 @item SHLVL
@@ -7659,8 +7738,11 @@ interactive shell.
 This is on by default if the shell is invoked as @code{sh}.
 
 @item --posix
-Change the behavior of Bash where the default operation differs
-from the @sc{posix} standard to match the standard.
+Enable @sc{posix} mode;
+change the behavior of Bash
+where the default operation differs from the
+@sc{posix}
+standard to match the standard.
 This is intended to make Bash behave as a strict superset of that
 standard.
 @xref{Bash POSIX Mode}, for a description of the Bash @sc{posix} mode.
@@ -7748,21 +7830,23 @@ Equivalent to @code{--}.
 @end table
 
 @cindex login shell
-A @emph{login} shell is one whose first character of argument zero is
+A @dfn{login shell} is one whose first character of argument zero is
 @samp{-}, or one invoked with the @option{--login} option.
 
 @cindex interactive shell
-An @emph{interactive} shell is one started without non-option arguments,
-unless @option{-s} is specified, without specifying the @option{-c} option,
-and whose input and output (using the standard error) are both
-connected to terminals (as determined by @code{isatty(3)}), or one
-started with the @option{-i} option.
+An @dfn{interactive shell} is one started without non-option arguments,
+unless @option{-s} is specified,
+without specifying the @option{-c} option,
+and whose standard input and standard error are both
+connected to terminals (as determined by
+@i{isatty(3)}),
+or one started with the @option{-i} option.
 @xref{Interactive Shells}, for more information.
 
 If arguments remain after option processing, and neither the
 @option{-c} nor the @option{-s}
-option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands (@pxref{Shell Scripts}).
+option has been supplied, the first argument is treated as
+the name of a file containing shell commands (@pxref{Shell Scripts}).
 When Bash is invoked in this fashion, @code{$0}
 is set to the name of the file, and the positional parameters
 are set to the remaining arguments.
@@ -7770,6 +7854,11 @@ Bash reads and executes commands from this file, then exits.
 Bash's exit status is the exit status of the last command executed
 in the script.
 If no commands are executed, the exit status is 0.
+Bash
+first attempts to open the file in the current directory,
+and, if no file is found, searches the directories in
+@env{PATH}
+for the script.
 
 @node Bash Startup Files
 @section Bash Startup Files
@@ -7830,39 +7919,48 @@ but does not the value of the @env{PATH} variable to search for the
 filename.
 
 As noted above, if a non-interactive shell is invoked with the
-@option{--login} option, Bash attempts to read and execute commands from the
+@option{--login} option,
+Bash attempts to read and execute commands from the
 login shell startup files. 
 
 @subsubheading Invoked with name @code{sh}
 
-If Bash is invoked with the name @code{sh}, it tries to mimic the
-startup behavior of historical versions of @code{sh} as closely as
-possible, while conforming to the @sc{posix} standard as well.
+If Bash is invoked with the name @command{sh},
+it tries to mimic the startup behavior of historical versions of
+@command{sh} as closely as possible,
+while conforming to the
+@sc{posix}
+standard as well.
 
 When invoked as an interactive login shell, or as a non-interactive
 shell with the @option{--login} option, it first attempts to read
-and execute commands from @file{/etc/profile} and @file{~/.profile}, in
-that order.
+and execute commands from
+@file{/etc/profile} and @file{~/.profile},
+in that order.
 The @option{--noprofile} option inhibits this behavior.
 
-When invoked as an interactive shell with the name @code{sh}, Bash
-looks for the variable @env{ENV}, expands its value if it is defined,
-and uses the expanded value as the name of a file to read and execute.
-Since a shell invoked as @code{sh} does not attempt to read and execute
-commands from any other startup files, the @option{--rcfile} option has
-no effect.
+When invoked as an interactive shell with the name @command{sh}, Bash
+looks for the variable @env{ENV},
+expands its value if it is defined, and uses the
+expanded value as the name of a file to read and execute.
+Since a shell invoked as @command{sh}
+does not attempt to read and execute commands from any other startup
+files, the
+@option{--rcfile}
+option has no effect.
 
-A non-interactive shell invoked with the name @code{sh} does not attempt
-to read any other startup files.
+A non-interactive shell invoked with the name @command{sh}
+does not attempt to read any other startup files.
 
-When invoked as @code{sh}, Bash enters @sc{posix} mode after reading
+When invoked as @command{sh}, Bash enters @sc{posix} mode after reading
 the startup files.
 
 @subsubheading Invoked in @sc{posix} mode
 
 When Bash is started in @sc{posix} mode, as with the
-@option{--posix} command line option, it follows the @sc{posix} standard
-for startup files.
+@option{--posix} command line option, it follows the
+@sc{posix}
+standard for startup files.
 In this mode, interactive shells expand the @env{ENV} variable
 and read and execute commands from the file whose name is the
 expanded value.
@@ -7870,14 +7968,17 @@ No other startup files are read.
 
 @subsubheading Invoked by remote shell daemon
 
-Bash attempts to determine when it is being run with its standard input
+Bash
+attempts to determine when it is being run with its standard input
 connected to a network connection, as when executed by
 the historical and rarely-seen remote shell daemon, usually @code{rshd},
 or the secure shell daemon @code{sshd}.
-If Bash
+If
+Bash
 determines it is being run non-interactively in this fashion,
-it reads and executes commands from @file{~/.bashrc}, if that
-file exists and is readable.
+it reads and executes commands from
+@file{~/.bashrc},
+if that file exists and is readable.
 Bash does not read this file if invoked as @code{sh}.
 The
 @option{--norc}
@@ -8212,7 +8313,9 @@ True if the strings are equal.
 When used with the @code{[[} command, this performs pattern matching as
 described above (@pxref{Conditional Constructs}).
 
-@samp{=} should be used with the @code{test} command for @sc{posix} conformance.
+@samp{=} should be used with the @code{test} command for
+@sc{posix}
+conformance.
 
 @item @var{string1} != @var{string2}
 True if the strings are not equal.
@@ -8446,7 +8549,8 @@ There is no maximum
 limit on the size of an array, nor any requirement that members
 be indexed or assigned contiguously.
 Indexed arrays are referenced using arithmetic expressions
-that must expand to an integer (@pxref{Shell Arithmetic})) and are zero-based;
+that must expand to an integer (@pxref{Shell Arithmetic}))
+and are zero-based;
 associative arrays use arbitrary strings.
 Unless otherwise noted, indexed array indices must be non-negative integers.
 
@@ -8460,7 +8564,7 @@ using the syntax
 The @var{subscript}
 is treated as an arithmetic expression that must evaluate to a number
 greater than or equal to zero.
-To explicitly declare an array, use
+To explicitly declare an indexed array, use
 @example
 declare -a @var{name}
 @end example
@@ -8479,9 +8583,8 @@ Associative arrays are created using
 declare -A @var{name}
 @end example
 
-Attributes may be
-specified for an array variable using the @code{declare} and
-@code{readonly} builtins.
+Attributes may be specified for an array variable using the
+@code{declare} and @code{readonly} builtins.
 Each attribute applies to all members of an array.
 
 Arrays are assigned using compound assignments of the form
@@ -8529,8 +8632,10 @@ interpreted as relative to one greater than the maximum index of
 @var{name}, so negative indices count back from the end of the
 array, and an index of -1 references the last element.
 
-The @samp{+=} operator appends to an array variable when assigning
-using the compound assignment syntax; see @ref{Shell Parameters} above.
+The @samp{+=}
+operator appends to an array variable when assigning
+using the compound assignment syntax; see
+@ref{Shell Parameters} above.
 
 An array element is referenced using
 @code{$@{@var{name}[@var{subscript}]@}}.
@@ -8936,7 +9041,8 @@ such as @code{jails}, @code{zones}, or @code{containers}.
 @subsection What is POSIX?
 @cindex POSIX description
 
-@sc{posix} is the name for a family of standards based on Unix.
+@sc{posix}
+is the name for a family of standards based on Unix.
 A number of Unix services, tools, and functions are part of the standard,
 ranging from the basic system calls and C library functions to common
 applications and tools to system administration and management.
@@ -8968,11 +9074,11 @@ The @i{special} builtins, which must be implemented as part of the
 shell to provide the desired functionality, are specified as
 being part of the shell; examples of these are @code{eval} and
 @code{export}.
-Other utilities appear in the sections of POSIX not
+Other utilities appear in the sections of @sc{posix} not
 devoted to the shell which are commonly (and in some cases must
 be) implemented as builtin commands, such as
 @code{read} and @code{test}.
-POSIX also specifies aspects of the shell's interactive
+@sc{posix} also specifies aspects of the shell's interactive
 behavior, including job control and command
 line editing.
 Only vi-style line editing commands have been standardized;
@@ -8985,7 +9091,7 @@ Although Bash is an implementation of the @sc{posix} shell
 specification, there are areas where the Bash default behavior
 differs from the specification.
 The Bash @dfn{posix mode} changes the Bash
-behavior in these areas so that it conforms more closely
+behavior in these areas so that it conforms more strictly
 to the standard.
 
 Starting Bash with the @option{--posix} command-line option or executing
@@ -8996,7 +9102,7 @@ match that specified by @sc{posix} in areas where the Bash default differs.
 When invoked as @code{sh}, Bash enters @sc{posix} mode after reading the
 startup files.
 
-The following list is what's changed when `@sc{posix} mode' is in effect:
+The following list is what's changed when @sc{posix} mode is in effect:
 
 @enumerate
 @item
@@ -9505,14 +9611,18 @@ strcoll(3).
 @item compat41
 @itemize @bullet
 @item
-In posix mode, @code{time} may be followed by options and still be
-recognized as a reserved word (this is @sc{posix} interpretation 267).
+In @sc{posix} mode, @code{time} may be followed by options and still be
+recognized as a reserved word (this is
+@sc{posix}
+interpretation 267).
 @item
-In posix mode, the parser requires that an even number of single
+In @sc{posix} mode, the parser requires that an even number of single
 quotes occur in the @var{word} portion of a double-quoted $@{@dots{}@}
 parameter expansion and treats them specially, so that characters within
 the single quotes are considered quoted
-(this is @sc{posix} interpretation 221).
+(this is
+@sc{posix}
+interpretation 221).
 @end itemize
 
 @item compat42
@@ -9521,10 +9631,12 @@ the single quotes are considered quoted
 The replacement string in double-quoted pattern substitution does not
 undergo quote removal, as it does in versions after bash-4.2.
 @item
-In posix mode, single quotes are considered special when expanding
+In @sc{posix} mode, single quotes are considered special when expanding
 the @var{word} portion of a double-quoted $@{@dots{}@} parameter expansion
 and can be used to quote a closing brace or other special character
-(this is part of @sc{posix} interpretation 221);
+(this is part of
+@sc{posix}
+interpretation 221);
 in later versions, single quotes
 are not special within double-quoted word expansions.
 @end itemize
@@ -9533,7 +9645,7 @@ are not special within double-quoted word expansions.
 @itemize @bullet
 @item
 Word expansion errors are considered non-fatal errors that cause the
-current command to fail, even in posix mode
+current command to fail, even in @sc{posix} mode
 (the default behavior is to make them fatal errors that cause the shell
 to exit).
 @item
@@ -9556,7 +9668,8 @@ Bash-5.0 and later reset the loop state to prevent the exit.
 @item
 Variable assignments preceding builtins like @code{export} and @code{readonly}
 that set attributes continue to affect variables with the same
-name in the calling environment even if the shell is not in posix
+name in the calling environment even if the shell is not in
+@sc{posix}
 mode.
 @end itemize
 
@@ -10700,7 +10813,7 @@ The hardware and operating system.
 @item
 The compiler used to compile Bash.
 @item
-A description of the bug behaviour.
+A description of the bug behavior.
 @item
 A short script or `recipe' which exercises the bug and may be used
 to reproduce it.
index 69fbbaa4b4928cee06893443f34a02a1a7e88264..2ae0ec4bf4d4c5a073a1b64c04c817bad6b47b3b 100644 (file)
 @numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{27}
 @numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{35}
 @numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{36}
-@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{36}
+@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{37}
 @numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{37}
-@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{37}
+@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{38}
 @numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{38}
 @numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{40}
 @numsecentry{Redirections}{3.6}{Redirections}{40}
-@numsubsecentry{Redirecting Input}{3.6.1}{}{41}
+@numsubsecentry{Redirecting Input}{3.6.1}{}{42}
 @numsubsecentry{Redirecting Output}{3.6.2}{}{42}
 @numsubsecentry{Appending Redirected Output}{3.6.3}{}{42}
 @numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{42}
@@ -53,7 +53,7 @@
 @numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{44}
 @numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{45}
 @numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{45}
-@numsubsecentry{Environment}{3.7.4}{Environment}{46}
+@numsubsecentry{Environment}{3.7.4}{Environment}{47}
 @numsubsecentry{Exit Status}{3.7.5}{Exit Status}{47}
 @numsubsecentry{Signals}{3.7.6}{Signals}{48}
 @numsecentry{Shell Scripts}{3.8}{Shell Scripts}{49}
@@ -61,9 +61,9 @@
 @numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{51}
 @numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{60}
 @numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{72}
-@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{72}
+@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{73}
 @numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{77}
-@numsecentry{Special Builtins}{4.4}{Special Builtins}{83}
+@numsecentry{Special Builtins}{4.4}{Special Builtins}{84}
 @numchapentry{Shell Variables}{5}{Shell Variables}{85}
 @numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{85}
 @numsecentry{Bash Variables}{5.2}{Bash Variables}{86}
index 2b6b75b830eafebf0b8f4db37912b502d33c22fa..7d31f0aa0c971d008820380f94c30a4cd0502730 100644 (file)
@@ -226,7 +226,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               An argument of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before  attempting  the
               directory change.
 
-              If  c\bcd\bd  uses  a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH,\b, or if -\b- is
+              If  c\bcd\bd  uses  a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH, or if -\b- is
               the first argument, and the directory change is  successful,  c\bcd\bd
               writes the absolute pathname of the new working directory to the
               standard output.
@@ -857,13 +857,25 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
               Display  helpful information about builtin commands.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
               is specified, h\bhe\bel\blp\bp gives detailed help on all commands  matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn;  otherwise  it  displays a list of all the builtins and
-              shell compound commands.
+              _\bp_\ba_\bt_\bt_\be_\br_\bn  as described below; otherwise it displays a list of all
+              the builtins and shell compound commands.
+
+              Options, if supplied, have the follow meanings:
+
               -\b-d\bd     Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
               -\b-m\bm     Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
                      format
               -\b-s\bs     Display only a short usage synopsis for each _\bp_\ba_\bt_\bt_\be_\br_\bn
 
+              If _\bp_\ba_\bt_\bt_\be_\br_\bn contains pattern  matching  characters  (see  P\bPa\bat\btt\bte\ber\brn\bn
+              M\bMa\bat\btc\bch\bhi\bin\bng\bg  above) it's treated as a shell pattern and h\bhe\bel\blp\bp prints
+              the description of each help topic matching _\bp_\ba_\bt_\bt_\be_\br_\bn.
+
+              If not, and _\bp_\ba_\bt_\bt_\be_\br_\bn exactly matches the name of  a  help  topic,
+              h\bhe\bel\blp\bp  prints the description associated with that topic.  Other-
+              wise, h\bhe\bel\blp\bp performs prefix matching and prints the  descriptions
+              of all matching help topics.
+
               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]
@@ -873,18 +885,18 @@ B\bBA\bAS\bSH\bH 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-a\ban\bnr\brw\bw [_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be]
        h\bhi\bis\bst\bto\bor\bry\by -\b-p\bp _\ba_\br_\bg [_\ba_\br_\bg ...]
        h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg ...]
-              With no options, display the command history list with  numbers.
-              Entries  prefixed with a *\b* have been modified.  An argument of _\bn
-              lists only the last _\bn entries.  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.  If h\bhi\bis\bst\bto\bor\bry\by uses H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, it does
-              not print an intervening space between the formatted time  stamp
+              With  no options, display the command history list with numbers.
+              Entries prefixed with a *\b* have been modified.  An argument of  _\bn
+              lists  only the last _\bn entries.  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.  If h\bhi\bis\bst\bto\bor\bry\by uses H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT,  it  does
+              not  print an intervening space between the formatted time stamp
               and the history entry.
 
               If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is supplied, h\bhi\bis\bst\bto\bor\bry\by uses it as the name of the his-
-              tory  file;  if not, it uses the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              is not supplied and H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the -\b-a\ba,\b,  -\b-n\bn,\b -\b-r\br,\b,
+              tory file; if not, it uses the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE.   If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+              is  not  supplied and H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b,
               and -\b-w\bw options have no effect.
 
               Options, if supplied, have the following meanings:
@@ -892,20 +904,20 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      can be used with the other options to replace the history
                      list.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
-                     Delete  the  history entry at position _\bo_\bf_\bf_\bs_\be_\bt.  If _\bo_\bf_\bf_\bs_\be_\bt
+                     Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bo_\bf_\bf_\bs_\be_\bt
                      is negative, it is interpreted as relative to one greater
                      than the last history position, so negative indices count
-                     back from the end of the history,  and  an  index  of  -1
+                     back  from  the  end  of  the history, and an index of -1
                      refers to the current h\bhi\bis\bst\bto\bor\bry\by -\b-d\bd command.
               -\b-d\bd _\bs_\bt_\ba_\br_\bt-_\be_\bn_\bd
-                     Delete  the  range  of  history entries between positions
-                     _\bs_\bt_\ba_\br_\band _\be_\bn_\bd, inclusive.  Positive and  negative  values
+                     Delete the range of  history  entries  between  positions
+                     _\bs_\bt_\ba_\br_\b and  _\be_\bn_\bd, inclusive.  Positive and negative values
                      for _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd are interpreted as described above.
-              -\b-a\ba     Append  the history lines to the history file.  These are
-                     history lines entered since the beginning of the  current
-                     b\bba\bas\bsh\b session,  but  not  already appended to the history
+              -\b-a\ba     Append the history lines to the history file.  These  are
+                     history  lines entered since the beginning of the current
+                     b\bba\bas\bsh\bsession, but not already  appended  to  the  history
                      file.
-              -\b-n\bn     Read the history lines not already read from the  history
+              -\b-n\bn     Read  the history lines not already read from the history
                      file and add them to the current history list.  These are
                      lines appended to the history file since the beginning of
                      the current b\bba\bas\bsh\bh session.
@@ -913,24 +925,24 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      rent history list.
               -\b-w\bw     Write the current history list to the history file, over-
                      writing the history file.
-              -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
-                     display the result on the standard output, without  stor-
-                     ing  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, without stor-
+                     ing 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
                      adding the _\ba_\br_\bg_\bs.
 
-              If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, h\bhi\bis\bst\bto\bor\bry\by writes  the  time
+              If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, h\bhi\bis\bst\bto\bor\bry\by writes the time
               stamp information associated with each history entry to the his-
-              tory  file,  marked  with  the  history comment character as de-
-              scribed above.  When the history file is read,  lines  beginning
-              with  the  history  comment  character followed immediately by a
-              digit are interpreted as timestamps for  the  following  history
+              tory file, marked with the  history  comment  character  as  de-
+              scribed  above.   When the history file is read, lines beginning
+              with the history comment character  followed  immediately  by  a
+              digit  are  interpreted  as timestamps for the following history
               entry.
 
-              The  return  value is 0 unless an invalid option is encountered,
-              an error occurs while reading or writing the  history  file,  an
+              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 or range is supplied as an argument to -\b-d\bd, or the
               history expansion supplied as an argument to -\b-p\bp fails.
 
@@ -939,14 +951,14 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-n\bn     Display  information  only  about  jobs that have changed
+              -\b-n\bn     Display information only about  jobs  that  have  changed
                      status since the user was last notified of their status.
-              -\b-p\bp     List only the process  ID  of  the  job's  process  group
+              -\b-p\bp     List  only  the  process  ID  of  the job's process group
                      leader.
               -\b-r\br     Display only running jobs.
               -\b-s\bs     Display only stopped jobs.
 
-              If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  supplied,  j\bjo\bob\bbs\bs restricts output to information
+              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, j\bjo\bob\bbs\bs  restricts  output  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.
 
@@ -956,237 +968,237 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        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] _\bi_\bd [ ... ]
        k\bki\bil\bll\bl -\b-l\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 specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the  processes
+              Send  the signal specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
               named by each _\bi_\bd.  Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or
-              a  process  ID _\bp_\bi_\bd.  _\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  sig-
-              nal  number;  _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not sup-
+              a process ID _\bp_\bi_\bd.  _\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 sig-
+              nal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is  not  sup-
               plied, then k\bki\bil\bll\bl sends S\bSI\bIG\bGT\bTE\bER\bRM\bM.
 
               The -\b-l\bl option lists the signal names.  If any arguments are sup-
               plied when -\b-l\bl is given, k\bki\bil\bll\bl lists the names of the signals cor-
-              responding to the arguments, and the return status  is  0.   The
-              _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\b argument to -\b-l\bl is a number specifying either a sig-
-              nal number or the exit status of a process terminated by a  sig-
-              nal;  if it is supplied, k\bki\bil\bll\bl prints the name of the signal that
+              responding  to  the  arguments, and the return status is 0.  The
+              _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bargument to -\b-l\bl is a number specifying either a  sig-
+              nal  number or the exit status of a process terminated by a sig-
+              nal; if it is supplied, k\bki\bil\bll\bl prints the name of the signal  that
               caused the process to terminate.  k\bki\bil\bll\bl assumes that process exit
               statuses are greater than 128; anything less than that is a sig-
               nal number.  The -\b-L\bL option is equivalent to -\b-l\bl.
 
-              k\bki\bil\bll\breturns true if at least one signal was successfully  sent,
+              k\bki\bil\bll\b 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  evaluated as an arithmetic expression (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)).  If the last _\ba_\br_\bg evaluates  to  0,
+              Each _\ba_\br_\bg is evaluated as an arithmetic  expression  (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  in _\bb_\ba_\bs_\bh(1)).  If the last _\ba_\br_\bg evaluates to 0,
               l\ble\bet\bt returns 1; otherwise l\ble\bet\bt returns 0.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
               For each argument, create a local variable named _\bn_\ba_\bm_\be and assign
-              it  _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted by d\bde\be-\b-
-              c\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-
-              tion and its children.  It is an error to  use  l\blo\boc\bca\bal\bl  when  not
+              it _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted by  d\bde\be-\b-
+              c\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-
+              tion  and  its  children.   It is an error to use l\blo\boc\bca\bal\bl when not
               within a function.
 
-              If  _\bn_\ba_\bm_\be  is  -,  it makes the set of shell options local to the
-              function in which l\blo\boc\bca\bal\bl is invoked: any  shell  options  changed
-              using  the s\bse\bet\bt builtin inside the function after the call to l\blo\bo-\b-
-              c\bca\bal\bare restored to their original values when the function  re-
-              turns.   The restore is performed as if a series of s\bse\bet\bt commands
-              were executed to restore the values that were  in  place  before
+              If _\bn_\ba_\bm_\be is -, it makes the set of shell  options  local  to  the
+              function  in  which  l\blo\boc\bca\bal\bl is invoked: any shell options changed
+              using the s\bse\bet\bt builtin inside the function after the call to  l\blo\bo-\b-
+              c\bca\bal\b are restored to their original values when the function re-
+              turns.  The restore is performed as if a series of s\bse\bet\b commands
+              were  executed  to  restore the values that were in place before
               the function.
 
-              With  no operands, l\blo\boc\bca\bal\bl writes a list of local variables to the
+              With no operands, l\blo\boc\bca\bal\bl writes a list of local variables to  the
               standard output.
 
-              The return status is 0 unless l\blo\boc\bca\bal\bl is used outside a  function,
+              The  return status is 0 unless l\blo\boc\bca\bal\bl is used outside a function,
               an invalid _\bn_\ba_\bm_\be is supplied, or _\bn_\ba_\bm_\be is a readonly variable.
 
        l\blo\bog\bgo\bou\but\bt [\b[_\bn]\b]
-              Exit  a login shell, returning a status of _\bn to the shell's par-
+              Exit a login shell, returning a status of _\bn to the shell's  par-
               ent.
 
        m\bma\bap\bpf\bfi\bil\ble\be [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
        r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-              Read lines from the standard input, or from file  descriptor  _\bf_\bd
-              if  the  -\b-u\bu  option is supplied, into the indexed array variable
-              _\ba_\br_\br_\ba_\by.  The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options,  if
+              Read  lines  from the standard input, or from file descriptor _\bf_\bd
+              if the -\b-u\bu option is supplied, into the  indexed  array  variable
+              _\ba_\br_\br_\ba_\by.   The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if
               supplied, have the following meanings:
-              -\b-d\bd     Use  the first character of _\bd_\be_\bl_\bi_\bm to terminate each input
+              -\b-d\bd     Use the first character of _\bd_\be_\bl_\bi_\bm to terminate each  input
                      line, rather than newline.  If _\bd_\be_\bl_\bi_\bm is the empty string,
                      m\bma\bap\bpf\bfi\bil\ble\be will terminate a line when it reads a NUL charac-
                      ter.
               -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, copy all lines.
-              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
+              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
-              -\b-t\bt     Remove  a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
+              -\b-t\bt     Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each  line
                      read.
-              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
+              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
                      dard input.
-              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
+              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify the number of lines read  between  each  call  to
+              -\b-c\bc     Specify  the  number  of  lines read between each call to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
-              If  -\b-C\bC  is  specified  without  -\b-c\bc, the default quantum is 5000.
+              If -\b-C\bC is specified without -\b-c\bc,  the  default  quantum  is  5000.
               When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
               array element to be assigned and the line to be assigned to that
-              element as additional arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk  is  evaluated  after
+              element  as  additional  arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
               the line is read but before the array element is assigned.
 
-              If  not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
+              If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear  _\ba_\br_\b-
               _\br_\ba_\by before assigning to it.
 
               m\bma\bap\bpf\bfi\bil\ble\be returns zero unless an invalid option or option argument
-              is supplied, _\ba_\br_\br_\ba_\by is invalid or unassignable, or  if  _\ba_\br_\br_\ba_\b is
+              is  supplied,  _\ba_\br_\br_\ba_\by  is invalid or unassignable, or if _\ba_\br_\br_\ba_\by is
               not an indexed array.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
-              Remove  entries from the directory stack.  The elements are num-
-              bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs,  so
-              p\bpo\bop\bpd\b is  equivalent  to With no arguments, p\bpo\bop\bpd\bd removes the top
-              directory from the stack, and changes to the new top  directory.
+              Remove entries from the directory stack.  The elements are  num-
+              bered  from 0 starting at the first directory listed by d\bdi\bir\brs\bs, so
+              p\bpo\bop\bpd\bis equivalent to With no arguments, p\bpo\bop\bpd\bd  removes  the  top
+              directory  from the stack, and changes to the new top directory.
               Arguments, if supplied, have the following meanings:
               -\b-n\bn     Suppress the normal change of directory when removing di-
                      rectories from the stack, only manipulate the stack.
-              +\b+_\bn     Remove  the  _\bnth entry counting from the left of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero, from the  stack.   For
+              +\b+_\bn     Remove the _\bnth entry counting from the left of  the  list
+                     shown  by  d\bdi\bir\brs\bs, starting with zero, from the stack.  For
                      example: removes the first directory, the second.
-              -\b-_\bn     Remove  the _\bnth entry counting from the right of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For example:  removes
+              -\b-_\bn     Remove the _\bnth entry counting from the right of the  list
+                     shown  by d\bdi\bir\brs\bs, starting with zero.  For example: removes
                      the last directory, the next to last.
 
-              If  the  top element of the directory stack is modified, and the
-              _\b-_\boption was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin  to  change
+              If the top element of the directory stack is modified,  and  the
+              _\b-_\b option  was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
               to the directory at the top of the stack.  If the c\bcd\bd fails, p\bpo\bop\bpd\bd
               returns a non-zero value.
 
-              Otherwise,  p\bpo\bop\bpd\bd returns false if an invalid option is supplied,
-              the directory stack is empty, or _\bn specifies a non-existent  di-
+              Otherwise, p\bpo\bop\bpd\bd returns false if an invalid option is  supplied,
+              the  directory stack is empty, or _\bn specifies a non-existent di-
               rectory stack entry.
 
-              If  the  p\bpo\bop\bpd\bd  command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
-              final contents of the directory stack, and the return status  is
+              If the p\bpo\bop\bpd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs  to  show  the
+              final  contents of the directory stack, and the return status is
               0.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
-              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option assigns the output to  the
+              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
+              control  of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option assigns the output to the
               variable _\bv_\ba_\br rather than printing it to the standard output.
 
-              The  _\bf_\bo_\br_\bm_\ba_\bt  is a character string which contains three types of
-              objects: plain characters, which are simply copied  to  standard
-              output,  character  escape  sequences,  which  are converted and
-              copied to the standard output, and format  specifications,  each
-              of  which  causes  printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In
-              addition to  the  standard  _\bp_\br_\bi_\bn_\bt_\bf(3)  format  characters  c\bcC\bCs\bsS\bS-\b-
+              The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three  types  of
+              objects:  plain  characters, which are simply copied to standard
+              output, character escape  sequences,  which  are  converted  and
+              copied  to  the standard output, and format specifications, each
+              of which causes printing of the next  successive  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.   In
+              addition  to  the  standard  _\bp_\br_\bi_\bn_\bt_\bf(3)  format  characters c\bcC\bCs\bsS\bS-\b-
               n\bnd\bdi\bio\bou\bux\bxX\bXe\beE\bEf\bfF\bFg\bgG\bGa\baA\bA, p\bpr\bri\bin\bnt\btf\bf interprets the following additional for-
               mat specifiers:
               %\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 in the same way as e\bec\bch\bho\bo -\b-e\be.
-              %\b%q\bq     causes  p\bpr\bri\bin\bnt\btf\bf  to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
-                     format that can be reused as shell input.  %\b%q\bq and %\b%Q\b use
-                     the  $\b$  quoting  style  if any characters in the argument
-                     string require it, and backslash quoting  otherwise.   If
-                     the  format  string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
+              %\b%q\bq     causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt  in  a
+                     format  that can be reused as shell input.  %\b%q\bq and %\b%Q\bQ use
+                     the $\b$ quoting style if any  characters  in  the  argument
+                     string  require  it, and backslash quoting otherwise.  If
+                     the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate  form,  these
                      two  formats  quote  the  argument  string  using  single
                      quotes.
-              %\b%Q\bQ     like  %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
+              %\b%Q\bQ     like %\b%q\bq, but applies any supplied precision to the  _\ba_\br_\bg_\bu_\b-
                      _\bm_\be_\bn_\bt before quoting it.
               %\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
-                     causes p\bpr\bri\bin\bnt\btf\bf to output the  date-time  string  resulting
-                     from  using  _\bd_\ba_\bt_\be_\bf_\bm_\bt  as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+                     causes  p\bpr\bri\bin\bnt\btf\bf  to  output the date-time string resulting
+                     from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format  string  for  _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
                      The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
                      number of seconds since the epoch.  This format specifier
                      recognizes two special argument values: -1 represents the
-                     current time, and -2 represents the time  the  shell  was
+                     current  time,  and  -2 represents the time the shell was
                      invoked.  If no argument is specified, conversion behaves
-                     as  if -1 had been supplied.  This is an exception to the
+                     as if -1 had been supplied.  This is an exception to  the
                      usual p\bpr\bri\bin\bnt\btf\bf behavior.
 
               The %b, %q, and %T format specifiers all use the field width and
               precision arguments from the format specification and write that
-              many bytes from (or use that wide a field for) the expanded  ar-
-              gument,  which  usually contains more characters than the origi-
+              many  bytes from (or use that wide a field for) the expanded ar-
+              gument, which usually contains more characters than  the  origi-
               nal.
 
               The %n format specifier accepts a corresponding argument that is
               treated as a shell variable name.
 
-              The %s and %c format specifiers accept  an  l  (long)  modifier,
+              The  %s  and  %c  format specifiers accept an l (long) modifier,
               which forces them to convert the argument string to a wide-char-
               acter string and apply any supplied field width and precision in
               terms of characters, not bytes.  The %S and %C format specifiers
               are equivalent to %ls and %lc, respectively.
 
-              Arguments  to non-string format specifiers are treated as C con-
+              Arguments to non-string format specifiers are treated as C  con-
               stants, except that a leading plus or minus sign is allowed, and
-              if the leading character is a single or double quote, the  value
-              is  the numeric value of the following character, using the cur-
+              if  the leading character is a single or double quote, the value
+              is the numeric value of the following character, using the  cur-
               rent locale.
 
-              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
-              value  is zero on success, non-zero if an invalid option is sup-
+              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 if an invalid option is  sup-
               plied or a write or assignment error occurs.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
               Add a directory to the top of the directory stack, or rotate the
-              stack, making the new top of the stack the current  working  di-
-              rectory.   With  no  arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
-              ments of the directory stack.  Arguments, if supplied, have  the
+              stack,  making  the new top of the stack the current working di-
+              rectory.  With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the  top  two  ele-
+              ments  of the directory stack.  Arguments, if supplied, have the
               following meanings:
-              -\b-n\bn     Suppress  the normal change of directory when rotating or
-                     adding directories to  the  stack,  only  manipulate  the
+              -\b-n\bn     Suppress the normal change of directory when rotating  or
+                     adding  directories  to  the  stack,  only manipulate the
                      stack.
               +\b+_\bn     Rotate the stack so that the _\bnth directory (counting from
-                     the  left  of the list shown by d\bdi\bir\brs\bs, starting with zero)
+                     the left of the list shown by d\bdi\bir\brs\bs, starting  with  zero)
                      is at the top.
-              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
+              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top.
 
               After the stack has been modified, if the -\b-n\bn option was not sup-
-              plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the  directory  at
+              plied,  p\bpu\bus\bsh\bhd\bd  uses the c\bcd\bd builtin to change to the directory at
               the top of the stack.  If the c\bcd\bd fails, p\bpu\bus\bsh\bhd\bd returns a non-zero
               value.
 
-              Otherwise,  if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns zero un-
-              less the directory stack is empty.  When rotating the  directory
+              Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns zero  un-
+              less  the directory stack is empty.  When rotating the directory
               stack, p\bpu\bus\bsh\bhd\bd returns zero unless the directory stack is empty or
               _\bn specifies a non-existent directory stack element.
 
-              If  the  p\bpu\bus\bsh\bhd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
+              If the p\bpu\bus\bsh\bhd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to  show  the
               final contents of the directory stack.
 
        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
+              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 in-
               valid option is supplied.
 
        r\bre\bea\bad\bd [-\b-E\bEe\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs]
        [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
               Read one line from the standard input, or from the file descrip-
-              tor  _\bf_\bd  supplied as an argument to the -\b-u\bu option, split it into
-              words as described in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and  assign
-              the  first word to the first _\bn_\ba_\bm_\be, the second word to the second
-              _\bn_\ba_\bm_\be, and so on.  If there are more words than  names,  the  re-
-              maining  words  and their intervening delimiters are 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 val-
-              ues.  The characters in the value of the I\bIF\bFS\bS variable  are  used
+              tor _\bf_\bd supplied as an argument to the -\b-u\bu option, split  it  into
+              words  as described in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and assign
+              the first word to the first _\bn_\ba_\bm_\be, the second word to the  second
+              _\bn_\ba_\bm_\be,  and  so  on.  If there are more words than names, the re-
+              maining words and their intervening delimiters are  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  val-
+              ues.   The  characters in the value of the I\bIF\bFS\bS variable are used
               to split the line into words using the same rules the shell uses
               for expansion (described in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).  The
               backslash character (\\b\) removes any special meaning for the next
@@ -1196,190 +1208,190 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
                      variable _\ba_\bn_\ba_\bm_\be, starting at 0.  _\ba_\bn_\ba_\bm_\be is unset before any
-                     new  values  are  assigned.  Other _\bn_\ba_\bm_\be arguments are ig-
+                     new values are assigned.  Other _\bn_\ba_\bm_\be  arguments  are  ig-
                      nored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The first character of _\bd_\be_\bl_\bi_\bm terminates the  input  line,
-                     rather  than newline.  If _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd
+                     The  first  character of _\bd_\be_\bl_\bi_\bm terminates the input line,
+                     rather than newline.  If _\bd_\be_\bl_\bi_\bm is the empty string,  r\bre\bea\bad\bd
                      will terminate a line when it reads a NUL character.
-              -\b-e\be     If the standard input is coming  from  a  terminal,  r\bre\bea\bad\bd
-                     uses  r\bre\bea\bad\bdl\bli\bin\bne\be  (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  in _\bb_\ba_\bs_\bh(1)) to obtain the
-                     line.  R\bRe\bea\bad\bdl\bli\bin\bne\be uses the current  (or  default,  if  line
-                     editing  was not previously active) editing settings, but
+              -\b-e\be     If  the  standard  input  is coming from a terminal, r\bre\bea\bad\bd
+                     uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in  _\bb_\ba_\bs_\bh(1))  to  obtain  the
+                     line.   R\bRe\bea\bad\bdl\bli\bin\bne\be  uses  the  current (or default, if line
+                     editing was not previously active) editing settings,  but
                      uses r\bre\bea\bad\bdl\bli\bin\bne\be's default filename completion.
-              -\b-E\bE     If the standard input is coming  from  a  terminal,  r\bre\bea\bad\bd
-                     uses  r\bre\bea\bad\bdl\bli\bin\bne\be  (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  in _\bb_\ba_\bs_\bh(1)) to obtain the
-                     line.  R\bRe\bea\bad\bdl\bli\bin\bne\be uses the current  (or  default,  if  line
-                     editing  was not previously active) editing settings, but
-                     uses bash's default  completion,  including  programmable
+              -\b-E\bE     If  the  standard  input  is coming from a terminal, r\bre\bea\bad\bd
+                     uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in  _\bb_\ba_\bs_\bh(1))  to  obtain  the
+                     line.   R\bRe\bea\bad\bdl\bli\bin\bne\be  uses  the  current (or default, if line
+                     editing was not previously active) editing settings,  but
+                     uses  bash's  default  completion, including programmable
                      completion.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is being used to read the line, r\bre\bea\bad\bd places
+                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line,  r\bre\bea\bad\b places
                      _\bt_\be_\bx_\bt into the editing buffer before editing begins.
               -\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
-                     waiting  for  a complete line of input, unless it encoun-
-                     ters EOF or r\bre\bea\bad\bd times out, but honors a delimiter if  it
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+                     waiting for a complete line of input, unless  it  encoun-
+                     ters  EOF or r\bre\bea\bad\bd times out, but honors a delimiter if it
                      reads fewer than _\bn_\bc_\bh_\ba_\br_\bs characters before the delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
-                     rather than waiting for a complete line of input,  unless
+                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
+                     rather  than waiting for a complete line of input, unless
                      it encounters EOF or r\bre\bea\bad\bd times out.  Any delimiter char-
-                     acters  in the input are not treated specially and do not
+                     acters in the input are not treated specially and do  not
                      cause r\bre\bea\bad\bd to return until it has read _\bn_\bc_\bh_\ba_\br_\bs characters.
                      The result is not split on the characters in I\bIF\bFS\bS; the in-
                      tent is that the variable is assigned exactly the charac-
-                     ters read (with the exception of backslash;  see  the  -\b-r\br
+                     ters  read  (with  the exception of backslash; see the -\b-r\br
                      option below).
               -\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, but only if
+                     line, before attempting to read any input,  but  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 then be used as a
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not then 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 it does  not
-                     read  a  complete line of input (or a specified number of
-                     characters) within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\bo_\bu_\bt  may  be  a
-                     decimal  number  with  a fractional portion following the
-                     decimal point.  This option is only effective if r\bre\bea\bad\b is
-                     reading  input  from  a  terminal, pipe, or other special
-                     file; it has no effect when reading from  regular  files.
-                     If  r\bre\bea\bad\bd  times out, it saves any partial input read into
-                     the specified variable  _\bn_\ba_\bm_\be,  and  the  exit  status  is
-                     greater  than 128.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns immedi-
-                     ately, without trying to read any data.   In  this  case,
-                     the  exit status is 0 if input is available on the speci-
-                     fied file descriptor, or the read will return  EOF,  non-
+                     Cause  r\bre\bea\bad\bd to time out and return failure if it does not
+                     read a complete line of input (or a specified  number  of
+                     characters)  within  _\bt_\bi_\bm_\be_\bo_\bu_\bt  seconds.   _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a
+                     decimal number with a fractional  portion  following  the
+                     decimal  point.  This option is only effective if r\bre\bea\bad\bd is
+                     reading input from a terminal,  pipe,  or  other  special
+                     file;  it  has no effect when reading from regular files.
+                     If r\bre\bea\bad\bd times out, it saves any partial input  read  into
+                     the  specified  variable  _\bn_\ba_\bm_\be,  and  the  exit status is
+                     greater than 128.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns  immedi-
+                     ately,  without  trying  to read any data.  In this case,
+                     the exit status is 0 if input is available on the  speci-
+                     fied  file  descriptor, or the read will return EOF, non-
                      zero otherwise.
-              -\b-u\bu _\bf_\bd  Read  input  from file descriptor _\bf_\bd instead of the stan-
+              -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd instead of  the  stan-
                      dard input.
 
-              Other than the case where _\bd_\be_\bl_\bi_\bm is the empty  string,  r\bre\bea\bad\b ig-
+              Other  than  the  case where _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd ig-
               nores any NUL characters in the input.
 
-              If  no  _\bn_\ba_\bm_\be_\bs  are supplied, r\bre\bea\bad\bd assigns the line read, without
-              the ending delimiter but otherwise unmodified, to  the  variable
+              If no _\bn_\ba_\bm_\be_\bs are supplied, r\bre\bea\bad\bd assigns the  line  read,  without
+              the  ending  delimiter but otherwise unmodified, to the variable
               R\bRE\bEP\bPL\bLY\bY.
 
               The exit status is zero, unless end-of-file is encountered, r\bre\bea\bad\bd
-              times  out  (in  which  case  the status is greater than 128), a
+              times out (in which case the status  is  greater  than  128),  a
               variable assignment error (such as assigning to a readonly vari-
-              able) occurs, or an invalid file descriptor is supplied  as  the
+              able)  occurs,  or an invalid file descriptor is supplied as the
               argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAf\bf] [-\b-p\bp] [_\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
+              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 or unset.  If the -\b-f\bf
-              option is supplied, each _\bn_\ba_\bm_\be refers to a shell  function.   The
-              -\b-a\b option restricts the variables to indexed arrays; the -\b-A\bA op-
+              option  is  supplied, each _\bn_\ba_\bm_\be refers to a shell function.  The
+              -\b-a\boption restricts the variables to indexed arrays; the -\b-A\b op-
               tion restricts the variables to associative arrays.  If both op-
-              tions are supplied, -\b-A\bA takes precedence.  If no  _\bn_\ba_\bm_\b arguments
-              are  supplied,  or if the -\b-p\bp option is supplied, print a list of
-              all readonly names.  The other options may be used  to  restrict
+              tions  are  supplied, -\b-A\bA takes precedence.  If no _\bn_\ba_\bm_\be arguments
+              are supplied, or if the -\b-p\bp option is supplied, print a  list  of
+              all  readonly  names.  The other options may be used to restrict
               the output to a subset of the set of readonly names.  The -\b-p\bp op-
               tion displays output in a format that may be reused as input.
 
-              r\bre\bea\bad\bdo\bon\bnl\bly\b allows  the  value of a variable to be set at the same
+              r\bre\bea\bad\bdo\bon\bnl\bly\ballows the value of a variable to be set  at  the  same
               time the readonly attribute is changed by following the variable
-              name with =_\bv_\ba_\bl_\bu_\be.  This sets the value of  the  variable  is  to
+              name  with  =_\bv_\ba_\bl_\bu_\be.   This  sets the value of the variable is to
               _\bv_\ba_\bl_\bu_\be while modifying the readonly attribute.
 
-              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\b is
+              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 function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Stop  executing  a shell function or sourced file and return the
+              Stop executing a shell function or sourced file and  return  the
               value specified by _\bn to its caller.  If _\bn is omitted, the return
-              status is that of the last command executed.  If r\bre\bet\btu\bur\brn\bn is  exe-
-              cuted  by a trap handler, the last command used to determine the
+              status  is that of the last command executed.  If r\bre\bet\btu\bur\brn\bn is exe-
+              cuted by a trap handler, the last command used to determine  the
               status is the last command executed before the trap handler.  If
               r\bre\bet\btu\bur\brn\bn is executed during a D\bDE\bEB\bBU\bUG\bG trap, the last command used to
-              determine the status is the last command executed  by  the  trap
+              determine  the  status  is the last command executed by the trap
               handler before r\bre\bet\btu\bur\brn\bn was invoked.
 
               When r\bre\bet\btu\bur\brn\bn is used to terminate execution of a script being ex-
-              ecuted  by  the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
-              executing that script and return either _\bn or the exit status  of
-              the  last  command executed within the script as the exit status
-              of the script.  If _\bn is supplied, the return value is its  least
+              ecuted by the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell  to  stop
+              executing  that script and return either _\bn or the exit status of
+              the last command executed within the script as the  exit  status
+              of  the script.  If _\bn is supplied, the return value is its least
               significant 8 bits.
 
-              Any  command  associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before
+              Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is  executed  before
               execution resumes after the function or script.
 
-              The return status is non-zero if r\bre\bet\btu\bur\brn\bn is  supplied  a  non-nu-
+              The  return  status  is non-zero if r\bre\bet\btu\bur\brn\bn is supplied a non-nu-
               meric argument, or is used outside a function and not during ex-
               ecution of a script by .\b. or s\bso\bou\bur\brc\bce\be.
 
        s\bse\bet\bt [-\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
        s\bse\bet\bt -\b-o\bo
-       s\bse\bet\bt +\b+o\bo Without  options, display the name and value of each shell vari-
-              able in a format that can be reused as input for setting or  re-
+       s\bse\bet\bt +\b+o\bo Without options, display the name and value of each shell  vari-
+              able  in a format that can be reused as input for setting or re-
               setting the currently-set variables.  Read-only variables cannot
-              be  reset.  In posix mode, only shell variables are listed.  The
-              output is sorted according to the current locale.  When  options
-              are  specified,  they  set or unset shell attributes.  Any argu-
-              ments remaining after option processing are  treated  as  values
+              be reset.  In posix mode, only shell variables are listed.   The
+              output  is sorted according to the current locale.  When options
+              are specified, they set or unset shell  attributes.   Any  argu-
+              ments  remaining  after  option processing are treated as values
               for the positional parameters and are assigned, in order, to $\b$1\b1,
-              $\b$2\b2,  ...,  $\b$_\bn.   Options, if specified, have the following mean-
+              $\b$2\b2, ..., $\b$_\bn.  Options, if specified, have  the  following  mean-
               ings:
               -\b-a\ba      Each variable or function that is created or modified is
-                      given the export attribute and marked for export to  the
+                      given  the export attribute and marked 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 or af-
-                      ter a foreground command terminates.  This is  effective
+                      ter  a foreground command terminates.  This is effective
                       only when job control is enabled.
-              -\b-e\be      Exit  immediately  if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
-                      single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or  a  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      (see  S\bSH\bHE\bEL\bLL\bL  G\bGR\bRA\bAM\bMM\bMA\bAR\bR  in _\bb_\ba_\bs_\bh(1)), exits with a non-zero
-                      status.  The shell does not exit  if  the  command  that
-                      fails  is part of the command list immediately following
+              -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
+                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+                      (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in _\bb_\ba_\bs_\bh(1)), exits  with  a  non-zero
+                      status.   The  shell  does  not exit if the command that
+                      fails is part of the command list immediately  following
                       a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test following the
-                      i\bif\bor e\bel\bli\bif\bf reserved words, part of any command  executed
-                      in  a &\b&&\b& or |\b||\b| list except the command following the fi-
-                      nal &\b&&\b& or |\b||\b|, any command in a  pipeline  but  the  last
-                      (subject  to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or
-                      if the command's return value is being inverted with  !\b!.
-                      If  a  compound  command other than a subshell returns a
-                      non-zero status because a command failed  while  -\b-e\b was
-                      being  ignored, the shell does not exit.  A trap on E\bER\bRR\bR,
+                      i\bif\b or e\bel\bli\bif\bf reserved words, part of any command executed
+                      in a &\b&&\b& or |\b||\b| list except the command following the  fi-
+                      nal  &\b&&\b&  or  |\b||\b|,  any command in a pipeline but the last
+                      (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option),  or
+                      if  the command's return value is being inverted with !\b!.
+                      If a compound command other than a  subshell  returns  a
+                      non-zero  status  because  a command failed while -\b-e\be was
+                      being ignored, the shell does not exit.  A trap on  E\bER\bRR\bR,
                       if set, is executed before the shell exits.  This option
                       applies to the shell environment and each subshell envi-
                       ronment separately (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT in
                       _\bb_\ba_\bs_\bh(1)), and may cause subshells to exit before execut-
                       ing all the commands in the subshell.
 
-                      If a compound command or shell function  executes  in  a
-                      context  where -\b-e\be is being ignored, none of the commands
-                      executed within the compound command  or  function  body
-                      will  be  affected  by the -\b-e\be setting, even if -\b-e\be is set
-                      and a command returns a failure status.  If  a  compound
-                      command  or  shell function sets -\b-e\be while executing in a
-                      context where -\b-e\be is ignored, that setting will not  have
-                      any  effect  until  the  compound command or the command
+                      If  a  compound  command or shell function executes in a
+                      context where -\b-e\be is being ignored, none of the  commands
+                      executed  within  the  compound command or function body
+                      will be affected by the -\b-e\be setting, even if  -\b-e\be  is  set
+                      and  a  command returns a failure status.  If a compound
+                      command or shell function sets -\b-e\be while executing  in  a
+                      context  where -\b-e\be is ignored, that setting will not have
+                      any effect until the compound  command  or  the  command
                       containing the function call completes.
               -\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 in _\bb_\ba_\bs_\bh(1)).  All processes
-                      run in a separate process group.  When a background  job
-                      completes,  the  shell prints a line containing its exit
+              -\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 in _\bb_\ba_\bs_\bh(1)).  All  processes
+                      run  in a separate process group.  When a background job
+                      completes, the shell prints a line containing  its  exit
                       status.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to check a shell script for syntax errors.  This is  ig-
+                      to  check a shell script for syntax errors.  This is ig-
                       nored 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:
@@ -1387,10 +1399,10 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
+                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
+                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -1400,11 +1412,11 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       h\bha\bas\bsh\bha\bal\bll\bl Same as -\b-h\bh.
                       h\bhi\bis\bst\bte\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-H\bH.
-                      h\bhi\bis\bst\bto\bor\bry\by Enable  command history, as described in _\bb_\ba_\bs_\bh(1)
-                              under H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default  in
+                      h\bhi\bis\bst\bto\bor\bry\by Enable command history, as described in  _\bb_\ba_\bs_\bh(1)
+                              under  H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in
                               interactive shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The  effect  is as if the shell command had been
+                              The effect is as if the shell command  had  been
                               executed (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs in _\bb_\ba_\bs_\bh(1)).
                       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.
@@ -1419,16 +1431,17 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If set, the return value of a  pipeline  is  the
-                              value  of  the  last (rightmost) command to exit
-                              with a non-zero status, or zero if all  commands
-                              in  the pipeline exit successfully.  This option
+                              If  set,  the  return value of a pipeline is the
+                              value of the last (rightmost)  command  to  exit
+                              with  a non-zero status, or zero if all commands
+                              in the pipeline exit successfully.  This  option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
-                              operation  differs  from  the  POSIX standard to
-                              match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See  S\bSE\bEE\bE  A\bAL\bLS\bSO\bO
-                              in  _\bb_\ba_\bs_\bh(1)  for  a reference to a document that
-                              details how posix mode affects bash's behavior.
+                      p\bpo\bos\bsi\bix\bx   Enable  posix  mode; change the behavior of b\bba\bas\bsh\bh
+                              where the default  operation  differs  from  the
+                              POSIX  standard  to match the standard.  See S\bSE\bEE\bE
+                              A\bAL\bLS\bSO\bO in _\bb_\ba_\bs_\bh(1) for a reference  to  a  document
+                              that  details  how posix mode affects bash's be-
+                              havior.
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
@@ -2205,7 +2218,7 @@ S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
                      locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
 
        c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-              +\bo      In  _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+              +\bo      In  posix mode, t\bti\bim\bme\be may be followed by options and still
                      be recognized as a reserved word (this is POSIX interpre-
                      tation 267).
               +\bo      In _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
index e7a7ac9b4641dd13105802ae41c62cc3df0b3559..1f498ba17401db334a60763e438d404ed4131d8c 100644 (file)
Binary files a/doc/builtins.pdf and b/doc/builtins.pdf differ
index 2837cd27cd1db6f6205c717706d8dcb4fb556eee..021bd4ff3de5c595c21506caecb593cca285a625 100644 (file)
@@ -1,11 +1,11 @@
 @ignore
-Copyright (C) 1988-2024 Free Software Foundation, Inc.
+Copyright (C) 1988-2025 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Thu Dec 12 13:37:30 EST 2024
+@set LASTCHANGE Wed Jan  8 09:27:44 EST 2025
 
 @set EDITION 5.3
 @set VERSION 5.3
 
-@set UPDATED 12 December 2024
-@set UPDATED-MONTH December 2024
+@set UPDATED 8 January 2025
+@set UPDATED-MONTH January 2025
index 514d6f8c82602abab44225549d1846c4959ef283..f6c1479d18a71883f5bc8d533b3562a8d15bc4e3 100644 (file)
@@ -6,9 +6,9 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Fri Nov 29 18:17:58 EST 2024
+.\"    Last Change: Tue Dec 31 13:35:52 EST 2024
 .\"
-.TH HISTORY 3 "2024 November 29" "GNU History 8.3"
+.TH HISTORY 3 "2024 December 31" "GNU History 8.3"
 .\"
 .ie \n(.g \{\
 .ds ' \(aq
@@ -495,7 +495,8 @@ The history list will contain only \fImax\fP entries at a time.
 .F1 int unstifle_history "void"
 Stop stifling the history.  This returns the previously-set
 maximum number of history entries (as set by \fBstifle_history()\fP).
-history was stifled.  The value is positive if the history was
+history was stifled.
+The value is positive if the history was
 stifled, negative if it wasn't.
 .PP
 .F1 int history_is_stifled "void"
index c1c15b0a626196b4788ac0c478b3d28aaf36fee1..b9ddd69703790710a7e224ee61ea2fdc9b0e71c5 100644 (file)
@@ -36,7 +36,7 @@ For information on the interactive use of @sc{gnu} History,
 * Introduction to History::    What is the GNU History library for?
 * History Storage::            How information is stored.
 * History Functions::          Functions that you can use.
-* History Variables::          Variables that control behaviour.
+* History Variables::          Variables that control behavior.
 * History Programming Example::        Example of using the GNU History Library.
 @end menu
 
index 3a66a9c7c9aa7d0faf3e943a2de62f79f974bd83..40a11b8dda389e6a228d3faa05b73e89e9baf8b1 100644 (file)
@@ -6,9 +6,9 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Fri Nov 29 18:17:27 EST 2024
+.\"    Last Change: Mon Dec 30 11:27:47 EST 2024
 .\"
-.TH READLINE 3 "2024 November 29" "GNU Readline 8.3"
+.TH READLINE 3 "2024 December 30" "GNU Readline 8.3"
 .\"
 .ie \n(.g \{\
 .ds ' \(aq
@@ -1248,7 +1248,7 @@ Negative arguments have no effect.
 .TP
 .B transpose\-words (M\-t)
 Drag the word before point past the word after point,
-moving point over that word as well.
+moving point past that word as well.
 If point is at the end of the line, this transposes
 the last two words on the line.
 .TP
@@ -1438,7 +1438,7 @@ the number of matches \fIN\fP;
 the word being completed;
 .IP \(bu
 \fIS\fP:\fIE\fP,
-where S and E are the start and end offsets of the word
+where \fIS\fP and \fIE\fP are the start and end offsets of the word
 in the \fBreadline\fP line buffer; then
 .IP \(bu
 each match, one per line
index dadca6a6ddff31cbcd221ca100b49db57fa3c842..a1c4211c9b3229fb029f9c938fd7633edfc34fd1 100644 (file)
@@ -58,7 +58,7 @@ in your own programs, this section is for you.
 
 Many programs provide a command line interface, such as @code{mail},
 @code{ftp}, and @code{sh}.
-For such programs, the default behaviour of Readline is sufficient.
+For such programs, the default behavior of Readline is sufficient.
 This section describes how to use Readline in
 the simplest way possible, perhaps to replace calls in your code to
 @code{fgets()}.
@@ -149,7 +149,7 @@ rl_gets ()
 @}
 @end example
 
-This function gives the user the default behaviour of @key{TAB}
+This function gives the user the default behavior of @key{TAB}
 completion: filename completion.
 If you do not want Readline to
 complete filenames, you can change the binding of the @key{TAB} key
@@ -768,7 +768,7 @@ The caller should free @var{keymap}.
 
 @deftypefun void rl_free_keymap (Keymap keymap)
 Free all storage associated with @var{keymap}.
-This calls @code{rl_discard_keymap} to free subordindate
+This calls @code{rl_discard_keymap} to free subordinate
 keymaps and macros.
 @end deftypefun
 
@@ -1168,7 +1168,7 @@ displaying a new message in the message area with @code{rl_message()}.
 @deftypefun void rl_restore_prompt (void)
 Restore the local Readline prompt display state saved by the most
 recent call to @code{rl_save_prompt}.
-if you called @code{rl_save_prompt} to save the prompt before a call
+If you called @code{rl_save_prompt} to save the prompt before a call
 to @code{rl_message}, you should call this function before the
 corresponding call to @code{rl_clear_message}.
 @end deftypefun
index 757661bad3125ce89d19c0bd1d80aca59c2c3234..5eff0ff2c6a4707751d910c1824e1abe3ec07959 100644 (file)
@@ -466,9 +466,10 @@ A sample value might be @samp{\e[01;33m}.
 
 @item active-region-end-color
 @vindex active-region-end-color
-A string variable that "undoes" the effects of @code{active-region-start-color}
-and restores "normal" terminal display appearance after displaying text
-in the active region.
+A string variable that ``undoes''
+the effects of @code{active-region-start-color}
+and restores ``normal''
+terminal display appearance after displaying text in the active region.
 This string must not take up any physical character positions on the display,
 so it should consist only of terminal escape sequences.
 It is output to the terminal after displaying the text in the active region.
@@ -703,7 +704,7 @@ are saved.
 If set to a value less than zero, the number of history entries is not
 limited.
 @ifset BashFeatures
-By default, Bash sets the the maximum number of history entries to
+By default, Bash sets the maximum number of history entries to
 the value of the @code{HISTSIZE} shell variable.
 @end ifset
 @ifclear BashFeatures
@@ -1055,7 +1056,7 @@ The eight-bit character whose value is the hexadecimal value @var{HH}
 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 function name.
-Tthe backslash escapes described above are expanded
+The backslash escapes described above are expanded
 in the macro body.
 Backslash will quote any other character in the macro text,
 including @samp{"} and @samp{'}.
@@ -1188,7 +1189,7 @@ binding, variable assignment, and conditional syntax.
 
 @example
 @page
-# This file controls the behaviour of line input editing for
+# This file controls the behavior of line input editing for
 # programs that use the GNU Readline library.  Existing
 # programs include FTP, Bash, and GDB.
 #
@@ -1316,10 +1317,13 @@ In the following descriptions, @dfn{point} refers to the current cursor
 position, and @dfn{mark} refers to a cursor position saved by the
 @code{set-mark} command.
 The text between the point and mark is referred to as the @dfn{region}.
-Readline has the concept of an @emph{active region}:
+Readline
+has the concept of an @emph{active region}:
 when the region is active,
 Readline redisplay highlights the region using the
-value of the @code{active-region-start-color} variable.
+value of the
+@code{active-region-start-color}
+variable.
 The @code{enable-active-region} variable turns this on and off.
 Several commands set the region to active; those are noted below.
 
@@ -1806,7 +1810,7 @@ the number of matches @var{N};
 the word being completed;
 @item
 @var{S}:@var{E},
-where S and E are the start and end offsets of the word
+where @var{S} and @var{E} are the start and end offsets of the word
 in the Readline line buffer; then
 @item
 each match, one per line
@@ -2057,7 +2061,7 @@ Expand the line by performing shell word expansions.
 This performs alias and history expansion,
 $'@var{string}' and $"@var{string}" quoting,
 tilde expansion, parameter and variable expansion, arithmetic expansion,
-command and proces substitution,
+command and process substitution,
 word splitting, and quote removal.  
 An explicit argument suppresses command and process substitution.
 
index 5353622c31ce57ab35c50f2d5c7c4a6aa69c59fe..1bd3e3db11345401bfc6d08a58733f4bc5b92114 100644 (file)
@@ -5,7 +5,7 @@ Copyright (C) 1988-2024 Free Software Foundation, Inc.
 @set EDITION 8.3
 @set VERSION 8.3
 
-@set UPDATED 29 November 2024
-@set UPDATED-MONTH November 2024
+@set UPDATED 30 December 2024
+@set UPDATED-MONTH December 2024
 
-@set LASTCHANGE Fri Nov 29 18:18:20 EST 2024
+@set LASTCHANGE Mon Dec 30 11:27:03 EST 2024
diff --git a/shell.c b/shell.c
index 59275c90b6573b4ea82c2d1e44008f8171135ae9..b0010f0629c550ce1f3eb0929928994f4f371475 100644 (file)
--- a/shell.c
+++ b/shell.c
@@ -990,10 +990,7 @@ exit_shell (int s)
   /* Clean up the terminal if we are in a state where it's been modified. */
 #if defined (READLINE)
   if (bash_readline_initialized && RL_ISSTATE (RL_STATE_TERMPREPPED) && rl_deprep_term_function)
-{
-itrace("exit_shell: calling rl_deprep_term_function");
     (*rl_deprep_term_function) ();
-}
 #endif
   if (read_tty_modified ())
     read_tty_cleanup ();
index 59d4413ab13d497a24fe83998c675199799febdc..1816837a596a9916747ae792eee58c383c7859d5 100644 (file)
@@ -1,10 +1,10 @@
 printf: usage: printf [-v var] format [arguments]
 printf: usage: printf [-v var] format [arguments]
-./printf.tests: line 26: printf: -x: invalid option
+./printf.tests: line 44: printf: -x: invalid option
 printf: usage: printf [-v var] format [arguments]
-./printf.tests: line 29: printf: `invalid-var': not a valid identifier
+./printf.tests: line 47: printf: `invalid-var': not a valid identifier
 abc
-./printf.tests: line 30: printf: `invalid-var': not a valid identifier
+./printf.tests: line 48: printf: `invalid-var': not a valid identifier
 10
        one
 one\ctwo
@@ -40,7 +40,7 @@ A7
 --\"abcd\"--
 --\'abcd\'--
 --a\x--
-./printf.tests: line 115: printf: missing hex digit for \x
+./printf.tests: line 133: printf: missing hex digit for \x
 --\x--
 ----
 ----
@@ -101,12 +101,12 @@ A7
 26
 26
 26
-./printf.tests: line 239: printf: `%10': missing format character
-./printf.tests: line 240: printf: `M': invalid format character
-ab./printf.tests: line 243: printf: `y': invalid format character
-./printf.tests: line 246: printf: GNU: invalid number
+./printf.tests: line 257: printf: `%10': missing format character
+./printf.tests: line 258: printf: `M': invalid format character
+ab./printf.tests: line 261: printf: `y': invalid format character
+./printf.tests: line 264: printf: GNU: invalid number
 0
-./printf.tests: line 247: printf: GNU: invalid number
+./printf.tests: line 265: printf: GNU: invalid number
 0
 -
 (foo )(bar )
@@ -165,15 +165,13 @@ xx
 0.00
 ''
 ''
-./printf.tests: line 364: printf: 9223372036854775825: Result too large
 9223372036854775807
-./printf.tests: line 365: printf: -9223372036854775815: Result too large
 -9223372036854775808
-./printf.tests: line 368: printf: +: invalid number
+./printf.tests: line 386: printf: +: invalid number
 0
-./printf.tests: line 369: printf: z: invalid number
+./printf.tests: line 387: printf: z: invalid number
 0
-./printf.tests: line 370: printf: : invalid number
+./printf.tests: line 388: printf: : invalid number
 0
        one
 one\ctwo
index 8127406abea1fc8cdd5f9e0572664e03258898c0..b8c2196b42576a39a8d8b0f657ccd9e95a70dbee 100644 (file)
 LC_ALL=C
 LC_NUMERIC=C
 
+: ${TMPDIR:=/tmp}
+TMPF=$TMPDIR/printf-oflow-$RANDOM
+
+printf_overflow ()
+{
+        local r;
+
+        line=$1 ; shift
+        rm -f "$TMPF"
+        printf "$@"  2>$TMPF
+        r=$?
+        if [ ! -s "$TMPF" ]; then
+                echo "printf.tests: $line: expected overflow error output to stderr" >&2
+        fi
+        rm -f "$TMPF"
+        return $r
+}
+
 # these should output error messages -- the format is required
 printf
 printf --
@@ -361,8 +379,8 @@ printf '%Q\n'
 TOOBIG=9223372036854775825
 TOOSMALL=-9223372036854775815
 
-printf '%d\n' "$TOOBIG"
-printf '%d\n' "$TOOSMALL"
+printf_overflow $LINENO '%d\n' "$TOOBIG"
+printf_overflow $LINENO '%d\n' "$TOOSMALL"
 
 # arguments that are not completely converted generate warning messages
 printf '%d\n' +
index 19e3229bacce31e87f41b68abdb38e890db9fc5f..f9dfa604a5039deef3a52dee92b09605b7840dbd 100644 (file)
@@ -39,6 +39,12 @@ if [ "${BASH_VERSION+set}" = "set" ]; then
 else
        [ "${SHELLOPTS+set}" = "set" ] && unset SHELLOPTS 2>/dev/null
 fi
+# ditto for BASHOPTS, which is also readonly in bash
+if [ "${BASH_VERSION+set}" = "set" ]; then
+       export -n BASHOPTS      # just make sure its not exported
+else
+       [ "${BASHOPTS+set}" = "set" ] && unset BASHOPTS 2>/dev/null
+fi
 
 : ${THIS_SH:=../bash}
 export THIS_SH
index ece8cffe9c2ddaf1a352988f4652b6a6fe64fca0..5825984ad1f1de06630caeb93f9348569fc648af 100644 (file)
@@ -34,8 +34,20 @@ export PATH
 
 # unset BASH_ENV only if it is set
 [ "${BASH_ENV+set}" = "set" ] && unset BASH_ENV
-# ditto for SHELLOPTS
-#[ "${SHELLOPTS+set}" = "set" ] && unset SHELLOPTS
+# can't reliably do it for SHELLOPTS; SHELLOPTS is readonly in bash
+if [ "${BASH_VERSION+set}" = "set" ]; then
+       export -n SHELLOPTS     # just make sure its not exported
+       set +o posix
+       typeset -p SHELLOPTS
+else
+       [ "${SHELLOPTS+set}" = "set" ] && unset SHELLOPTS 2>/dev/null
+fi
+# ditto for BASHOPTS, which is also readonly in bash
+if [ "${BASH_VERSION+set}" = "set" ]; then
+       export -n BASHOPTS      # just make sure its not exported
+else
+       [ "${BASHOPTS+set}" = "set" ] && unset BASHOPTS 2>/dev/null
+fi
 
 : ${THIS_SH:=../bash}
 export THIS_SH