]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
fix history expansion to not perform quick substitution on a new line that's part...
authorChet Ramey <chet.ramey@case.edu>
Tue, 19 Dec 2023 14:56:34 +0000 (09:56 -0500)
committerChet Ramey <chet.ramey@case.edu>
Tue, 19 Dec 2023 14:56:34 +0000 (09:56 -0500)
24 files changed:
CWRU/CWRU.chlog
doc/bash.0
doc/bash.1
doc/bash.html
doc/bash.info
doc/bash.pdf
doc/bashref.bt
doc/bashref.bts
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.texi
doc/version.texi
execute_cmd.c
execute_cmd.h
lib/readline/doc/history.3
lib/readline/doc/hsuser.texi
lib/readline/doc/version.texi
lib/readline/histexpand.c
mailcheck.c
parse.y
tests/intl.right
tests/unicode1.sub

index e1039c83705ec6b35bb2b86ba1c8fa92fbdff8a6..e5fe08992ded9315993a2e49d51a62a41dab475f 100644 (file)
@@ -8172,3 +8172,34 @@ print_cmd.c
        - make_command_string_internal: when printing a coproc, print the
          coproc name only if the coproc command is not a simple command.
          Report from Albert Akchurin <ackbeat@gmail.com>
+
+                                  12/14
+                                  -----
+doc/bash.1,doc/bashref.texi
+       - bind: clarify meaning of `re-read' as being individual arguments
+         to `bind'.
+         Report from Dan Jacobson <jidanni@jidanni.org>
+       - history expansion: add that the quick substitution character is
+         only active when it's the first character on the line.
+         Suggested by Dale R. Worley <worley@alum.mit.edu>
+
+lib/readline/histexpand.c
+       - history_expand: if history_quoting_state is "'", don't try to
+         interpret the quick substitution syntax at the start of the string.
+         Report from Sundeep Agarwal <learnbyexample.net@gmail.com>
+
+execute_cmd.c,execute_cmd.h
+       - save_lastarg: new function, returns saved value of $_ in allocated
+         memory
+
+parse.y
+       - execute_variable_command: instead of inline code, call save_lastarg
+
+mailcheck.c
+       - check_mail: instead of inline code, call save_lastarg
+       - check_mail: instead of calling bind_variable, use bind_lastarg
+
+parse.y
+       - decode_prompt_string: use save_lastarg() and bind_lastarg() to preserve
+         the value of $_ across prompt string decoding.
+         Patch from Grisha Levit <grishalevit@gmail.com>
index 3c0b297906150a7391094ab038864c01c1df8a8a..b1f52929de9bd44d9e1650b5c99c638ad24b1994 100644 (file)
@@ -1475,29 +1475,30 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               the  start  of  a  history  expansion, normally `!\b!'.  The second
               character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used  as
               shorthand  for  re-running the previous command entered, substi-
-              tuting one string for another in the command.   The  default  is
-              `^\b^'.   The optional third character is the character which indi-
-              cates that the remainder of the line is a comment when found  as
-              the  first  character of a word, normally `#\b#'.  The history com-
-              ment character causes history substitution to be skipped for the
-              remaining  words on the line.  It does not necessarily cause the
-              shell parser to treat the rest of the line as a comment.
+              tuting one string for another in the command, when it appears as
+              the  first  character on the line.  The default is `^\b^'.  The op-
+              tional third character is the character which indicates that the
+              remainder of the line is a comment when found as the first char-
+              acter of a word, normally `#\b#'.  The  history  comment  character
+              causes  history  substitution  to  be  skipped 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\bprovides one-dimensional indexed and associative array  variables.
-       Any  variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
-       explicitly declare an array.  There is no maximum limit on the size  of
-       an  array, nor any requirement that members be indexed or assigned con-
-       tiguously.  Indexed arrays are  referenced  using  integers  (including
+       B\bBa\bas\bsh\b provides one-dimensional indexed and associative array variables.
+       Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin  will
+       explicitly  declare an array.  There is no maximum limit on the size of
+       an array, nor any requirement that members be indexed or assigned  con-
+       tiguously.   Indexed  arrays  are  referenced using integers (including
        arithmetic expressions) and are zero-based; associative arrays are ref-
        erenced 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
+       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.  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\b C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\bDS\b 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_\b-
+       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\bM-\b-
+       M\bMA\bAN\bND\bDS\bbelow).  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_\b-
        _\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.
@@ -1505,160 +1506,160 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        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.
 
-       Arrays   are  assigned  to  using  compound  assignments  of  the  form
-       _\bn_\ba_\bm_\be=(\b(value_\b... value_\bn)\b), where each _\bv_\ba_\bl_\bu_\be may be  of  the  form  [_\bs_\bu_\bb_\b-
-       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.   Indexed array assignments do not require anything but
-       _\bs_\bt_\br_\bi_\bn_\bg.  Each _\bv_\ba_\bl_\bu_\be in the list is expanded using the shell  expansions
+       Arrays  are  assigned  to  using  compound  assignments  of  the   form
+       _\bn_\ba_\bm_\be=(\b(value_\b ...  value_\bn)\b),  where  each _\bv_\ba_\bl_\bu_\be may be of the form [_\bs_\bu_\bb_\b-
+       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.  Indexed array assignments do not require anything  but
+       _\bs_\bt_\br_\bi_\bn_\bg.   Each _\bv_\ba_\bl_\bu_\be in the list is expanded using the shell expansions
        described below under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN, but _\bv_\ba_\bl_\bu_\bes that are valid variable as-
        signments including the brackets and subscript do not undergo brace ex-
-       pansion  and  word  splitting, as with individual variable assignments.
-       When assigning to indexed arrays, if the  optional  brackets  and  sub-
-       script  are supplied, that index is assigned to; otherwise the index of
-       the element assigned is the last index assigned  to  by  the  statement
+       pansion and word splitting, as with  individual  variable  assignments.
+       When  assigning  to  indexed  arrays, if the optional brackets and sub-
+       script are supplied, that index is assigned to; otherwise the index  of
+       the  element  assigned  is  the last index assigned to by the statement
        plus one.  Indexing starts at zero.
 
        When assigning to an associative array, the words in a compound assign-
-       ment may be either assignment statements, for which  the  subscript  is
-       required,  or  a list of words that is interpreted as a sequence of al-
-       ternating keys and values: _\bn_\ba_\bm_\be=(\b( _\bk_\be_\by_\b1 _\bv_\ba_\bl_\bu_\be_\b1 _\bk_\be_\by_\b2 _\bv_\ba_\bl_\bu_\be_\b2 ...)\b).   These
-       are  treated  identically  to  _\bn_\ba_\bm_\be=(\b( [_\bk_\be_\by_\b1]=_\bv_\ba_\bl_\bu_\be_\b1 [_\bk_\be_\by_\b2]=_\bv_\ba_\bl_\bu_\be_\b2 ...)\b).
-       The first word in the list determines how the remaining words  are  in-
-       terpreted;  all  assignments  in a list must be of the same type.  When
-       using key/value pairs, the keys may not be missing or  empty;  a  final
+       ment  may  be  either assignment statements, for which the subscript is
+       required, or a list of words that is interpreted as a sequence  of  al-
+       ternating  keys and values: _\bn_\ba_\bm_\be=(\b( _\bk_\be_\by_\b1 _\bv_\ba_\bl_\bu_\be_\b1 _\bk_\be_\by_\b2 _\bv_\ba_\bl_\bu_\be_\b2 ...)\b).  These
+       are treated identically to  _\bn_\ba_\bm_\be=(\b(  [_\bk_\be_\by_\b1]=_\bv_\ba_\bl_\bu_\be_\b1  [_\bk_\be_\by_\b2]=_\bv_\ba_\bl_\bu_\be_\b ...)\b).
+       The  first  word in the list determines how the remaining words are in-
+       terpreted; all assignments in a list must be of the  same  type.   When
+       using  key/value  pairs,  the keys may not be missing or empty; a final
        missing value is treated like the empty string.
 
-       This  syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual array
-       elements may be assigned to using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax  in-
-       troduced  above.   When  assigning to an indexed array, if _\bn_\ba_\bm_\be is sub-
-       scripted by a negative number, that number is interpreted  as  relative
-       to  one  greater  than  the  maximum index of _\bn_\ba_\bm_\be, so negative indices
+       This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual  array
+       elements  may be assigned to using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax in-
+       troduced above.  When assigning to an indexed array, if  _\bn_\ba_\bm_\be  is  sub-
+       scripted  by  a negative number, that number is interpreted as relative
+       to one greater than 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 will append to an array variable when assigning using
+       The += operator will append to an array variable when  assigning  using
        the compound assignment syntax; see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS above.
 
-       Any element of an array may  be  referenced  using  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
+       Any  element  of  an  array may be referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
        The braces are required to avoid conflicts with pathname expansion.  If
-       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bis @\b@ or *\b*, the word expands to all members  of  _\bn_\ba_\bm_\be,  unless
-       noted  in  the  description of a builtin or word expansion.  These sub-
+       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\b 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  sub-
        scripts differ only when the word appears within double quotes.  If the
-       word  is  double-quoted,  ${_\bn_\ba_\bm_\be[*]}  expands to a single word with the
-       value of each array member separated by the first character of the  I\bIF\bFS\bS
+       word is double-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a  single  word  with  the
+       value  of each array member separated by the first character of the I\bIF\bFS\bS
        special variable, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a sep-
-       arate word.  When there are no array  members,  ${_\bn_\ba_\bm_\be[@]}  expands  to
-       nothing.   If the double-quoted expansion occurs within a word, the ex-
+       arate  word.   When  there  are no array members, ${_\bn_\ba_\bm_\be[@]} expands to
+       nothing.  If the double-quoted expansion occurs within a word, the  ex-
        pansion of the first parameter is joined with the beginning part of the
-       original  word,  and the expansion of the last parameter is joined with
+       original word, and the expansion of the last parameter is  joined  with
        the last part of the original word.  This is analogous to the expansion
-       of  the  special  parameters  *\b*  and  @\b@ (see S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs above).
-       ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]} expands to the length  of  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.   If
+       of the special parameters *\b*  and  @\b@  (see  S\bSp\bpe\bec\bci\bia\bal\bl  P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\b 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
        _\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
-       evaluates  to a number less than zero, it is interpreted as relative to
-       one greater than the maximum index of the array,  so  negative  indices
+       evaluates 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, and b\bba\bas\bsh\bh will create an array if nec-
        essary.
 
-       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] de-
        stroys 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-
+       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], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or
        @\b@, behaves differently depending on whether _\bn_\ba_\bm_\be is an indexed or asso-
-       ciative array.  If _\bn_\ba_\bm_\be is an associative array, this unsets  the  ele-
+       ciative  array.   If _\bn_\ba_\bm_\be is an associative array, this unsets the ele-
        ment with subscript *\b* or @\b@.  If _\bn_\ba_\bm_\be is an indexed array, unset removes
        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-
+       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, the argument is subject to pathname expansion.  If path-
        name expansion is not desired, the argument should be quoted.
 
-       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.
 
 E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Expansion is performed on the command line after it has been split into
-       words.   There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
-       _\bt_\bi_\bl_\bd_\b_\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be  _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bc_\bo_\bm_\bm_\ba_\bn_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
+       words.  There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
+       _\bt_\bi_\bl_\bd_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
        _\bt_\bi_\bo_\bn, _\ba_\br_\bi_\bt_\bh_\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, and _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.
 
        The order of expansions is: brace expansion; tilde expansion, parameter
-       and variable expansion, arithmetic expansion, and command  substitution
-       (done  in a left-to-right fashion); word splitting; and pathname expan-
+       and  variable expansion, arithmetic expansion, and command substitution
+       (done in a left-to-right fashion); word splitting; and pathname  expan-
        sion.
 
        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.
 
-       After  these  expansions are performed, quote characters present in the
-       original word are removed  unless  they  have  been  quoted  themselves
+       After these expansions are performed, quote characters present  in  the
+       original  word  are  removed  unless  they  have been quoted themselves
        (_\bq_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl).
 
-       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@"  and  "$\b${\b{_\bn_\ba_\bm_\be[\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_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism by which arbitrary strings may be gener-
-       ated.  This mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but  the  file-
+       ated.   This  mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the file-
        names generated need not exist.  Patterns to be brace expanded take the
        form of an optional _\bp_\br_\be_\ba_\bm_\bb_\bl_\be, followed by either a series of comma-sep-
-       arated  strings or a sequence expression between a pair of braces, fol-
-       lowed by an optional _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.  The  preamble  is  prefixed  to  each
+       arated strings or a sequence expression between a pair of braces,  fol-
+       lowed  by  an  optional  _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.   The preamble is prefixed to each
        string contained within the braces, and the postscript is then appended
        to each resulting string, expanding left to right.
 
-       Brace expansions may be nested.  The results of  each  expanded  string
-       are  not  sorted;  left  to  right  order  is  preserved.  For example,
+       Brace  expansions  may  be nested.  The results of each expanded string
+       are not sorted;  left  to  right  order  is  preserved.   For  example,
        a{\b{d,c,b}\b}e expands into `ade ace abe'.
 
-       A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\b are
-       either  integers or single 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.  Supplied integers may be prefixed
-       with _\b0 to force each term to have the same width.  When either _\bx  or  _\by
-       begins  with a zero, the shell attempts to force all generated terms to
-       contain the same number of digits, zero-padding where necessary.   When
-       letters  are supplied, the expression expands to each character lexico-
-       graphically 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
+       number between _\bx and _\by, inclusive.  Supplied integers may  be  prefixed
+       with  _\b0  to force each term to have the same width.  When either _\bx or _\by
+       begins with a zero, the shell attempts to force all generated terms  to
+       contain  the same number of digits, zero-padding where necessary.  When
+       letters are supplied, the expression expands to each character  lexico-
+       graphically  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
-       strictly  textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
+       acters  special to other expansions are preserved in the result.  It is
+       strictly textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation  to
        the context of the expansion or the text between the braces.
 
-       A correctly-formed brace expansion must contain  unquoted  opening  and
+       A  correctly-formed  brace  expansion must contain unquoted opening and
        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-
+       {\bor ,\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}.
 
@@ -1669,36 +1670,36 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        or
               chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 
-       Brace  expansion  introduces  a  slight incompatibility with historical
-       versions of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces  specially
-       when  they  appear as part of a word, and preserves them in the output.
-       B\bBa\bas\bsh\bremoves braces from words as a  consequence  of  brace  expansion.
-       For  example,  a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
-       the output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion  by
-       b\bba\bas\bsh\bh.   If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with the
+       Brace expansion introduces a  slight  incompatibility  with  historical
+       versions  of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces specially
+       when they appear as part of a word, and preserves them in  the  output.
+       B\bBa\bas\bsh\b removes  braces  from  words as a consequence of brace expansion.
+       For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears  identically  in
+       the  output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion by
+       b\bba\bas\bsh\bh.  If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with  the
        +\b+B\bB option or disable brace expansion with the +\b+B\bB option to the s\bse\bet\bt com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       If  a  word  begins  with an unquoted tilde character (`~\b~'), all of the
-       characters preceding the first unquoted slash (or  all  characters,  if
-       there  is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none of
-       the characters in the tilde-prefix are quoted, the  characters  in  the
-       tilde-prefix  following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
-       If this login name is the null string, the tilde is replaced  with  the
-       value  of  the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the home direc-
-       tory of the user executing the shell is  substituted  instead.   Other-
-       wise,  the  tilde-prefix is replaced with the home directory associated
+       If a word begins with an unquoted tilde character  (`~\b~'),  all  of  the
+       characters  preceding  the  first unquoted slash (or all characters, if
+       there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none  of
+       the  characters  in  the tilde-prefix are quoted, the characters in the
+       tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\b _\bn_\ba_\bm_\be.
+       If  this  login name is the null string, the tilde is replaced with the
+       value of the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the  home  direc-
+       tory  of  the  user executing the shell is substituted instead.  Other-
+       wise, the tilde-prefix is replaced with the home  directory  associated
        with the specified login name.
 
-       If the tilde-prefix is a `~+', the value of the shell variable P\bPW\bWD\b re-
-       places  the  tilde-prefix.  If the tilde-prefix is a `~-', the value of
-       the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the  char-
-       acters  following  the tilde in the tilde-prefix consist of a number _\bN,
-       optionally prefixed by a `+' or a `-',  the  tilde-prefix  is  replaced
+       If  the tilde-prefix is a `~+', the value of the shell variable P\bPW\bWD\bD re-
+       places the tilde-prefix.  If the tilde-prefix is a `~-', the  value  of
+       the  shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the char-
+       acters following the tilde in the tilde-prefix consist of a  number  _\bN,
+       optionally  prefixed  by  a  `+' or a `-', the tilde-prefix is replaced
        with the corresponding element from the directory stack, as it would be
        displayed by the d\bdi\bir\brs\bs builtin invoked with the tilde-prefix as an argu-
-       ment.   If  the characters following the tilde in the tilde-prefix con-
+       ment.  If the characters following the tilde in the  tilde-prefix  con-
        sist of a number without a leading `+' or `-', `+' is assumed.
 
        If the login name is invalid, or the tilde expansion fails, the word is
@@ -1707,140 +1708,140 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Each variable assignment is checked for unquoted tilde-prefixes immedi-
        ately following a :\b: or the first =\b=.  In these cases, tilde expansion is
        also performed.  Consequently, one may use filenames with tildes in as-
-       signments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the  ex-
+       signments  to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the ex-
        panded value.
 
-       B\bBa\bas\bsh\b also  performs tilde expansion on words satisfying the conditions
+       B\bBa\bas\bsh\balso performs tilde expansion on words satisfying  the  conditions
        of variable assignments (as described above under P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) when they
-       appear  as arguments to simple commands.  B\bBa\bas\bsh\bh does not do this, except
+       appear as arguments to simple commands.  B\bBa\bas\bsh\bh does not do this,  except
        for the _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn commands listed above, when in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be.
 
    P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        The `$\b$' character introduces parameter expansion, command substitution,
-       or  arithmetic  expansion.  The parameter name or symbol to be expanded
-       may be enclosed in braces, which are optional but serve to protect  the
-       variable  to be expanded from characters immediately following it which
+       or arithmetic expansion.  The parameter name or symbol to  be  expanded
+       may  be enclosed in braces, which are optional but serve to protect the
+       variable to be expanded from characters immediately following it  which
        could be interpreted as part of the name.
 
-       When braces are used, the matching ending brace is the  first  `}\b}'  not
+       When  braces  are  used, the matching ending brace is the first `}\b}' not
        escaped by a backslash or within a quoted string, and not within an em-
-       bedded arithmetic expansion, command substitution, or parameter  expan-
+       bedded  arithmetic expansion, command substitution, or parameter expan-
        sion.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              The  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are required
-              when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional  parameter  with  more  than  one
+              The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are  required
+              when  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  a  positional  parameter with more than one
               digit, or when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not
               to be interpreted as part of its name.  The _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a shell
-              parameter  as  described above P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) or an array reference
+              parameter as described above P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) or an  array  reference
               (A\bAr\brr\bra\bay\bys\bs).
 
-       If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation  point  (!\b!),  and
+       If  the  first  character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), and
        _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is not a _\bn_\ba_\bm_\be_\br_\be_\bf, it introduces a level of indirection.  B\bBa\bas\bsh\bh
        uses the value formed by expanding the rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the new _\bp_\ba_\b-
-       _\br_\ba_\bm_\be_\bt_\be_\br;  this  is  then expanded and that value is used in the rest of
-       the expansion, rather than the expansion  of  the  original  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
+       _\br_\ba_\bm_\be_\bt_\be_\br; this is then expanded and that value is used in  the  rest  of
+       the  expansion,  rather  than  the expansion of the original _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
        This is known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.  The value is subject to tilde ex-
-       pansion, parameter expansion, command substitution, and arithmetic  ex-
-       pansion.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is a nameref, this expands to the name of the
-       parameter referenced by _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br instead of  performing  the  complete
-       indirect  expansion.   The  exceptions  to  this  are the expansions of
-       ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described  below.   The  exclamation  point
-       must  immediately  follow the left brace in order to introduce indirec-
+       pansion,  parameter expansion, command substitution, and arithmetic ex-
+       pansion.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a nameref, this expands to the  name  of  the
+       parameter  referenced  by  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br instead of performing the complete
+       indirect expansion.  The exceptions  to  this  are  the  expansions  of
+       ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}  and  ${!\b!_\bn_\ba_\bm_\be[_\b@]}  described  below.  The exclamation point
+       must immediately follow the left brace in order to  introduce  indirec-
        tion.
 
        In each of the cases below, _\bw_\bo_\br_\bd is subject to tilde expansion, parame-
        ter expansion, command substitution, and arithmetic expansion.
 
        When not performing substring expansion, using the forms documented be-
-       low (e.g., :\b:-\b-), b\bba\bas\bsh\bh tests for a  parameter  that  is  unset  or  null.
-       Omitting  the  colon results in a test only for a parameter that is un-
+       low  (e.g.,  :\b:-\b-),  b\bba\bas\bsh\bh  tests  for  a parameter that is unset or null.
+       Omitting the colon results in a test only for a parameter that  is  un-
        set.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:-\b-_\bw_\bo_\br_\bd}
-              U\bUs\bse\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null,  the  expan-
-              sion  of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              U\bUs\bse\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
+              sion of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:=\b=_\bw_\bo_\br_\bd}
-              A\bAs\bss\bsi\big\bgn\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null,  the  ex-
-              pansion  of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The value of _\bp_\ba_\br_\ba_\bm_\be_\b-
-              _\bt_\be_\bis then substituted.  Positional parameters and special  pa-
+              A\bAs\bss\bsi\big\bgn\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the ex-
+              pansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The value of  _\bp_\ba_\br_\ba_\bm_\be_\b-
+              _\bt_\be_\b is then substituted.  Positional parameters and special pa-
               rameters may not be assigned to in this way.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
-              D\bDi\bis\bsp\bpl\bla\bay\b E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
-              the expansion of _\bw_\bo_\br_\bd (or a message to that effect  if  _\bw_\bo_\br_\b is
-              not  present) is written to the standard error and the shell, if
+              D\bDi\bis\bsp\bpl\bla\bay\bE\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or  unset,
+              the  expansion  of  _\bw_\bo_\br_\bd (or a message to that effect if _\bw_\bo_\br_\bd is
+              not present) is written to the standard error and the shell,  if
               it is not interactive, exits.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
-              U\bUs\bse\b A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
+              U\bUs\bse\bA\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing  is
               substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt:\b:_\bl_\be_\bn_\bg_\bt_\bh}
-              S\bSu\bub\bbs\bst\btr\bri\bin\bng\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.  Expands to up to _\bl_\be_\bn_\bg_\bt_\bh characters of  the
-              value  of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by _\bo_\bf_\bf_\b-
-              _\bs_\be_\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, an indexed array subscripted by  @\b@
-              or  *\b*,  or  an associative array name, the results differ as de-
-              scribed below.  If _\bl_\be_\bn_\bg_\bt_\bh is omitted, expands to  the  substring
+              S\bSu\bub\bbs\bst\btr\bri\bin\bng\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.  Expands to up to _\bl_\be_\bn_\bg_\bt_\bh characters of the
+              value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified  by  _\bo_\bf_\bf_\b-
+              _\bs_\be_\bt.   If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, an indexed array subscripted by @\b@
+              or *\b*, or an associative array name, the results  differ  as  de-
+              scribed  below.   If _\bl_\be_\bn_\bg_\bt_\bh is omitted, expands to the substring
               of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by
               _\bo_\bf_\bf_\bs_\be_\bt and extending to the end of the value.  _\bl_\be_\bn_\bg_\bt_\bh and _\bo_\bf_\bf_\bs_\be_\bt
               are arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN below).
 
-              If  _\bo_\bf_\bf_\bs_\be_\bt  evaluates  to  a number less than zero, the value is
+              If _\bo_\bf_\bf_\bs_\be_\bt evaluates to a number less than  zero,  the  value  is
               used as an offset in characters from the end of the value of _\bp_\ba_\b-
-              _\br_\ba_\bm_\be_\bt_\be_\br.   If _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero, it is
+              _\br_\ba_\bm_\be_\bt_\be_\br.  If _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero, it  is
               interpreted as an offset in characters from the end of the value
-              of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a number of characters, and the expan-
-              sion is the characters between _\bo_\bf_\bf_\bs_\be_\bt  and  that  result.   Note
-              that  a  negative  offset must be separated from the colon by at
+              of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a number of characters, and the  expan-
+              sion  is  the  characters  between _\bo_\bf_\bf_\bs_\be_\bt and that result.  Note
+              that a negative offset must be separated from the  colon  by  at
               least one space to avoid being confused with the :\b:-\b- expansion.
 
-              If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the result is _\bl_\be_\bn_\bg_\bt_\bh positional  parame-
-              ters  beginning  at _\bo_\bf_\bf_\bs_\be_\bt.  A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative
-              to one greater than the greatest  positional  parameter,  so  an
+              If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the result is _\bl_\be_\bn_\bg_\bt_\bh positional parame-
+              ters beginning at _\bo_\bf_\bf_\bs_\be_\bt.  A negative _\bo_\bf_\bf_\bs_\be_\bt is  taken  relative
+              to  one  greater  than  the greatest positional parameter, so an
               offset of -1 evaluates to the last positional parameter (or 0 if
-              there are no positional parameters).  It is an  expansion  error
+              there  are  no positional parameters).  It is an expansion error
               if _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero.
 
               If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an indexed array name subscripted by @ or *, the
-              result is the _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning  with  ${_\bp_\ba_\b-
-              _\br_\ba_\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}.   A  negative  _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one
+              result  is  the _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning with ${_\bp_\ba_\b-
+              _\br_\ba_\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}.  A negative _\bo_\bf_\bf_\bs_\be_\bt is taken  relative  to  one
               greater than the maximum index of the specified array.  It is an
               expansion error if _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero.
 
               Substring expansion applied to an associative array produces un-
               defined results.
 
-              Substring indexing is zero-based unless the  positional  parame-
-              ters  are  used,  in  which case the indexing starts at 1 by de-
-              fault.  If _\bo_\bf_\bf_\bs_\be_\bt is 0, and the positional parameters are  used,
+              Substring  indexing  is zero-based unless the positional parame-
+              ters are used, in which case the indexing starts  at  1  by  de-
+              fault.   If _\bo_\bf_\bf_\bs_\be_\bt is 0, and the positional parameters are used,
               $\b$0\b0 is prefixed to the list.
 
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx@\b@}
-              N\bNa\bam\bme\bes\b m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx.  Expands to the names of variables whose
+              N\bNa\bam\bme\bes\bm\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx.  Expands to the names of variables  whose
               names begin with _\bp_\br_\be_\bf_\bi_\bx, separated by the first character of the
-              I\bIF\bFS\b special variable.  When _\b@ is used and the expansion appears
-              within double quotes, each variable name expands to  a  separate
+              I\bIF\bFS\bspecial variable.  When _\b@ is used and the expansion  appears
+              within  double  quotes, each variable name expands to a separate
               word.
 
        ${!\b!_\bn_\ba_\bm_\be[_\b@]}
        ${!\b!_\bn_\ba_\bm_\be[_\b*]}
-              L\bLi\bis\bst\b o\bof\bf  a\bar\brr\bra\bay\by  k\bke\bey\bys\bs.  If _\bn_\ba_\bm_\be is an array variable, expands to
-              the list of array indices (keys) assigned in _\bn_\ba_\bm_\be.  If  _\bn_\ba_\bm_\b is
-              not  an  array,  expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
-              When _\b@ is used and the expansion appears within  double  quotes,
+              L\bLi\bis\bst\bo\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs.  If _\bn_\ba_\bm_\be is an array  variable,  expands  to
+              the  list  of array indices (keys) assigned in _\bn_\ba_\bm_\be.  If _\bn_\ba_\bm_\be is
+              not an array, expands to 0 if _\bn_\ba_\bm_\be is set  and  null  otherwise.
+              When  _\b@  is used and the expansion appears within double quotes,
               each key expands to a separate word.
 
        ${#\b#_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              P\bPa\bar\bra\bam\bme\bet\bte\ber\b l\ble\ben\bng\bgt\bth\bh.  The length in characters of the value of _\bp_\ba_\b-
-              _\br_\ba_\bm_\be_\bt_\be_\bis substituted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value  sub-
-              stituted  is  the number of positional parameters.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              P\bPa\bar\bra\bam\bme\bet\bte\ber\bl\ble\ben\bng\bgt\bth\bh.  The length in characters of the value of  _\bp_\ba_\b-
+              _\br_\ba_\bm_\be_\bt_\be_\b is substituted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value sub-
+              stituted is the number of positional parameters.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is an array name subscripted by *\b* or @\b@, the value substituted is
               the number of elements in the array.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an indexed
-              array name subscripted by a negative number, that number is  in-
-              terpreted  as  relative to one greater than the maximum index of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, so negative indices count back from the  end  of  the
+              array  name subscripted by a negative number, that number is in-
+              terpreted as relative to one greater than the maximum  index  of
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,  so  negative  indices count back from the end of the
               array, and an index of -1 references the last element.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b#_\bw_\bo_\br_\bd}
@@ -1848,15 +1849,15 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.  The _\bw_\bo_\br_\bd is expanded to produce
               a pattern just as in pathname expansion, and matched against the
               expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
-              t\bte\ber\brn\bM\bMa\bat\btc\bch\bhi\bin\bng\bg below.  If the pattern matches  the  beginning  of
-              the  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is the
-              expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest  matching  pattern
-              (the  ``#\b#''  case)  or  the longest matching pattern (the ``#\b##\b#''
-              case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal  op-
+              t\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg  below.   If the pattern matches the beginning of
+              the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is  the
+              expanded  value  of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pattern
+              (the ``#\b#'' case) or the longest  matching  pattern  (the  ``#\b##\b#''
+              case)  deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal op-
               eration is applied to each positional parameter in turn, and the
               expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array vari-
-              able  subscripted  with @\b@ or *\b*, the pattern removal operation is
-              applied to each member of the array in turn, and  the  expansion
+              able subscripted with @\b@ or *\b*, the pattern removal  operation  is
+              applied  to  each member of the array in turn, and the expansion
               is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%_\bw_\bo_\br_\bd}
@@ -1864,15 +1865,15 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg s\bsu\buf\bff\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.  The _\bw_\bo_\br_\bd is expanded to produce
               a pattern just as in pathname expansion, and matched against the
               expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
-              t\bte\ber\brn\bM\bMa\bat\btc\bch\bhi\bin\bng\bg below.  If the pattern matches a trailing  portion
-              of  the  expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the ex-
-              pansion is the expanded value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  with  the  shortest
-              matching  pattern  (the ``%\b%'' case) or the longest matching pat-
-              tern (the ``%\b%%\b%'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  @\b@  or  *\b*,  the
-              pattern  removal operation is applied to each positional parame-
+              t\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg below.  If the pattern matches a trailing portion
+              of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of  the  ex-
+              pansion  is  the  expanded  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
+              matching pattern (the ``%\b%'' case) or the longest  matching  pat-
+              tern  (the  ``%\b%%\b%''  case)  deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the
+              pattern removal operation is applied to each positional  parame-
               ter in turn, and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\b-
-              _\be_\bt_\be_\b is  an array variable subscripted with @\b@ or *\b*, the pattern
-              removal operation is applied to each  member  of  the  array  in
+              _\be_\bt_\be_\bis an array variable subscripted with @\b@ or *\b*,  the  pattern
+              removal  operation  is  applied  to  each member of the array in
               turn, and the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
@@ -1880,116 +1881,116 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/#\b#_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/%\b%_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
               P\bPa\bat\btt\bte\ber\brn\bn s\bsu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pat-
-              tern just as in pathname expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  expanded  and
-              the  longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced with
-              _\bs_\bt_\br_\bi_\bn_\bg.  _\bs_\bt_\br_\bi_\bn_\bg undergoes tilde expansion, parameter  and  vari-
-              able  expansion,  arithmetic expansion, command and process sub-
-              stitution, and quote removal.  The match is performed using  the
+              tern  just  as in pathname expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and
+              the longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced  with
+              _\bs_\bt_\br_\bi_\bn_\bg.   _\bs_\bt_\br_\bi_\bn_\bg  undergoes tilde expansion, parameter and vari-
+              able expansion, arithmetic expansion, command and  process  sub-
+              stitution,  and quote removal.  The match is performed using the
               rules described under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below.  In the first form
-              above, only the first match  is  replaced.   If  there  are  two
+              above,  only  the  first  match  is  replaced.  If there are two
               slashes  separating  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  and  _\bp_\ba_\bt_\bt_\be_\br_\bn  (the  second  form
-              above), all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are  replaced  with  _\bs_\bt_\br_\bi_\bn_\bg.   If
-              _\bp_\ba_\bt_\bt_\be_\br_\b is  preceded by #\b# (the third form above), it must match
+              above),  all  matches  of  _\bp_\ba_\bt_\bt_\be_\br_\bn are replaced with _\bs_\bt_\br_\bi_\bn_\bg.  If
+              _\bp_\ba_\bt_\bt_\be_\br_\bis preceded by #\b# (the third form above), it  must  match
               at the beginning of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is  preceded  by %\b% (the fourth form above), it must match at the
-              end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.   If  the  expansion  of
-              _\bs_\bt_\br_\bi_\bn_\b is  null,  matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted.  If _\bs_\bt_\br_\bi_\bn_\bg is
+              is preceded by %\b% (the fourth form above), it must match  at  the
+              end  of  the  expanded  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If the expansion of
+              _\bs_\bt_\br_\bi_\bn_\bis null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted.   If  _\bs_\bt_\br_\bi_\bn_\b is
               null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted and the /\b/ following _\bp_\ba_\bt_\bt_\be_\br_\bn
               may be omitted.
 
-              If  the  p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt shell option is enabled using s\bsh\bho\bop\bpt\bt,
-              any unquoted instances of &\b& in  _\bs_\bt_\br_\bi_\bn_\bg  are  replaced  with  the
+              If the p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt shell option is enabled  using  s\bsh\bho\bop\bpt\bt,
+              any  unquoted  instances  of  &\b&  in _\bs_\bt_\br_\bi_\bn_\bg are replaced with the
               matching portion of _\bp_\ba_\bt_\bt_\be_\br_\bn.
 
               Quoting any part of _\bs_\bt_\br_\bi_\bn_\bg inhibits replacement in the expansion
-              of the quoted portion, including replacement strings  stored  in
-              shell  variables.   Backslash will escape &\b& in _\bs_\bt_\br_\bi_\bn_\bg; the back-
-              slash is removed in order to permit a literal &\b& in the  replace-
-              ment  string.  Backslash can also be used to escape a backslash;
-              \\b\\\bresults in a literal backslash  in  the  replacement.   Users
-              should  take  care  if _\bs_\bt_\br_\bi_\bn_\bg is double-quoted to avoid unwanted
-              interactions between the  backslash  and  double-quoting,  since
-              backslash  has  special  meaning  within double quotes.  Pattern
-              substitution performs the check for unquoted &\b&  after  expanding
+              of  the  quoted portion, including replacement strings stored in
+              shell variables.  Backslash will escape &\b& in _\bs_\bt_\br_\bi_\bn_\bg;  the  back-
+              slash  is removed in order to permit a literal &\b& in the replace-
+              ment string.  Backslash can also be used to escape a  backslash;
+              \\b\\\b results  in  a  literal backslash in the replacement.  Users
+              should take care if _\bs_\bt_\br_\bi_\bn_\bg is double-quoted  to  avoid  unwanted
+              interactions  between  the  backslash  and double-quoting, since
+              backslash has special meaning  within  double  quotes.   Pattern
+              substitution  performs  the check for unquoted &\b& after expanding
               _\bs_\bt_\br_\bi_\bn_\bg; shell programmers should quote any occurrences of &\b& they
               want to be taken literally in the replacement and ensure any in-
               stances of &\b& they want to be replaced are unquoted.
 
-              If  the  n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh  shell option is enabled, the match is per-
-              formed without regard to the case of alphabetic characters.   If
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is  @\b@  or *\b*, the substitution operation is applied to
-              each positional parameter in turn, and the expansion is the  re-
-              sultant  list.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is an array variable subscripted
-              with @\b@ or *\b*, the substitution operation is applied to each  mem-
-              ber  of  the  array  in turn, and the expansion is the resultant
+              If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the  match  is  per-
+              formed  without regard to the case of alphabetic characters.  If
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis @\b@ or *\b*, the substitution operation  is  applied  to
+              each  positional parameter in turn, and the expansion is the re-
+              sultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  an  array  variable  subscripted
+              with  @\b@ or *\b*, the substitution operation is applied to each mem-
+              ber of the array in turn, and the  expansion  is  the  resultant
               list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
-              C\bCa\bas\bse\bm\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn.  This expansion modifies the case  of  alpha-
-              betic  characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
+              C\bCa\bas\bse\b m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn.   This expansion modifies the case of alpha-
+              betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to  pro-
               duce a pattern just as in pathname expansion.  Each character in
-              the  expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is tested against _\bp_\ba_\bt_\bt_\be_\br_\bn, and,
-              if it matches the pattern, its case is converted.   The  pattern
-              should  not attempt to match more than one character.  The ^\b^ op-
+              the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is tested against _\bp_\ba_\bt_\bt_\be_\br_\bn,  and,
+              if  it  matches the pattern, its case is converted.  The pattern
+              should not attempt to match more than one character.  The ^\b op-
               erator converts lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to uppercase;
               the ,\b, operator converts matching uppercase letters to lowercase.
-              The ^\b^^\b^ and ,\b,,\b, expansions convert each matched character  in  the
-              expanded  value;  the  ^\b^ and ,\b, expansions match and convert only
-              the first character in the expanded value.  If _\bp_\ba_\bt_\bt_\be_\br_\bn is  omit-
-              ted,  it is treated like a ?\b?, which matches every character.  If
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis @\b@ or *\b*, the case modification operation is  applied
-              to  each  positional parameter in turn, and the expansion is the
-              resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array  variable  subscripted
-              with  @\b@ or *\b*, the case modification operation is applied to each
-              member of the array in turn, and the expansion is the  resultant
+              The  ^\b^^\b^  and ,\b,,\b, expansions convert each matched character in the
+              expanded value; the ^\b^ and ,\b, expansions match  and  convert  only
+              the  first character in the expanded value.  If _\bp_\ba_\bt_\bt_\be_\br_\bn is omit-
+              ted, it is treated like a ?\b?, which matches every character.   If
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is @\b@ or *\b*, the case modification operation is applied
+              to each positional parameter in turn, and the expansion  is  the
+              resultant  list.   If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
+              with @\b@ or *\b*, the case modification operation is applied to  each
+              member  of the array in turn, and the expansion is the resultant
               list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br@\b@_\bo_\bp_\be_\br_\ba_\bt_\bo_\br}
               P\bPa\bar\bra\bam\bme\bet\bte\ber\br t\btr\bra\ban\bns\bsf\bfo\bor\brm\bma\bat\bti\bio\bon\bn.  The expansion is either a transforma-
-              tion of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br or  information  about  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
-              itself,  depending on the value of _\bo_\bp_\be_\br_\ba_\bt_\bo_\br.  Each _\bo_\bp_\be_\br_\ba_\bt_\bo_\br is a
+              tion  of  the  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br or information about _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              itself, depending on the value of _\bo_\bp_\be_\br_\ba_\bt_\bo_\br.  Each _\bo_\bp_\be_\br_\ba_\bt_\bo_\br is  a
               single letter:
 
-              U\bU      The expansion is a string that is the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
-                     with  lowercase alphabetic characters converted to upper-
+              U\bU      The  expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+                     with lowercase alphabetic characters converted to  upper-
                      case.
-              u\bu      The expansion is a string that is the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              u\bu      The  expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
                      with the first character converted to uppercase, if it is
                      alphabetic.
-              L\bL      The expansion is a string that is the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
-                     with  uppercase alphabetic characters converted to lower-
+              L\bL      The  expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+                     with uppercase alphabetic characters converted to  lower-
                      case.
-              Q\bQ      The expansion is a string that is the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              Q\bQ      The  expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
                      quoted in a format that can be reused as input.
-              E\bE      The  expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
-                     with backslash escape  sequences  expanded  as  with  the
+              E\bE      The expansion is a string that is the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+                     with  backslash  escape  sequences  expanded  as with the
                      $\b$'\b'.\b..\b..\b.'\b' quoting mechanism.
               P\bP      The expansion is a string that is the result of expanding
                      the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as if it were a prompt string (see
                      P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
-              A\bA      The  expansion  is  a string in the form of an assignment
-                     statement or d\bde\bec\bcl\bla\bar\bre\be command  that,  if  evaluated,  will
+              A\bA      The expansion is a string in the form  of  an  assignment
+                     statement  or  d\bde\bec\bcl\bla\bar\bre\be  command  that, if evaluated, will
                      recreate _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with its attributes and value.
               K\bK      Produces a possibly-quoted version of the value of _\bp_\ba_\br_\ba_\bm_\b-
                      _\be_\bt_\be_\br, except that it prints the values of indexed and as-
-                     sociative  arrays as a sequence of quoted key-value pairs
+                     sociative arrays as a sequence of quoted key-value  pairs
                      (see A\bAr\brr\bra\bay\bys\bs above).
-              a\ba      The expansion is a string consisting of flag values  rep-
+              a\ba      The  expansion is a string consisting of flag values rep-
                      resenting _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br's attributes.
-              k\bk      Like  the K transformation, but expands the keys and val-
-                     ues of indexed and associative arrays to  separate  words
+              k\bk      Like the K transformation, but expands the keys and  val-
+                     ues  of  indexed and associative arrays to separate words
                      after word splitting.
 
-              If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is @\b@ or *\b*, the operation is applied to each posi-
-              tional parameter in turn, and the  expansion  is  the  resultant
-              list.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
+              If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the operation is applied to  each  posi-
+              tional  parameter  in  turn,  and the expansion is the resultant
+              list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with  @\b or
               *\b*, the operation is applied to each member of the array in turn,
               and the expansion is the resultant list.
 
-              The  result  of  the  expansion is subject to word splitting and
+              The result of the expansion is subject  to  word  splitting  and
               pathname expansion as described below.
 
    C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
@@ -2003,46 +2004,46 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd in a subshell environ-
        ment and replacing the command substitution with the standard output of
        the command, with any trailing newlines deleted.  Embedded newlines are
-       not deleted, but they may be removed during word splitting.   The  com-
-       mand  substitution  $\b$(\b(c\bca\bat\bt  _\bf_\bi_\bl_\be)\b)  can be replaced by the equivalent but
+       not  deleted,  but they may be removed during word splitting.  The com-
+       mand substitution $\b$(\b(c\bca\bat\bt _\bf_\bi_\bl_\be)\b) can be replaced  by  the  equivalent  but
        faster $\b$(\b(<\b< _\bf_\bi_\bl_\be)\b).
 
-       With the old-style backquote form of  substitution,  backslash  retains
-       its  literal  meaning  except  when  followed by $\b$, `\b`, or \\b\.  The first
-       backquote not preceded by a backslash terminates the command  substitu-
-       tion.   When  using  the  $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd)  form,  all characters between the
+       With  the  old-style  backquote form of substitution, backslash retains
+       its literal meaning except when followed by $\b$,  `\b`,  or  \\b\.   The  first
+       backquote  not preceded by a backslash terminates the command substitu-
+       tion.  When using the  $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd)  form,  all  characters  between  the
        parentheses make up the command; none are treated specially.
 
        There is an alternate form of command substitution:
 
               $\b${\b{_\bc _\bc_\bo_\bm_\bm_\ba_\bn_\bd;\b;}\b}
 
-       which executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the current execution  environment  and  cap-
+       which  executes  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  in the current execution environment and cap-
        tures its output, again with trailing newlines removed.
 
        The character _\bc following the open brace must be a space, tab, newline,
-       or |\b|, and the close brace must be in a position where a  reserved  word
-       may  appear (i.e., preceded by a command terminator such as semicolon).
+       or  |\b|,  and the close brace must be in a position where a reserved word
+       may appear (i.e., preceded by a command terminator such as  semicolon).
        B\bBa\bas\bsh\bh allows the close brace to be joined to the remaining characters in
-       the  word without being followed by a shell metacharacter as a reserved
+       the word without being followed by a shell metacharacter as a  reserved
        word would usually require.
 
        Any side effects of _\bc_\bo_\bm_\bm_\ba_\bn_\bd take effect immediately in the current exe-
-       cution  environment  and  persist  in the current environment after the
+       cution environment and persist in the  current  environment  after  the
        command completes (e.g., the e\bex\bxi\bit\bt builtin will exit the shell).
 
-       This type of command substitution superficially resembles executing  an
-       unnamed  shell  function:  local  variables are created as when a shell
-       function is executing, and the r\bre\bet\btu\bur\brn\bn builtin forces  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  to  com-
-       plete;  however,  the  rest of the execution environment, including the
+       This  type of command substitution superficially resembles executing an
+       unnamed shell function: local variables are created  as  when  a  shell
+       function  is  executing,  and the r\bre\bet\btu\bur\brn\bn builtin forces _\bc_\bo_\bm_\bm_\ba_\bn_\bd to com-
+       plete; however, the rest of the execution  environment,  including  the
        positional parameters, is shared with the caller.
 
-       If the first character following the open brace is a |\b|,  the  construct
-       expands  to  the  value  of the R\bRE\bEP\bPL\bLY\bY shell variable after _\bc_\bo_\bm_\bm_\ba_\bn_\bd exe-
-       cutes, without removing any trailing newlines, and the standard  output
-       of  _\bc_\bo_\bm_\bm_\ba_\bn_\bd remains the same as in the calling shell.  B\bBa\bas\bsh\bh creates R\bRE\bE-\b-
+       If  the  first character following the open brace is a |\b|, the construct
+       expands to the value of the R\bRE\bEP\bPL\bLY\bY shell  variable  after  _\bc_\bo_\bm_\bm_\ba_\bn_\b exe-
+       cutes,  without removing any trailing newlines, and the standard output
+       of _\bc_\bo_\bm_\bm_\ba_\bn_\bd remains the same as in the calling shell.  B\bBa\bas\bsh\bh creates  R\bRE\bE-\b-
        P\bPL\bLY\bY as an initially-unset local variable when _\bc_\bo_\bm_\bm_\ba_\bn_\bd executes, and re-
-       stores  R\bRE\bEP\bPL\bLY\bY to the value it had before the command substitution after
+       stores R\bRE\bEP\bPL\bLY\bY to the value it had before the command substitution  after
        _\bc_\bo_\bm_\bm_\ba_\bn_\bd completes, as with any local variable.
 
        Command substitutions may be nested.  To nest when using the backquoted
@@ -2052,175 +2053,175 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        word splitting and pathname expansion on the results.
 
    A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       Arithmetic expansion allows the evaluation of an arithmetic  expression
-       and  the  substitution of the result.  The format for arithmetic expan-
+       Arithmetic  expansion allows the evaluation of an arithmetic expression
+       and the substitution of the result.  The format for  arithmetic  expan-
        sion is:
 
               $\b$(\b((\b(_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn)\b))\b)
 
-       The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same expansions as if it were within  dou-
-       ble  quotes,  but double quote characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated
+       The  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same expansions as if it were within dou-
+       ble quotes, but double quote characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are  not  treated
        specially and are removed.  All tokens in the expression undergo param-
-       eter  and  variable expansion, command substitution, and quote removal.
-       The result is treated as the arithmetic  expression  to  be  evaluated.
+       eter and variable expansion, command substitution, and  quote  removal.
+       The  result  is  treated  as the arithmetic expression to be evaluated.
        Arithmetic expansions may be nested.
 
-       The  evaluation  is performed according to the rules listed below under
+       The evaluation is performed according to the rules listed  below  under
        A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is invalid, b\bba\bas\bsh\bh prints a message
        indicating failure and no substitution occurs.
 
    P\bPr\bro\boc\bce\bes\bss\bs S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
-       _\bP_\br_\bo_\bc_\be_\bs_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows a process's input or output to be referred
-       to using a filename.  It takes the form of  <\b<(\b(_\bl_\bi_\bs_\bt)\b)  or  >\b>(\b(_\bl_\bi_\bs_\bt)\b).   The
-       process  _\bl_\bi_\bs_\bt is run asynchronously, and its input or output appears as
+       _\bP_\br_\bo_\bc_\be_\bs_\b_\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows a process's input or output to be  referred
+       to  using  a  filename.   It takes the form of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The
+       process _\bl_\bi_\bs_\bt is run asynchronously, and its input or output appears  as
        a filename.  This filename is passed as an argument to the current com-
-       mand  as  the  result  of  the expansion.  If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used,
-       writing to the file will provide input for _\bl_\bi_\bs_\bt.  If the  <\b<(\b(_\bl_\bi_\bs_\bt)\b form
-       is  used,  the  file passed as an argument should be read to obtain the
+       mand as the result of the expansion.  If  the  >\b>(\b(_\bl_\bi_\bs_\bt)\b)  form  is  used,
+       writing  to  the file will provide input for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form
+       is used, the file passed as an argument should be read  to  obtain  the
        output of _\bl_\bi_\bs_\bt.  Process substitution is supported on systems that sup-
        port named pipes (_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.
 
-       When  available,  process substitution is performed simultaneously with
-       parameter and variable expansion, command substitution, and  arithmetic
+       When available, process substitution is performed  simultaneously  with
+       parameter  and variable expansion, command substitution, and arithmetic
        expansion.
 
    W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg
-       The  shell  scans the results of parameter expansion, command substitu-
-       tion, and arithmetic expansion that did not occur within double  quotes
+       The shell scans the results of parameter expansion,  command  substitu-
+       tion,  and arithmetic expansion that did not occur within double quotes
        for _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg.
 
-       The  shell  treats each character of I\bIF\bFS\bS as a delimiter, and splits the
-       results of the other expansions into words using  these  characters  as
+       The shell treats each character of I\bIF\bFS\bS as a delimiter, and  splits  the
+       results  of  the  other expansions into words using these characters as
        field terminators.
 
        If I\bIF\bFS\bS is unset, or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, the de-
-       fault, then sequences of s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be at the  beginning  and
-       end  of the results of the previous expansions are ignored, and any se-
-       quence of I\bIF\bFS\bS characters not at the beginning or end serves to  delimit
-       words.   If  I\bIF\bFS\bS  has a value other than the default, then sequences of
-       the whitespace characters s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be are  ignored  at  the
-       beginning  and  end of the word, as long as the whitespace character is
-       in the value of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).   Any  character  in
-       I\bIF\bFS\b that is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\bS whitespace
-       characters, delimits a field.  A sequence of I\bIF\bFS\bS whitespace  characters
+       fault,  then  sequences of s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be at the beginning and
+       end of the results of the previous expansions are ignored, and any  se-
+       quence  of I\bIF\bFS\bS characters not at the beginning or end serves to delimit
+       words.  If I\bIF\bFS\bS has a value other than the default,  then  sequences  of
+       the  whitespace  characters  s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be are ignored at the
+       beginning and end of the word, as long as the whitespace  character  is
+       in  the  value  of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).  Any character in
+       I\bIF\bFS\bthat is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\b whitespace
+       characters,  delimits a field.  A sequence of I\bIF\bFS\bS whitespace characters
        is also treated as a delimiter.
 
-       If  the  value of I\bIF\bFS\bS is null, no word splitting occurs.  If I\bIF\bFS\bS is un-
-       set, word splitting behaves as if it contained  the  default  value  of
+       If the value of I\bIF\bFS\bS is null, no word splitting occurs.  If I\bIF\bFS\bS  is  un-
+       set,  word  splitting  behaves  as if it contained the default value of
        <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.
 
-       Explicit  null arguments ("\b""\b" or '\b''\b') are retained and passed to commands
+       Explicit null arguments ("\b""\b" or '\b''\b') are retained and passed to  commands
        as empty strings.  Unquoted implicit null arguments, resulting from the
        expansion of parameters that have no values, are removed.  If a parame-
        ter with no value is expanded within double quotes, a null argument re-
        sults and is retained and passed to a command as an empty string.  When
-       a quoted null argument appears as part of a  word  whose  expansion  is
+       a  quoted  null  argument  appears as part of a word whose expansion is
        non-null, the null argument is removed.  That is, the word -d'' becomes
        -d after word splitting and null argument removal.
 
        Note that if no expansion occurs, no splitting is performed.
 
    P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       After word splitting, unless the -\b-f\bf option has  been  set,  b\bba\bas\bsh\b scans
-       each  word  for the characters *\b*, ?\b?, and [\b[.  If one of these characters
+       After  word  splitting,  unless  the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
+       each word for the characters *\b*, ?\b?, and [\b[.  If one of  these  characters
        appears, and is not quoted, then the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and
-       replaced  with  an alphabetically sorted list of filenames matching the
-       pattern (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below).  If  no  matching  filenames  are
-       found,  and  the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is not enabled, the word is left
-       unchanged.  If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set, and no  matches  are  found,
-       the  word  is  removed.   If  the  f\bfa\bai\bil\blg\bgl\blo\bob\bb shell option is set, and no
-       matches are found, an error message is printed and the command  is  not
+       replaced with an alphabetically sorted list of filenames  matching  the
+       pattern  (see  P\bPa\bat\btt\bte\ber\brn\bn  M\bMa\bat\btc\bch\bhi\bin\bng\bg  below).  If no matching filenames are
+       found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is not enabled, the word  is  left
+       unchanged.   If  the  n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set, and no matches are found,
+       the word is removed.  If the f\bfa\bai\bil\blg\bgl\blo\bob\bb  shell  option  is  set,  and  no
+       matches  are  found, an error message is printed and the command is not
        executed.  If the shell option n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb is enabled, the match is per-
-       formed without regard to the case of  alphabetic  characters.   When  a
-       pattern  is  used  for  pathname expansion, the character `\b``\b`.\b.'\b''\b'  at the
-       start of a name or immediately following a slash must  be  matched  ex-
-       plicitly,  unless  the  shell option d\bdo\bot\btg\bgl\blo\bob\bb is set.  In order to match
+       formed  without  regard  to  the case of alphabetic characters.  When a
+       pattern is used for pathname expansion, the  character  `\b``\b`.\b.'\b''\b'   at  the
+       start  of  a  name or immediately following a slash must be matched ex-
+       plicitly, unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is set.  In  order  to  match
        the filenames `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b', the pattern must begin with ``.'' (for
-       example,  ``.?''),  even  if d\bdo\bot\btg\bgl\blo\bob\bb is set.  If the g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs shell
-       option is enabled, the filenames `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are never  matched,
-       even  if the pattern begins with a `\b``\b`.\b.'\b''\b'.  When not matching pathnames,
-       the `\b``\b`.\b.'\b''\b'  character is not treated specially.  When matching  a  path-
-       name,  the slash character must always be matched explicitly by a slash
-       in the pattern, but in other matching contexts it can be matched  by  a
-       special  pattern  character  as described below under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg.
-       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  for  a
-       description  of  the  n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\blg\bgl\blo\bob\bb, g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs, f\bfa\bai\bil\blg\bgl\blo\bob\bb, and
+       example, ``.?''), even if d\bdo\bot\btg\bgl\blo\bob\bb is set.  If  the  g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\b shell
+       option  is enabled, the filenames `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are never matched,
+       even if the pattern begins with a `\b``\b`.\b.'\b''\b'.  When not matching  pathnames,
+       the  `\b``\b`.\b.'\b''\b'   character is not treated specially.  When matching a path-
+       name, the slash character must always be matched explicitly by a  slash
+       in  the  pattern, but in other matching contexts it can be matched by a
+       special pattern character as described below  under  P\bPa\bat\btt\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg.
+       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 for a
+       description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\blg\bgl\blo\bob\bb,  g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs,  f\bfa\bai\bil\blg\bgl\blo\bob\bb,  and
        d\bdo\bot\btg\bgl\blo\bob\bb shell options.
 
-       The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set  of  file
-       names  matching  a  _\bp_\ba_\bt_\bt_\be_\br_\bn.   If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
-       name that also matches one of the patterns  in  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  is  removed
-       from  the list of matches.  If the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb option is set, the match-
-       ing against the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is performed without  regard  to
+       The  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  shell variable may be used to restrict the set of file
+       names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn.  If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is  set,  each  matching  file
+       name  that  also  matches  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
+       from the list of matches.  If the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb option is set, the  match-
+       ing  against  the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is performed without regard to
        case.  The filenames `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are always ignored when G\bGL\bLO\bOB\bBI\bIG\bG-\b-
-       N\bNO\bOR\bRE\bis set and not null.  However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  to  a  non-null
+       N\bNO\bOR\bRE\b is  set  and not null.  However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE to a non-null
        value has the effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell option, so all other
-       filenames beginning with a `\b``\b`.\b.'\b''\b'  will match.  To get the old  behavior
-       of  ignoring  filenames beginning with a `\b``\b`.\b.'\b''\b', make `\b``\b`.\b.*\b*'\b''\b'  one of the
+       filenames  beginning with a `\b``\b`.\b.'\b''\b'  will match.  To get the old behavior
+       of ignoring filenames beginning with a `\b``\b`.\b.'\b''\b', make `\b``\b`.\b.*\b*'\b''\b'  one  of  the
        patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option is disabled when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE
        is unset.  The pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell
        option.
 
-       The G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT variable controls how the results  of  pathname  expansion
+       The  G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT  variable  controls how the results of pathname expansion
        are sorted, as described above.
 
        P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
 
        Any character that appears in a pattern, other than the special pattern
-       characters described below, matches itself.  The NUL character may  not
-       occur  in  a pattern.  A backslash escapes the following character; the
-       escaping backslash is discarded when  matching.   The  special  pattern
+       characters  described below, matches itself.  The NUL character may not
+       occur in a pattern.  A backslash escapes the following  character;  the
+       escaping  backslash  is  discarded  when matching.  The special pattern
        characters must be quoted if they are to be matched literally.
 
        The special pattern characters have the following meanings:
 
-              *\b*      Matches  any string, including the null string.  When the
-                     g\bgl\blo\bob\bbs\bst\bta\bar\bshell option is enabled, and  *\b*  is  used  in  a
-                     pathname  expansion  context,  two  adjacent *\b*s used as a
-                     single pattern will match all files and zero or more  di-
-                     rectories  and  subdirectories.   If followed by a /\b/, two
-                     adjacent *\b*s will match only directories  and  subdirecto-
+              *\b*      Matches any string, including the null string.  When  the
+                     g\bgl\blo\bob\bbs\bst\bta\bar\b shell  option  is  enabled,  and *\b* is used in a
+                     pathname expansion context, two adjacent  *\b*s  used  as  a
+                     single  pattern will match all files and zero or more di-
+                     rectories and subdirectories.  If followed by  a  /\b/,  two
+                     adjacent  *\b*s  will match only directories and subdirecto-
                      ries.
               ?\b?      Matches any single character.
-              [\b[.\b..\b..\b.]\b]  Matches  any  one  of the enclosed characters.  A pair of
-                     characters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\b _\be_\bx_\bp_\br_\be_\bs_\b-
-                     _\bs_\bi_\bo_\bn;  any character that falls between those two charac-
+              [\b[.\b..\b..\b.]\b]  Matches any one of the enclosed characters.   A  pair  of
+                     characters  separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\b-
+                     _\bs_\bi_\bo_\bn; any character that falls between those two  charac-
                      ters, inclusive, using the current locale's collating se-
                      quence and character set, is matched.  If the first char-
-                     acter following the [\b[ is a !\b!  or a ^\b^ then  any  character
+                     acter  following  the [\b[ is a !\b!  or a ^\b^ then any character
                      not enclosed is matched.  The sorting order of characters
-                     in range expressions, and the characters included in  the
-                     range,  are determined by the current locale and the val-
-                     ues of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or L\bLC\bC_\b_A\bAL\bLL\bL shell variables, if  set.
+                     in  range expressions, and the characters included in the
+                     range, are determined by the current locale and the  val-
+                     ues  of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or L\bLC\bC_\b_A\bAL\bLL\bL shell variables, if set.
                      To obtain the traditional interpretation of range expres-
-                     sions, where [\b[a\ba-\b-d\bd]\b] is equivalent to [\b[a\bab\bbc\bcd\bd]\b], set value  of
-                     the  L\bLC\bC_\b_A\bAL\bLL\bL  shell variable to C\bC, or enable the g\bgl\blo\bob\bba\bas\bsc\bci\bi-\b-
+                     sions,  where [\b[a\ba-\b-d\bd]\b] is equivalent to [\b[a\bab\bbc\bcd\bd]\b], set value of
+                     the L\bLC\bC_\b_A\bAL\bLL\bL shell variable to C\bC, or enable  the  g\bgl\blo\bob\bba\bas\bsc\bci\bi-\b-
                      i\bir\bra\ban\bng\bge\bes\bs shell option.  A -\b- may be matched by including it
-                     as  the  first  or last character in the set.  A ]\b] may be
-                     matched by including it as the  first  character  in  the
+                     as the first or last character in the set.  A  ]\b]  may  be
+                     matched  by  including  it  as the first character in the
                      set.
 
-                     Within  [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using
+                     Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified  using
                      the syntax [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b], where _\bc_\bl_\ba_\bs_\bs is one of the following
                      classes defined in the POSIX standard:
-                     a\bal\bln\bnu\bum\b a\bal\blp\bph\bha\ba  a\bas\bsc\bci\bii\bi  b\bbl\bla\ban\bnk\bk  c\bcn\bnt\btr\brl\bl d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt
+                     a\bal\bln\bnu\bum\ba\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl  d\bdi\big\bgi\bit\bt  g\bgr\bra\bap\bph\bh  l\blo\bow\bwe\ber\b p\bpr\bri\bin\bnt\bt
                      p\bpu\bun\bnc\bct\bt s\bsp\bpa\bac\bce\be u\bup\bpp\bpe\ber\br w\bwo\bor\brd\bd x\bxd\bdi\big\bgi\bit\bt
                      A character class matches any character belonging to that
                      class.  The w\bwo\bor\brd\bd character class matches letters, digits,
                      and the character _.
 
                      Within [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified us-
-                     ing  the  syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with
-                     the same collation weight (as defined by the current  lo-
+                     ing the syntax [\b[=\b=_\bc=\b=]\b], which matches all  characters  with
+                     the  same collation weight (as defined by the current lo-
                      cale) as the character _\bc.
 
                      Within [\b[ and ]\b], the syntax [\b[.\b._\bs_\by_\bm_\bb_\bo_\bl.\b.]\b] matches the collat-
                      ing symbol _\bs_\by_\bm_\bb_\bo_\bl.
 
-       If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using  the  s\bsh\bho\bop\bpt\bt  builtin,  the
-       shell  recognizes  several extended pattern matching operators.  In the
+       If  the  e\bex\bxt\btg\bgl\blo\bob\bb  shell  option is enabled using the s\bsh\bho\bop\bpt\bt builtin, the
+       shell recognizes several extended pattern matching operators.   In  the
        following description, a _\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt is a list of one or more patterns
-       separated  by  a |\b|.  Composite patterns may be formed using one or more
+       separated by a |\b|.  Composite patterns may be formed using one  or  more
        of the following sub-patterns:
 
               ?\b?(\b(_\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt)\b)
@@ -2235,84 +2236,84 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
                      Matches anything except one of the given patterns
 
        The e\bex\bxt\btg\bgl\blo\bob\bb option changes the behavior of the parser, since the paren-
-       theses  are  normally  treated as operators with syntactic meaning.  To
-       ensure that extended matching patterns are parsed correctly, make  sure
-       that  e\bex\bxt\btg\bgl\blo\bob\bb  is enabled before parsing constructs containing the pat-
+       theses are normally treated as operators with  syntactic  meaning.   To
+       ensure  that extended matching patterns are parsed correctly, make sure
+       that e\bex\bxt\btg\bgl\blo\bob\bb is enabled before parsing constructs containing  the  pat-
        terns, including shell functions and command substitutions.
 
        When matching filenames, the d\bdo\bot\btg\bgl\blo\bob\bb shell option determines the set of
-       filenames  that  are  tested: when d\bdo\bot\btg\bgl\blo\bob\bb is enabled, the set of file-
-       names includes all files beginning with ``.'',  but  ``.''  and  ``..''
-       must  be  matched  by  a pattern or sub-pattern that begins with a dot;
-       when it is disabled, the set does not include any  filenames  beginning
-       with  ``.''  unless the pattern or sub-pattern begins with a ``.''.  As
+       filenames that are tested: when d\bdo\bot\btg\bgl\blo\bob\bb is enabled, the  set  of  file-
+       names  includes  all  files  beginning with ``.'', but ``.'' and ``..''
+       must be matched by a pattern or sub-pattern that  begins  with  a  dot;
+       when  it  is disabled, the set does not include any filenames beginning
+       with ``.'' unless the pattern or sub-pattern begins with a  ``.''.   As
        above, ``.'' only has a special meaning when matching filenames.
 
        Complicated extended pattern matching against long strings is slow, es-
        pecially when the patterns contain alternations and the strings contain
-       multiple matches.  Using separate matches against shorter  strings,  or
+       multiple  matches.   Using separate matches against shorter strings, or
        using arrays of strings instead of a single long string, may be faster.
 
    Q\bQu\buo\bot\bte\be R\bRe\bem\bmo\bov\bva\bal\bl
        After the preceding expansions, all unquoted occurrences of the charac-
-       ters \\b\, '\b', and "\b" that did not result from one of the  above  expansions
+       ters  \\b\,  '\b', and "\b" that did not result from one of the above expansions
        are removed.
 
 R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
-       Before  a  command  is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
-       using a special notation interpreted by the shell.  _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\b allows
-       commands'  file handles to be duplicated, opened, closed, made to refer
+       Before a command is executed, its input and output  may  be  _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
+       using  a special notation interpreted by the shell.  _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn allows
+       commands' file handles to be duplicated, opened, closed, made to  refer
        to different files, and can change the files the command reads from and
-       writes  to.  Redirection may also be used to modify file handles in the
-       current shell execution environment.  The following redirection  opera-
+       writes to.  Redirection may also be used to modify file handles in  the
+       current  shell execution environment.  The following redirection opera-
        tors may precede or appear anywhere within a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or may fol-
-       low a _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  Redirections are processed in the  order  they  appear,
+       low  a  _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   Redirections are processed in the order they appear,
        from left to right.
 
-       Each  redirection  that may be preceded by a file descriptor number may
+       Each redirection that may be preceded by a file descriptor  number  may
        instead be preceded by a word of the form {_\bv_\ba_\br_\bn_\ba_\bm_\be}.  In this case, for
        each redirection operator except >&- and <&-, the shell will allocate a
-       file descriptor greater than or equal to 10 and assign it  to  _\bv_\ba_\br_\bn_\ba_\bm_\be.
-       If  >&-  or  <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of _\bv_\ba_\br_\bn_\ba_\bm_\be defines
-       the file descriptor to close.  If {_\bv_\ba_\br_\bn_\ba_\bm_\be} is supplied, the  redirect-
-       ion  persists  beyond the scope of the command, allowing the shell pro-
+       file  descriptor  greater than or equal to 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.
+       If >&- or <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value  of  _\bv_\ba_\br_\bn_\ba_\bm_\b defines
+       the  file descriptor to close.  If {_\bv_\ba_\br_\bn_\ba_\bm_\be} is supplied, the redirect-
+       ion persists beyond the scope of the command, allowing the  shell  pro-
        grammer  to  manage  the  file  descriptor's  lifetime  manually.   The
        v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be shell option manages this behavior.
 
-       In  the  following descriptions, if the file descriptor number is omit-
-       ted, and the first character of the redirection operator is <\b<, the  re-
-       direction  refers  to  the  standard input (file descriptor 0).  If the
-       first character of the  redirection  operator  is  >\b>,  the  redirection
+       In the following descriptions, if the file descriptor number  is  omit-
+       ted,  and the first character of the redirection operator is <\b<, the re-
+       direction refers to the standard input (file  descriptor  0).   If  the
+       first  character  of  the  redirection  operator  is >\b>, the redirection
        refers to the standard output (file descriptor 1).
 
-       The  word  following the redirection operator in the following descrip-
-       tions, unless otherwise noted, is subjected to brace  expansion,  tilde
-       expansion,  parameter  and  variable  expansion,  command substitution,
-       arithmetic expansion,  quote  removal,  pathname  expansion,  and  word
+       The word following the redirection operator in the  following  descrip-
+       tions,  unless  otherwise noted, is subjected to brace expansion, tilde
+       expansion, parameter  and  variable  expansion,  command  substitution,
+       arithmetic  expansion,  quote  removal,  pathname  expansion,  and word
        splitting.  If it expands to more than one word, b\bba\bas\bsh\bh reports an error.
 
-       Note  that  the order of redirections is significant.  For example, the
+       Note that the order of redirections is significant.  For  example,  the
        command
 
               ls >\b> dirlist 2>\b>&\b&1
 
-       directs both standard output and standard error to  the  file  _\bd_\bi_\br_\bl_\bi_\bs_\bt,
+       directs  both  standard  output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
        while the command
 
               ls 2>\b>&\b&1 >\b> dirlist
 
-       directs  only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
-       error was duplicated from the standard output before the standard  out-
+       directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the  standard
+       error  was duplicated from the standard output before the standard out-
        put was redirected to _\bd_\bi_\br_\bl_\bi_\bs_\bt.
 
        B\bBa\bas\bsh\bh handles several filenames specially when they are used in redirec-
        tions, as described in the following table.  If the operating system on
        which b\bba\bas\bsh\bh is running provides these special files, bash will use them;
-       otherwise it will emulate them internally with the  behavior  described
+       otherwise  it  will emulate them internally with the behavior described
        below.
 
               /\b/d\bde\bev\bv/\b/f\bfd\bd/\b/_\bf_\bd
-                     If  _\bf_\bd  is  a valid integer, file descriptor _\bf_\bd is dupli-
+                     If _\bf_\bd is a valid integer, file descriptor  _\bf_\bd  is  dupli-
                      cated.
               /\b/d\bde\bev\bv/\b/s\bst\btd\bdi\bin\bn
                      File descriptor 0 is duplicated.
@@ -2322,22 +2323,22 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                      File descriptor 2 is duplicated.
               /\b/d\bde\bev\bv/\b/t\btc\bcp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
+                     is an integer port number or service name, b\bba\bas\bsh\b attempts
                      to open the corresponding TCP socket.
               /\b/d\bde\bev\bv/\b/u\bud\bdp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
+                     is an integer port number or service name, b\bba\bas\bsh\b attempts
                      to open the corresponding UDP socket.
 
        A failure to open or create a file causes the redirection to fail.
 
-       Redirections using file descriptors greater than 9 should be used  with
-       care,  as they may conflict with file descriptors the shell uses inter-
+       Redirections  using file descriptors greater than 9 should be used with
+       care, as they may conflict with file descriptors the shell uses  inter-
        nally.
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg I\bIn\bnp\bpu\but\bt
        Redirection of input causes the file whose name results from the expan-
-       sion  of  _\bw_\bo_\br_\bd  to  be  opened for reading on file descriptor _\bn, or the
+       sion of _\bw_\bo_\br_\bd to be opened for reading on  file  descriptor  _\bn,  or  the
        standard input (file descriptor 0) if _\bn is not specified.
 
        The general format for redirecting input is:
@@ -2345,27 +2346,27 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]<\b<_\bw_\bo_\br_\bd
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg O\bOu\but\btp\bpu\but\bt
-       Redirection of output causes the file whose name results from  the  ex-
-       pansion  of  _\bw_\bo_\br_\bd to be opened for writing on file descriptor _\bn, or the
+       Redirection  of  output causes the file whose name results from the ex-
+       pansion of _\bw_\bo_\br_\bd to be opened for writing on file descriptor _\bn,  or  the
        standard output (file descriptor 1) if _\bn is not specified.  If the file
-       does  not exist it is created; if it does exist it is truncated to zero
+       does not exist it is created; if it does exist it is truncated to  zero
        size.
 
        The general format for redirecting output is:
 
               [_\bn]>\b>_\bw_\bo_\br_\bd
 
-       If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to  the  s\bse\bet\bt
-       builtin  has  been enabled, the redirection will fail if the file whose
-       name results from the expansion of _\bw_\bo_\br_\bd exists and is a  regular  file.
+       If  the  redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
+       builtin has been enabled, the redirection will fail if the  file  whose
+       name  results  from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
        If the redirection operator is >\b>|\b|, or the redirection operator is >\b> and
        the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, the re-
        direction is attempted even if the file named by _\bw_\bo_\br_\bd exists.
 
    A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg R\bRe\bed\bdi\bir\bre\bec\bct\bte\bed\bd O\bOu\but\btp\bpu\but\bt
-       Redirection  of  output  in this fashion causes the file whose name re-
+       Redirection of output in this fashion causes the file  whose  name  re-
        sults from the expansion of _\bw_\bo_\br_\bd to be opened for appending on file de-
-       scriptor  _\bn,  or  the  standard  output (file descriptor 1) if _\bn is not
+       scriptor _\bn, or the standard output (file descriptor  1)  if  _\bn  is  not
        specified.  If the file does not exist it is created.
 
        The general format for appending output is:
@@ -2373,11 +2374,11 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]>\b>>\b>_\bw_\bo_\br_\bd
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
-       This construct allows both the standard output (file descriptor 1)  and
-       the  standard  error output (file descriptor 2) to be redirected to the
+       This  construct allows both the standard output (file descriptor 1) and
+       the standard error output (file descriptor 2) to be redirected  to  the
        file whose name is the expansion of _\bw_\bo_\br_\bd.
 
-       There are two formats for redirecting standard output and standard  er-
+       There  are two formats for redirecting standard output and standard er-
        ror:
 
               &\b&>\b>_\bw_\bo_\br_\bd
@@ -2389,13 +2390,13 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               >\b>_\bw_\bo_\br_\bd 2>\b>&\b&1
 
-       When using the second form, _\bw_\bo_\br_\bd may not expand to a number or  -\b-.   If
-       it  does,  other  redirection operators apply (see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\be-\b-
+       When  using  the second form, _\bw_\bo_\br_\bd may not expand to a number or -\b-.  If
+       it does, other redirection operators apply (see  D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg  F\bFi\bil\ble\b D\bDe\be-\b-
        s\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs below) for compatibility reasons.
 
    A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
-       This construct allows both the standard output (file descriptor 1)  and
-       the  standard  error  output  (file descriptor 2) to be appended to the
+       This  construct allows both the standard output (file descriptor 1) and
+       the standard error output (file descriptor 2) to  be  appended  to  the
        file whose name is the expansion of _\bw_\bo_\br_\bd.
 
        The format for appending standard output and standard error is:
@@ -2409,10 +2410,10 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
        (see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs below).
 
    H\bHe\ber\bre\be D\bDo\boc\bcu\bum\bme\ben\bnt\bts\bs
-       This type of redirection instructs the shell to  read  input  from  the
+       This  type  of  redirection  instructs the shell to read input from the
        current source until it reads a line containing only _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br (with no
        trailing blanks).  All of the lines read up to that point are then used
-       as  the  standard  input (or file descriptor _\bn if _\bn is specified) for a
+       as the standard input (or file descriptor _\bn if _\bn is  specified)  for  a
        command.
 
        The format of here-documents is:
@@ -2421,19 +2422,19 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                       _\bh_\be_\br_\be_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
               _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br
 
-       No parameter and variable expansion, command  substitution,  arithmetic
+       No  parameter  and variable expansion, command substitution, arithmetic
        expansion, or pathname expansion is performed on _\bw_\bo_\br_\bd.
 
        If any part of _\bw_\bo_\br_\bd is quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote re-
        moval on _\bw_\bo_\br_\bd, and the lines in the here-document are not expanded.  If
-       _\bw_\bo_\br_\b is unquoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is _\bw_\bo_\br_\bd itself, all lines of the here-
-       document are subjected to parameter  expansion,  command  substitution,
+       _\bw_\bo_\br_\bis unquoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is _\bw_\bo_\br_\bd itself, all lines of the  here-
+       document  are  subjected  to parameter expansion, command substitution,
        and arithmetic expansion, the character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored,
        and \\b\ must be used to quote the characters \\b\, $\b$, and `\b`.
 
        If the redirection operator is <\b<<\b<-\b-, then all leading tab characters are
-       stripped  from input lines and the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.  This al-
-       lows here-documents within shell scripts to be indented  in  a  natural
+       stripped from input lines and the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.  This  al-
+       lows  here-documents  within  shell scripts to be indented in a natural
        fashion.
 
    H\bHe\ber\bre\be S\bSt\btr\bri\bin\bng\bgs\bs
@@ -2441,9 +2442,9 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<<\b<<\b<_\bw_\bo_\br_\bd
 
-       The  _\bw_\bo_\br_\bd  undergoes tilde expansion, parameter and variable expansion,
-       command substitution, arithmetic expansion, and quote  removal.   Path-
-       name  expansion  and  word  splitting are not performed.  The result is
+       The _\bw_\bo_\br_\bd undergoes tilde expansion, parameter and  variable  expansion,
+       command  substitution,  arithmetic expansion, and quote removal.  Path-
+       name expansion and word splitting are not  performed.   The  result  is
        supplied as a single string, with a newline appended, to the command on
        its standard input (or file descriptor _\bn if _\bn is specified).
 
@@ -2453,8 +2454,8 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]<\b<&\b&_\bw_\bo_\br_\bd
 
        is used to duplicate input file descriptors.  If _\bw_\bo_\br_\bd expands to one or
-       more digits, the file descriptor denoted by _\bn is made to be a  copy  of
-       that  file descriptor.  If the digits in _\bw_\bo_\br_\bd do not specify a file de-
+       more  digits,  the file descriptor denoted by _\bn is made to be a copy of
+       that file descriptor.  If the digits in _\bw_\bo_\br_\bd do not specify a file  de-
        scriptor open for input, a redirection error occurs.  If _\bw_\bo_\br_\bd evaluates
        to -\b-, file descriptor _\bn is closed.  If _\bn is not specified, the standard
        input (file descriptor 0) is used.
@@ -2463,12 +2464,12 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]>\b>&\b&_\bw_\bo_\br_\bd
 
-       is used similarly to duplicate output file descriptors.  If  _\bn  is  not
-       specified,  the  standard  output  (file descriptor 1) is used.  If the
-       digits in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a  re-
-       direction  error  occurs.  If _\bw_\bo_\br_\bd evaluates to -\b-, file descriptor _\bn is
-       closed.  As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd does  not  expand
-       to  one or more digits or -\b-, the standard output and standard error are
+       is  used  similarly  to duplicate output file descriptors.  If _\bn is not
+       specified, the standard output (file descriptor 1)  is  used.   If  the
+       digits  in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a re-
+       direction error occurs.  If _\bw_\bo_\br_\bd evaluates to -\b-, file descriptor  _\b is
+       closed.   As  a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd does not expand
+       to one or more digits or -\b-, the standard output and standard error  are
        redirected as described previously.
 
    M\bMo\bov\bvi\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs
@@ -2476,7 +2477,7 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<&\b&_\bd_\bi_\bg_\bi_\bt-\b-
 
-       moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or  the  standard
+       moves  the  file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
        input (file descriptor 0) if _\bn is not specified.  _\bd_\bi_\bg_\bi_\bt is closed after
        being duplicated to _\bn.
 
@@ -2484,7 +2485,7 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]>\b>&\b&_\bd_\bi_\bg_\bi_\bt-\b-
 
-       moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or  the  standard
+       moves  the  file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
        output (file descriptor 1) if _\bn is not specified.
 
    O\bOp\bpe\ben\bni\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs f\bfo\bor\br R\bRe\bea\bad\bdi\bin\bng\bg a\ban\bnd\bd W\bWr\bri\bit\bti\bin\bng\bg
@@ -2492,30 +2493,30 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<>\b>_\bw_\bo_\br_\bd
 
-       causes  the  file  whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
-       both reading and writing on file descriptor _\bn, or on file descriptor  0
+       causes the file whose name is the expansion of _\bw_\bo_\br_\bd to  be  opened  for
+       both  reading and writing on file descriptor _\bn, or on file descriptor 0
        if _\bn is not specified.  If the file does not exist, it is created.
 
 A\bAL\bLI\bIA\bAS\bSE\bES\bS
-       _\bA_\bl_\bi_\ba_\bs_\be_\b allow a string to be substituted for a word that is in a posi-
-       tion in the input where it can be the first word of a  simple  command.
-       Aliases  have names and corresponding values that are set and unset us-
-       ing the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
+       _\bA_\bl_\bi_\ba_\bs_\be_\ballow a string to be substituted for a word that is in a  posi-
+       tion  in  the input where it can be the first word of a simple command.
+       Aliases have names and corresponding values that are set and unset  us-
+       ing  the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        below).
 
-       If  the  shell  reads an unquoted word in the right position, it checks
-       the word to see if it matches an alias name. If it matches,  the  shell
-       replaces  the  word with the alias value, and reads that value as if it
+       If the shell reads an unquoted word in the right  position,  it  checks
+       the  word  to see if it matches an alias name. If it matches, the shell
+       replaces the word with the alias value, and reads that value as  if  it
        had been read instead of the word.  The shell doesn't look at any char-
        acters following the word before attempting alias substitution.
 
-       The  characters  /\b/,  $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or
-       quoting characters listed above may not appear in an alias  name.   The
-       replacement  text  may  contain  any valid shell input, including shell
-       metacharacters.  The first word of the replacement text is  tested  for
+       The characters /\b/, $\b$, `\b`, and =\b= and any of the  shell  _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\b or
+       quoting  characters  listed above may not appear in an alias name.  The
+       replacement text may contain any valid  shell  input,  including  shell
+       metacharacters.   The  first word of the replacement text is tested for
        aliases, but a word that is identical to an alias being expanded is not
        expanded a second time.  This means that one may alias l\bls\bs to l\bls\bs -\b-F\bF, for
-       instance,  and  b\bba\bas\bsh\bh does not try to recursively expand the replacement
+       instance, and b\bba\bas\bsh\bh does not try to recursively expand  the  replacement
        text.
 
        If the last character of the alias value is a _\bb_\bl_\ba_\bn_\bk, then the next com-
@@ -2524,129 +2525,129 @@ A\bAL\bLI\bIA\bAS\bSE\bES\bS
        Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
        the u\bun\bna\bal\bli\bia\bas\bs command.
 
-       There is no mechanism for using arguments in the replacement text.   If
+       There  is no mechanism for using arguments in the replacement text.  If
        arguments are needed, use a shell function (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below).
 
-       Aliases  are not expanded when the shell is not interactive, unless the
-       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bshell option is set using s\bsh\bho\bop\bpt\bt (see the description  of
+       Aliases are not expanded when the shell is not interactive, unless  the
+       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\b shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
        s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       The  rules  concerning  the  definition and use of aliases are somewhat
-       confusing.  B\bBa\bas\bsh\bh always reads at least one complete line of input,  and
-       all  lines that make up a compound command, before executing any of the
-       commands on that line or the compound command.   Aliases  are  expanded
-       when  a  command is read, not when it is executed.  Therefore, an alias
-       definition appearing on the same line as another command does not  take
-       effect  until  the  next line of input is read.  The commands following
-       the alias definition on that line are not affected by  the  new  alias.
-       This  behavior  is  also an issue when functions are executed.  Aliases
-       are expanded when a function definition is read, not when the  function
-       is  executed,  because a function definition is itself a command.  As a
-       consequence, aliases defined in a function are not available until  af-
-       ter  that  function  is executed.  To be safe, always put alias defini-
+       The rules concerning the definition and use  of  aliases  are  somewhat
+       confusing.   B\bBa\bas\bsh\bh always reads at least one complete line of input, and
+       all lines that make up a compound command, before executing any of  the
+       commands  on  that  line or the compound command.  Aliases are expanded
+       when a command is read, not when it is executed.  Therefore,  an  alias
+       definition  appearing on the same line as another command does not take
+       effect until the next line of input is read.   The  commands  following
+       the  alias  definition  on that line are not affected by the new alias.
+       This behavior is also an issue when functions  are  executed.   Aliases
+       are  expanded when a function definition is read, not when the function
+       is executed, because a function definition is itself a command.   As  a
+       consequence,  aliases defined in a function are not available until af-
+       ter that function is executed.  To be safe, always  put  alias  defini-
        tions on a separate line, and do not use a\bal\bli\bia\bas\bs in compound commands.
 
        For almost every purpose, aliases are superseded by shell functions.
 
 F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
-       A shell function, defined  as  described  above  under  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
-       stores  a  series  of commands for later execution.  When the name of a
-       shell function is used as a simple command name, the list  of  commands
+       A  shell  function,  defined  as  described  above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+       stores a series of commands for later execution.  When the  name  of  a
+       shell  function  is used as a simple command name, the list of commands
        associated with that function name is executed.  Functions are executed
-       in the context of the current shell; no new process is created  to  in-
-       terpret  them  (contrast  this  with  the execution of a shell script).
-       When a function is executed, the arguments to the function  become  the
+       in  the  context of the current shell; no new process is created to in-
+       terpret them (contrast this with the  execution  of  a  shell  script).
+       When  a  function is executed, the arguments to the function become the
        positional parameters during its execution.  The special parameter #\b# is
-       updated to reflect the change.  Special parameter 0\b0 is unchanged.   The
-       first  element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the func-
+       updated  to reflect the change.  Special parameter 0\b0 is unchanged.  The
+       first element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the  func-
        tion while the function is executing.
 
-       All other aspects of the shell execution environment are identical  be-
-       tween  a  function  and its caller with these exceptions: the D\bDE\bEB\bBU\bUG\bG and
-       R\bRE\bET\bTU\bUR\bRN\btraps (see the description  of  the  t\btr\bra\bap\bp  builtin  under  S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
-       given the t\btr\bra\bac\bce\be attribute (see the description of the  d\bde\bec\bcl\bla\bar\bre\b builtin
-       below)  or  the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
-       builtin (in which case all  functions  inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN
-       traps),  and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
+       All  other aspects of the shell execution environment are identical be-
+       tween a function and its caller with these exceptions:  the  D\bDE\bEB\bBU\bUG\b and
+       R\bRE\bET\bTU\bUR\bRN\b traps  (see  the  description  of  the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has  been
+       given  the  t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
+       below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with  the  s\bse\bet\bt
+       builtin  (in  which  case  all  functions  inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+       traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\b shell
        option has been enabled.
 
-       Variables local to the function may be declared with the l\blo\boc\bca\bal\b builtin
-       command  (_\bl_\bo_\bc_\ba_\bl _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs).  Ordinarily, variables and their values are
-       shared between the function and its caller.  If a variable is  declared
-       l\blo\boc\bca\bal\bl,  the variable's visible scope is restricted to that function and
+       Variables  local to the function may be declared with the l\blo\boc\bca\bal\bl builtin
+       command (_\bl_\bo_\bc_\ba_\bl _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs).  Ordinarily, variables and their values  are
+       shared  between the function and its caller.  If a variable is declared
+       l\blo\boc\bca\bal\bl, the variable's visible scope is restricted to that function  and
        its children (including the functions it calls).
 
        In the following description, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bs_\bc_\bo_\bp_\be is a currently- execut-
        ing function.  Previous scopes consist of that function's caller and so
-       on, back to the "global" scope, where the shell is  not  executing  any
+       on,  back  to  the "global" scope, where the shell is not executing any
        shell function.  Consequently, a local variable at the current scope is
        a variable declared using the l\blo\boc\bca\bal\bl or d\bde\bec\bcl\bla\bar\bre\be builtins in the function
        that is currently executing.
 
-       Local  variables "shadow" variables with the same name declared at pre-
-       vious scopes.  For instance, a local variable declared  in  a  function
-       hides  a  global  variable of the same name: references and assignments
-       refer to the local variable, leaving the  global  variable  unmodified.
+       Local variables "shadow" variables with the same name declared at  pre-
+       vious  scopes.   For  instance, a local variable declared in a function
+       hides a global variable of the same name:  references  and  assignments
+       refer  to  the  local variable, leaving the global variable unmodified.
        When the function returns, the global variable is once again visible.
 
-       The  shell  uses  _\bd_\by_\bn_\ba_\bm_\bi_\bc  _\bs_\bc_\bo_\bp_\bi_\bn_\bg  to  control a variable's visibility
-       within functions.  With dynamic scoping, visible  variables  and  their
-       values  are a result of the sequence of function calls that caused exe-
-       cution to reach the current function.  The value of a variable  that  a
-       function  sees  depends on its value within its caller, if any, whether
-       that caller is the "global" scope or another shell function.   This  is
-       also  the  value  that  a local variable declaration "shadows", and the
+       The shell uses _\bd_\by_\bn_\ba_\bm_\bi_\bc  _\bs_\bc_\bo_\bp_\bi_\bn_\bg  to  control  a  variable's  visibility
+       within  functions.   With  dynamic scoping, visible variables and their
+       values are a result of the sequence of function calls that caused  exe-
+       cution  to  reach the current function.  The value of a variable that a
+       function sees depends on its value within its caller, if  any,  whether
+       that  caller  is the "global" scope or another shell function.  This is
+       also the value that a local variable  declaration  "shadows",  and  the
        value that is restored when the function returns.
 
-       For example, if a variable _\bv_\ba_\br is declared as local in function  _\bf_\bu_\bn_\bc_\b1,
-       and  _\bf_\bu_\bn_\bc_\b1  calls  another  function _\bf_\bu_\bn_\bc_\b2, references to _\bv_\ba_\br made from
+       For  example, if a variable _\bv_\ba_\br is declared as local in function _\bf_\bu_\bn_\bc_\b1,
+       and _\bf_\bu_\bn_\bc_\b1 calls another function _\bf_\bu_\bn_\bc_\b2, references  to  _\bv_\ba_\br  made  from
        within _\bf_\bu_\bn_\bc_\b2 will resolve to the local variable _\bv_\ba_\br from _\bf_\bu_\bn_\bc_\b1, shadow-
        ing any global variable named _\bv_\ba_\br.
 
        The u\bun\bns\bse\bet\bt builtin also acts using the same dynamic scope: if a variable
        is local to the current scope, u\bun\bns\bse\bet\bt will unset it; otherwise the unset
-       will  refer  to  the  variable  found in any calling scope as described
-       above.  If a variable at the current local scope is unset, it will  re-
-       main  so  (appearing as unset) until it is reset in that scope or until
-       the function returns.  Once the function returns, any instance  of  the
+       will refer to the variable found in  any  calling  scope  as  described
+       above.   If a variable at the current local scope is unset, it will re-
+       main so (appearing as unset) 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 will become 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 l\blo\bo-\b-
+       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  l\blo\bo-\b-
        c\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt shell option changes this behavior).
 
-       The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set to a numeric value greater  than  0,  de-
-       fines  a maximum function nesting level.  Function invocations that ex-
+       The  F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT  variable,  if set to a numeric value greater than 0, de-
+       fines a maximum function nesting level.  Function invocations that  ex-
        ceed the limit cause the entire command to abort.
 
-       If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function,  the  function
-       completes  and  execution resumes with the next command after the func-
+       If  the  builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
+       completes and execution resumes with the next command after  the  func-
        tion call.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed be-
-       fore  execution  resumes.  When a function completes, the values of the
-       positional parameters and the special parameter #\b# are restored  to  the
+       fore execution resumes.  When a function completes, the values  of  the
+       positional  parameters  and the special parameter #\b# are restored to the
        values they had prior to the function's execution.
 
-       Function  names and definitions may be listed with the -\b-f\bf option to the
+       Function names and definitions may be listed with the -\b-f\bf option to  the
        d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands.  The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\be-\b-
-       s\bse\bet\b will  list the function names only (and optionally the source file
-       and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is  enabled).   Functions
-       may  be exported so that child shell processes (those created when exe-
-       cuting a separate shell invocation)  automatically  have  them  defined
+       s\bse\bet\bwill list the function names only (and optionally the  source  file
+       and  line  number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled).  Functions
+       may be exported so that child shell processes (those created when  exe-
+       cuting  a  separate  shell  invocation) automatically have them defined
        with the -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin.  A function definition may be
        deleted using the -\b-f\bf option to the u\bun\bns\bse\bet\bt builtin.
 
        Functions may be recursive.  The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable may be used to limit
-       the  depth  of the function call stack and restrict the number of func-
+       the depth of the function call stack and restrict the number  of  func-
        tion invocations.  By default, no limit is imposed on the number of re-
        cursive calls.
 
 A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
-       The  shell allows arithmetic expressions to be evaluated, under certain
-       circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands,  the  (\b((\b com-
+       The shell allows arithmetic expressions to be evaluated, under  certain
+       circumstances  (see  the  l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands, the (\b((\b( com-
        pound command, and A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).  Evaluation is done in fixed-
-       width integers with no check for overflow,  though  division  by  0  is
-       trapped  and  flagged as an error.  The operators and their precedence,
-       associativity, and values are the same as in the C language.  The  fol-
+       width  integers  with  no  check  for overflow, though division by 0 is
+       trapped and flagged as an error.  The operators and  their  precedence,
+       associativity,  and values are the same as in the C language.  The fol-
        lowing list of operators is grouped into levels of equal-precedence op-
        erators.  The levels are listed in order of decreasing precedence.
 
@@ -2675,57 +2676,57 @@ A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
        _\be_\bx_\bp_\br_\b1 ,\b, _\be_\bx_\bp_\br_\b2
               comma
 
-       Shell variables are allowed as operands; parameter  expansion  is  per-
+       Shell  variables  are  allowed as operands; parameter expansion is per-
        formed before the expression is evaluated.  Within an expression, shell
-       variables may also be referenced by name without  using  the  parameter
-       expansion  syntax.  A shell variable that is null or unset evaluates to
+       variables  may  also  be referenced by name without using the parameter
+       expansion syntax.  A shell variable that is null or unset evaluates  to
        0 when referenced by name without using the parameter expansion syntax.
-       The  value  of a variable is evaluated as an arithmetic expression when
-       it is referenced, or when a variable which has been given  the  _\bi_\bn_\bt_\be_\bg_\be_\br
+       The value of a variable is evaluated as an arithmetic  expression  when
+       it  is  referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
        attribute using d\bde\bec\bcl\bla\bar\bre\be -\b-i\bi is assigned a value.  A null value evaluates
-       to 0.  A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute  turned  on
+       to  0.   A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute turned on
        to be used in an expression.
 
        Integer constants follow the C language definition, without suffixes or
        character constants.  Constants with a leading 0 are interpreted as oc-
-       tal  numbers.  A leading 0x or 0X denotes hexadecimal.  Otherwise, num-
-       bers take the form [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal  num-
-       ber  between 2 and 64 representing the arithmetic base, and _\bn is a num-
-       ber in that base.  If _\bb_\ba_\bs_\be_\b# is omitted, then base  10  is  used.   When
+       tal numbers.  A leading 0x or 0X denotes hexadecimal.  Otherwise,  num-
+       bers  take the form [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal num-
+       ber between 2 and 64 representing the arithmetic base, and _\bn is a  num-
+       ber  in  that  base.   If _\bb_\ba_\bs_\be_\b# is omitted, then base 10 is used.  When
        specifying _\bn, if a non-digit is required, the digits greater than 9 are
-       represented by the lowercase letters, the uppercase letters, @, and  _,
-       in  that order.  If _\bb_\ba_\bs_\be is less than or equal to 36, lowercase and up-
-       percase letters may be used interchangeably to  represent  numbers  be-
+       represented  by the lowercase letters, the uppercase letters, @, and _,
+       in that order.  If _\bb_\ba_\bs_\be is less than or equal to 36, lowercase and  up-
+       percase  letters  may  be used interchangeably to represent numbers be-
        tween 10 and 35.
 
-       Operators  are  evaluated  in  order of precedence.  Sub-expressions in
-       parentheses are evaluated first and may override the  precedence  rules
+       Operators are evaluated in order  of  precedence.   Sub-expressions  in
+       parentheses  are  evaluated first and may override the precedence rules
        above.
 
 C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
-       Conditional  expressions  are  used  by the [\b[[\b[ compound command and the
-       t\bte\bes\bst\band [\b[ builtin commands to test file attributes and perform  string
-       and  arithmetic  comparisons.   The t\bte\bes\bst\bt and [\b[ commands determine their
-       behavior based on the number of  arguments;  see  the  descriptions  of
+       Conditional expressions are used by the [\b[[\b[  compound  command  and  the
+       t\bte\bes\bst\b and [\b[ builtin commands to test file attributes and perform string
+       and arithmetic comparisons.  The t\bte\bes\bst\bt and [\b[  commands  determine  their
+       behavior  based  on  the  number  of arguments; see the descriptions of
        those commands for any other command-specific actions.
 
-       Expressions  are  formed  from the following unary or binary primaries.
-       B\bBa\bas\bsh\bhandles several filenames specially when they are used in  expres-
+       Expressions are formed from the following unary  or  binary  primaries.
+       B\bBa\bas\bsh\b handles several filenames specially when they are used in expres-
        sions.  If the operating system on which b\bba\bas\bsh\bh is running provides these
-       special files, bash will use them; otherwise it will emulate  them  in-
-       ternally  with  this  behavior: If any _\bf_\bi_\bl_\be argument to one of the pri-
+       special  files,  bash will use them; otherwise it will emulate them in-
+       ternally with this behavior: If any _\bf_\bi_\bl_\be argument to one  of  the  pri-
        maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then file descriptor _\bn is checked.  If
-       the  _\bf_\bi_\bl_\be  argument  to  one  of  the  primaries  is one of _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
-       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2,  respectively,
+       the _\bf_\bi_\bl_\be argument to  one  of  the  primaries  is  one  of  _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
+       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt,  or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2, respectively,
        is checked.
 
        Unless otherwise specified, primaries that operate on files follow sym-
        bolic links and operate on the target of the link, rather than the link
        itself.
 
-       When  used with [\b[[\b[, or when the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the <\b< and >\b> op-
-       erators sort lexicographically using  the  current  locale.   When  the
-       shell  is  not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the t\bte\bes\bst\bt command sorts using ASCII order-
+       When used with [\b[[\b[, or when the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the <\b< and >\b op-
+       erators  sort  lexicographically  using  the  current locale.  When the
+       shell is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the t\bte\bes\bst\bt command sorts using  ASCII  order-
        ing.
 
        -\b-a\ba _\bf_\bi_\bl_\be
@@ -2764,34 +2765,34 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
        -\b-L\bL _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a symbolic link.
        -\b-N\bN _\bf_\bi_\bl_\be
-              True if _\bf_\bi_\bl_\be exists and has been  modified  since  it  was  last
+              True  if  _\bf_\bi_\bl_\be  exists  and  has been modified since it was last
               read.
        -\b-O\bO _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is owned by the effective user id.
        -\b-S\bS _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a socket.
        _\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+              True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode  num-
               bers.
        _\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
-              True if _\bf_\bi_\bl_\be_\b1 is newer (according  to  modification  date)  than
+              True  if  _\bf_\bi_\bl_\be_\b1  is  newer (according to modification date) than
               _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
        _\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
+              True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and  _\bf_\bi_\bl_\be_\b1
               does not.
        -\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
-              True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See  the  list  of
-              options  under  the  description  of  the  -\b-o\bo  option to the s\bse\bet\bt
+              True  if  the  shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See the list of
+              options under the description  of  the  -\b-o\bo  option  to  the  s\bse\bet\bt
               builtin below.
        -\b-v\bv _\bv_\ba_\br_\bn_\ba_\bm_\be
-              True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been  assigned  a
-              value).   If  _\bv_\ba_\br_\bn_\ba_\bm_\be  is  an  indexed  array variable name sub-
-              scripted by _\b@ or _\b*, this returns true if the array has  any  set
+              True  if  the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
+              value).  If _\bv_\ba_\br_\bn_\ba_\bm_\be is  an  indexed  array  variable  name  sub-
+              scripted  by  _\b@ or _\b*, this returns true if the array has any set
               elements.  If _\bv_\ba_\br_\bn_\ba_\bm_\be is an associative array variable name sub-
-              scripted by _\b@ or _\b*, this returns true if an  element  with  that
+              scripted  by  _\b@  or _\b*, this returns true if an element with that
               key is set.
        -\b-R\bR _\bv_\ba_\br_\bn_\ba_\bm_\be
-              True  if  the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set and is a name refer-
+              True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set and is a  name  refer-
               ence.
        -\b-z\bz _\bs_\bt_\br_\bi_\bn_\bg
               True if the length of _\bs_\bt_\br_\bi_\bn_\bg is zero.
@@ -2801,8 +2802,8 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b==\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
-              True if the strings are equal.  =\b= should be used with  the  t\bte\bes\bst\bt
-              command  for  POSIX conformance.  When used with the [\b[[\b[ command,
+              True  if  the strings are equal.  =\b= should be used with the t\bte\bes\bst\bt
+              command for POSIX conformance.  When used with the  [\b[[\b command,
               this performs pattern matching as described above (C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bm-\b-
               m\bma\ban\bnd\bds\bs).
 
@@ -2816,113 +2817,113 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
               True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts after _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically.
 
        _\ba_\br_\bg_\b1 O\bOP\bP _\ba_\br_\bg_\b2
-              O\bOP\b is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These arithmetic
-              binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal  to,
-              less  than, less than or equal to, greater than, or greater than
-              or equal to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may  be  positive
-              or  negative  integers.  When used with the [\b[[\b[ command, _\bA_\br_\bg_\b1 and
-              _\bA_\br_\bg_\bare evaluated as  arithmetic  expressions  (see  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC
+              O\bOP\bis one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These  arithmetic
+              binary  operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
+              less than, less than or equal to, greater than, or greater  than
+              or  equal  to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
+              or negative integers.  When used with the [\b[[\b[ command,  _\bA_\br_\bg_\b and
+              _\bA_\br_\bg_\b are  evaluated  as  arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC
               E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).
 
 S\bSI\bIM\bMP\bPL\bLE\bE C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        When a simple command is executed, the shell performs the following ex-
-       pansions, assignments, and redirections, from left  to  right,  in  the
+       pansions,  assignments,  and  redirections,  from left to right, in the
        following order.
 
-       1.     The  words  that  the  parser has marked as variable assignments
-              (those preceding the command name) and  redirections  are  saved
+       1.     The words that the parser has  marked  as  variable  assignments
+              (those  preceding  the  command name) and redirections are saved
               for later processing.
 
-       2.     The  words that are not variable assignments or redirections are
-              expanded.  If any words remain after expansion, the  first  word
-              is  taken  to be the name of the command and the remaining words
+       2.     The words that are not variable assignments or redirections  are
+              expanded.   If  any words remain after expansion, the first word
+              is taken to be the name of the command and the  remaining  words
               are the arguments.
 
        3.     Redirections are performed as described above under R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN.
 
        4.     The text after the =\b= in each variable assignment undergoes tilde
               expansion, parameter expansion, command substitution, arithmetic
-              expansion, and quote removal before being assigned to the  vari-
+              expansion,  and quote removal before being assigned to the vari-
               able.
 
        If no command name results, the variable assignments affect the current
-       shell environment.  In the case of such a command  (one  that  consists
-       only  of assignment statements and redirections), assignment statements
-       are performed before redirections.  Otherwise, the variables are  added
-       to  the  environment of the executed command and do not affect the cur-
+       shell  environment.   In  the case of such a command (one that consists
+       only of assignment statements and redirections), assignment  statements
+       are  performed before redirections.  Otherwise, the variables are added
+       to the environment of the executed command and do not affect  the  cur-
        rent shell environment.  If any of the assignments attempts to assign a
-       value  to  a  readonly variable, an error occurs, and the command exits
+       value to a readonly variable, an error occurs, and  the  command  exits
        with a non-zero status.
 
-       If no command name results, redirections are performed, but do not  af-
-       fect  the  current  shell  environment.  A redirection error causes the
+       If  no command name results, redirections are performed, but do not af-
+       fect the current shell environment.  A  redirection  error  causes  the
        command to exit with a non-zero status.
 
-       If there is a command name left after expansion, execution proceeds  as
-       described  below.   Otherwise, the command exits.  If one of the expan-
-       sions contained a command substitution, the exit status of the  command
-       is  the  exit  status  of  the last command substitution performed.  If
+       If  there is a command name left after expansion, execution proceeds as
+       described below.  Otherwise, the command exits.  If one of  the  expan-
+       sions  contained a command substitution, the exit status of the command
+       is the exit status of the  last  command  substitution  performed.   If
        there were no command substitutions, the command exits with a status of
        zero.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
-       After  a  command  has been split into words, if it results in a simple
-       command and an optional list of arguments, the shell performs the  fol-
+       After a command has been split into words, if it results  in  a  simple
+       command  and an optional list of arguments, the shell performs the fol-
        lowing actions.
 
-       If  the  command name contains no slashes, the shell attempts to locate
-       it.  If there exists a shell function by that name,  that  function  is
-       invoked  as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match a
-       function, the shell searches for it in the list of shell builtins.   If
+       If the command name contains no slashes, the shell attempts  to  locate
+       it.   If  there  exists a shell function by that name, that function is
+       invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match  a
+       function,  the shell searches for it in the list of shell builtins.  If
        a match is found, that builtin is invoked.
 
-       If  the name is neither a shell function nor a builtin, and contains no
-       slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for  a  directory  con-
+       If the name is neither a shell function nor a builtin, and contains  no
+       slashes,  b\bba\bas\bsh\bh  searches  each element of the P\bPA\bAT\bTH\bH for a directory con-
        taining an executable file by that name.  B\bBa\bas\bsh\bh uses a hash table to re-
-       member the full pathnames of executable files  (see  h\bha\bas\bsh\bh  under  S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below).  A full search of the directories in P\bPA\bAT\bTH\bH is
-       performed only if the command is not found in the hash table.   If  the
+       member  the  full  pathnames  of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  A full search of the directories in  P\bPA\bAT\bTH\b is
+       performed  only  if the command is not found in the hash table.  If the
        search is unsuccessful, the shell searches for a defined shell function
        named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be.  If that function exists, it is invoked
-       in  a  separate execution environment with the original command and the
-       original command's arguments as its arguments, and the function's  exit
-       status  becomes  the exit status of that subshell.  If that function is
+       in a separate execution environment with the original command  and  the
+       original  command's arguments as its arguments, and the function's exit
+       status becomes the exit status of that subshell.  If that  function  is
        not defined, the shell prints an error message and returns an exit sta-
        tus of 127.
 
-       If  the  search  is  successful, or if the command name contains one or
+       If the search is successful, or if the command  name  contains  one  or
        more slashes, the shell executes the named program in a separate execu-
        tion environment.  Argument 0 is set to the name given, and the remain-
        ing arguments to the command are set to the arguments given, if any.
 
-       If this execution fails because the file is not in  executable  format,
-       and  the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
+       If  this  execution fails because the file is not in executable format,
+       and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt,  a
        file containing shell commands, and the shell creates a new instance of
-       itself  to execute it.  This subshell reinitializes itself, so that the
+       itself to execute it.  This subshell reinitializes itself, so that  the
        effect is as if a new shell had been invoked to handle the script, with
-       the  exception  that the locations of commands remembered by the parent
-       (see h\bha\bas\bsh\bh below under S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS)  are  retained  by  the
+       the exception that the locations of commands remembered by  the  parent
+       (see  h\bha\bas\bsh\bh  below  under  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS) are retained by the
        child.
 
-       If  the program is a file beginning with #\b#!\b!, the remainder of the first
-       line specifies an interpreter for the program.  The shell executes  the
+       If the program is a file beginning with #\b#!\b!, the remainder of the  first
+       line  specifies an interpreter for the program.  The shell executes the
        specified interpreter on operating systems that do not handle this exe-
        cutable format themselves.  The arguments to the interpreter consist of
-       a  single optional argument following the interpreter name on the first
-       line of the program, followed by the name of the program,  followed  by
+       a single optional argument following the interpreter name on the  first
+       line  of  the program, followed by the name of the program, followed by
        the command arguments, if any.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       The  shell  has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
+       The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of  the  follow-
        ing:
 
-       +\bo      open files inherited by the shell at invocation, as modified  by
+       +\bo      open  files inherited by the shell at invocation, as modified by
               redirections supplied to the e\bex\bxe\bec\bc builtin
 
-       +\bo      the  current  working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
+       +\bo      the current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or  p\bpo\bop\bpd\bd,  or
               inherited by the shell at invocation
 
-       +\bo      the file creation mode mask as set by u\bum\bma\bas\bsk\bk  or  inherited  from
+       +\bo      the  file  creation  mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
               the shell's parent
 
        +\bo      current traps set by t\btr\bra\bap\bp
@@ -2930,282 +2931,282 @@ C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bN
        +\bo      shell parameters that are set by variable assignment or with s\bse\bet\bt
               or inherited from the shell's parent in the environment
 
-       +\bo      shell functions defined during execution or inherited  from  the
+       +\bo      shell  functions  defined during execution or inherited from the
               shell's parent in the environment
 
-       +\bo      options  enabled  at  invocation (either by default or with com-
+       +\bo      options enabled at invocation (either by default  or  with  com-
               mand-line arguments) or by s\bse\bet\bt
 
        +\bo      options enabled by s\bsh\bho\bop\bpt\bt
 
        +\bo      shell aliases defined with a\bal\bli\bia\bas\bs
 
-       +\bo      various process IDs, including those  of  background  jobs,  the
+       +\bo      various  process  IDs,  including  those of background jobs, the
               value of $\b$$\b$, and the value of P\bPP\bPI\bID\bD
 
-       When  a  simple command other than a builtin or shell function is to be
-       executed, it is invoked in a separate execution environment  that  con-
-       sists  of the following.  Unless otherwise noted, the values are inher-
+       When a simple command other than a builtin or shell function is  to  be
+       executed,  it  is invoked in a separate execution environment that con-
+       sists of the following.  Unless otherwise noted, the values are  inher-
        ited from the shell.
 
 
-       +\bo      the shell's open files, plus  any  modifications  and  additions
+       +\bo      the  shell's  open  files,  plus any modifications and additions
               specified by redirections to the command
 
        +\bo      the current working directory
 
        +\bo      the file creation mode mask
 
-       +\bo      shell  variables  and  functions  marked  for export, along with
+       +\bo      shell variables and functions  marked  for  export,  along  with
               variables exported for the command, passed in the environment
 
        +\bo      traps caught by the shell are reset to the values inherited from
               the shell's parent, and traps ignored by the shell are ignored
 
-       A  command  invoked  in  this  separate  environment  cannot affect the
+       A command invoked  in  this  separate  environment  cannot  affect  the
        shell's execution environment.
 
        A _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl is a copy of the shell process.
 
-       Command substitution, commands grouped with parentheses, and  asynchro-
+       Command  substitution, commands grouped with parentheses, and asynchro-
        nous commands are invoked in a subshell environment that is a duplicate
        of the shell environment, except that traps caught by the shell are re-
-       set  to  the values that the shell inherited from its parent at invoca-
+       set to the values that the shell inherited from its parent  at  invoca-
        tion.  Builtin commands that are invoked as part of a pipeline are also
        executed in a subshell environment.  Changes made to the subshell envi-
        ronment cannot affect the shell's execution environment.
 
        Subshells spawned to execute command substitutions inherit the value of
-       the  -\b-e\be  option  from  the  parent shell.  When not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, b\bba\bas\bsh\bh
+       the -\b-e\be option from the parent shell.  When  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  b\bba\bas\bsh\bh
        clears the -\b-e\be option in such subshells.
 
-       If a command is followed by a &\b& and job control is not active, the  de-
+       If  a command is followed by a &\b& and job control is not active, the de-
        fault standard input for the command is the empty file _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.  Oth-
-       erwise, the invoked command inherits the file descriptors of the  call-
+       erwise,  the invoked command inherits the file descriptors of the call-
        ing shell as modified by redirections.
 
 E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       When  a  program  is invoked it is given an array of strings called the
+       When a program is invoked it is given an array of  strings  called  the
        _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt.   This  is  a  list  of  _\bn_\ba_\bm_\be-_\bv_\ba_\bl_\bu_\be  pairs,  of  the  form
        _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be.
 
-       The  shell provides several ways to manipulate the environment.  On in-
-       vocation, the shell scans its own environment and creates  a  parameter
-       for  each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child pro-
+       The shell provides several ways to manipulate the environment.  On  in-
+       vocation,  the  shell scans its own environment and creates a parameter
+       for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child  pro-
        cesses.  Executed commands inherit the environment.  The e\bex\bxp\bpo\bor\brt\bt and d\bde\be-\b-
-       c\bcl\bla\bar\bre\b -\b-x\bx  commands  allow  parameters and functions to be added to and
+       c\bcl\bla\bar\bre\b-\b-x\bx commands allow parameters and functions to  be  added  to  and
        deleted from the environment.  If the value of a parameter in the envi-
        ronment is modified, the new value becomes part of the environment, re-
-       placing the old.  The environment inherited  by  any  executed  command
-       consists  of the shell's initial environment, whose values may be modi-
-       fied in the shell, less any pairs removed by the  u\bun\bns\bse\bet\bt  command,  plus
+       placing  the  old.   The  environment inherited by any executed command
+       consists of the shell's initial environment, whose values may be  modi-
+       fied  in  the  shell, less any pairs removed by the u\bun\bns\bse\bet\bt command, plus
        any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands.
 
-       The  environment  for  any  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or function may be augmented
-       temporarily by prefixing it with parameter  assignments,  as  described
+       The environment for any _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or  function  may  be  augmented
+       temporarily  by  prefixing  it with parameter assignments, as described
        above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS.  These assignment statements affect only the envi-
        ronment seen by that command.
 
-       If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below),  then  _\ba_\bl_\bl
-       parameter  assignments are placed in the environment for a command, not
+       If  the  -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
+       parameter assignments are placed in the environment for a command,  not
        just those that precede the command name.
 
-       When b\bba\bas\bsh\bh invokes an external command, the variable _\b_  is  set  to  the
+       When  b\bba\bas\bsh\bh  invokes  an  external command, the variable _\b_ is set to the
        full filename of the command and passed to that command in its environ-
        ment.
 
 E\bEX\bXI\bIT\bT S\bST\bTA\bAT\bTU\bUS\bS
-       The exit status of an executed command is the  value  returned  by  the
+       The  exit  status  of  an executed command is the value returned by the
        _\bw_\ba_\bi_\bt_\bp_\bi_\bd system call or equivalent function.  Exit statuses fall between
-       0 and 255, though, as explained below, the shell may use  values  above
+       0  and  255, though, as explained below, the shell may use values above
        125 specially.  Exit statuses from shell builtins and compound commands
        are also limited to this range.  Under certain circumstances, the shell
        will use special values to indicate specific failure modes.
 
        For the shell's purposes, a command which exits with a zero exit status
-       has succeeded.  An exit status of zero indicates success.   A  non-zero
-       exit  status  indicates  failure.  When a command terminates on a fatal
+       has  succeeded.   An exit status of zero indicates success.  A non-zero
+       exit status indicates failure.  When a command terminates  on  a  fatal
        signal _\bN, b\bba\bas\bsh\bh uses the value of 128+_\bN as the exit status.
 
-       If a command is not found, the child process created to execute it  re-
-       turns  a  status  of 127.  If a command is found but is not executable,
+       If  a command is not found, the child process created to execute it re-
+       turns a status of 127.  If a command is found but  is  not  executable,
        the return status is 126.
 
        If a command fails because of an error during expansion or redirection,
        the exit status is greater than zero.
 
-       Shell  builtin  commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
-       non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute.   All  builtins
-       return  an  exit status of 2 to indicate incorrect usage, generally in-
+       Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if  successful,  and
+       non-zero  (_\bf_\ba_\bl_\bs_\be)  if an error occurs while they execute.  All builtins
+       return an exit status of 2 to indicate incorrect usage,  generally  in-
        valid options or missing arguments.
 
        The exit status of the last command is available in the special parame-
        ter $?.
 
-       B\bBa\bas\bsh\b itself  returns the exit status of the last command executed, un-
-       less a syntax error occurs, in which case  it  exits  with  a  non-zero
+       B\bBa\bas\bsh\bitself returns the exit status of the last command  executed,  un-
+       less  a  syntax  error  occurs,  in which case it exits with a non-zero
        value.  See also the e\bex\bxi\bit\bt builtin command below.
 
 S\bSI\bIG\bGN\bNA\bAL\bLS\bS
-       When  b\bba\bas\bsh\bh  is  interactive,  in  the  absence of any traps, it ignores
+       When b\bba\bas\bsh\bh is interactive, in the  absence  of  any  traps,  it  ignores
        S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and S\bSI\bIG\bGI\bIN\bNT\bT
-       is  caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).  In
+       is caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).   In
        all cases, b\bba\bas\bsh\bh ignores S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control is in effect, b\bba\bas\bsh\bh ig-
        nores S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
        Non-builtin commands run by b\bba\bas\bsh\bh have signal handlers set to the values
        inherited by the shell from its parent.  When job control is not in ef-
-       fect,  asynchronous  commands  ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to
-       these inherited handlers.  Commands run as a result of command  substi-
+       fect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT  in  addition  to
+       these  inherited handlers.  Commands run as a result of command substi-
        tution ignore the keyboard-generated job control signals S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bT-\b-
        T\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
-       The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.   Before  exiting,
-       an  interactive  shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs, running or
+       The  shell  exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.  Before exiting,
+       an interactive shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs,  running  or
        stopped.  Stopped jobs are sent S\bSI\bIG\bGC\bCO\bON\bNT\bT to ensure that they receive the
-       S\bSI\bIG\bGH\bHU\bUP\bP.   To  prevent the shell from sending the signal to a particular
-       job, it should be removed from the jobs table with the  d\bdi\bis\bso\bow\bwn\b builtin
-       (see  S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or marked to not receive S\bSI\bIG\bGH\bHU\bUP\bP us-
+       S\bSI\bIG\bGH\bHU\bUP\bP.  To prevent the shell from sending the signal to  a  particular
+       job,  it  should be removed from the jobs table with the d\bdi\bis\bso\bow\bwn\bn builtin
+       (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or marked to not receive S\bSI\bIG\bGH\bHU\bUP\b us-
        ing d\bdi\bis\bso\bow\bwn\bn -\b-h\bh.
 
-       If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set with  s\bsh\bho\bop\bpt\bt,  b\bba\bas\bsh\bh  sends  a
+       If  the  h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt  shell  option has been set with s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
        S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an interactive login shell exits.
 
-       If  b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
+       If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal  for
        which a trap has been set, the trap will not be executed until the com-
-       mand  completes.   When b\bba\bas\bsh\bh is waiting for an asynchronous command via
-       the w\bwa\bai\bit\bt builtin, the reception of a signal for which a trap  has  been
+       mand completes.  When b\bba\bas\bsh\bh is waiting for an asynchronous  command  via
+       the  w\bwa\bai\bit\bt  builtin, the reception of a signal for which a trap has been
        set will cause the w\bwa\bai\bit\bt builtin to return immediately with an exit sta-
        tus greater than 128, immediately after which the trap is executed.
 
-       When job control is not enabled, and b\bba\bas\bsh\bh is waiting for  a  foreground
+       When  job  control is not enabled, and b\bba\bas\bsh\bh is waiting for a foreground
        command to complete, the shell receives keyboard-generated signals such
-       as S\bSI\bIG\bGI\bIN\bNT\bT (usually generated by ^\b^C\bC) that users commonly intend to  send
+       as  S\bSI\bIG\bGI\bIN\bNT\bT (usually generated by ^\b^C\bC) that users commonly intend to send
        to that command.  This happens because the shell and the command are in
        the same process group as the terminal, and ^\b^C\bC sends S\bSI\bIG\bGI\bIN\bNT\bT to all pro-
        cesses in that process group.
 
-       When  b\bba\bas\bsh\bh  is  running without job control enabled and receives S\bSI\bIG\bGI\bIN\bNT\bT
-       while waiting for a foreground command, it waits until that  foreground
+       When b\bba\bas\bsh\bh is running without job control enabled  and  receives  S\bSI\bIG\bGI\bIN\bNT\bT
+       while  waiting for a foreground command, it waits until that foreground
        command terminates and then decides what to do about the S\bSI\bIG\bGI\bIN\bNT\bT:
 
        1.     If the command terminates due to the S\bSI\bIG\bGI\bIN\bNT\bT, b\bba\bas\bsh\bh concludes that
-              the user meant to end the entire script, and acts on the  S\bSI\bIG\bGI\bIN\bNT\bT
+              the  user meant to end the entire script, and acts on the S\bSI\bIG\bGI\bIN\bNT\bT
               (e.g., by running a S\bSI\bIG\bGI\bIN\bNT\bT trap or exiting itself);
 
-       2.     If  the  command  does  not terminate due to S\bSI\bIG\bGI\bIN\bNT\bT, the program
-              handled the S\bSI\bIG\bGI\bIN\bNT\bT itself and did not treat it as a  fatal  sig-
-              nal.   In  that case, b\bba\bas\bsh\bh does not treat S\bSI\bIG\bGI\bIN\bNT\bT as a fatal sig-
-              nal, either, instead assuming that the S\bSI\bIG\bGI\bIN\bNT\bT was used  as  part
-              of  the program's normal operation (e.g., emacs uses it to abort
+       2.     If the command does not terminate due  to  S\bSI\bIG\bGI\bIN\bNT\bT,  the  program
+              handled  the  S\bSI\bIG\bGI\bIN\bNT\bT itself and did not treat it as a fatal sig-
+              nal.  In that case, b\bba\bas\bsh\bh does not treat S\bSI\bIG\bGI\bIN\bNT\bT as a  fatal  sig-
+              nal,  either,  instead assuming that the S\bSI\bIG\bGI\bIN\bNT\bT was used as part
+              of the program's normal operation (e.g., emacs uses it to  abort
               editing commands) or deliberately discarded.  However, b\bba\bas\bsh\bh will
-              run  any  trap  set on S\bSI\bIG\bGI\bIN\bNT\bT, as it does with any other trapped
-              signal it receives while it is waiting for the  foreground  com-
+              run any trap set on S\bSI\bIG\bGI\bIN\bNT\bT, as it does with  any  other  trapped
+              signal  it  receives while it is waiting for the foreground com-
               mand to complete, for compatibility.
 
 J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL
        _\bJ_\bo_\bb _\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the ex-
-       ecution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at  a  later
-       point.   A  user typically employs this facility via an interactive in-
-       terface supplied jointly by  the  operating  system  kernel's  terminal
+       ecution  of  processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
+       point.  A user typically employs this facility via an  interactive  in-
+       terface  supplied  jointly  by  the  operating system kernel's terminal
        driver and b\bba\bas\bsh\bh.
 
-       The  shell  associates  a  _\bj_\bo_\bb with each pipeline.  It keeps a table of
-       currently executing jobs, which may be listed with  the  j\bjo\bob\bbs\b command.
-       When  b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
+       The shell associates a _\bj_\bo_\bb with each pipeline.  It  keeps  a  table  of
+       currently  executing  jobs,  which may be listed with the j\bjo\bob\bbs\bs command.
+       When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints  a
        line that looks like:
 
               [1] 25647
 
        indicating that this job is job number 1 and that the process ID of the
        last process in the pipeline associated with this job is 25647.  All of
-       the processes in a single pipeline are members of the same  job.   B\bBa\bas\bsh\bh
+       the  processes  in a single pipeline are members of the same job.  B\bBa\bas\bsh\bh
        uses the _\bj_\bo_\bb abstraction as the basis for job control.
 
-       To  facilitate the implementation of the user interface to job control,
+       To facilitate the implementation of the user interface to job  control,
        the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
        _\bg_\br_\bo_\bu_\bp _\bI_\bD.  Members of this process group (processes whose process group
        ID is equal to the current terminal process group ID) receive keyboard-
-       generated  signals  such  as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said to be in
-       the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group  ID
+       generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said  to  be  in
+       the  _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
        differs from the terminal's; such processes are immune to keyboard-gen-
        erated signals.  Only foreground processes are allowed to read from or,
-       if  the  user  so  specifies  with  stty tostop, write to the terminal.
-       Background processes which attempt to read from  (write  to  when  stty
-       tostop  is  in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal
-       by the kernel's terminal driver, which,  unless  caught,  suspends  the
+       if the user so specifies with  stty  tostop,  write  to  the  terminal.
+       Background  processes  which  attempt  to read from (write to when stty
+       tostop is in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN  (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b signal
+       by  the  kernel's  terminal  driver, which, unless caught, suspends the
        process.
 
-       If  the operating system on which b\bba\bas\bsh\bh is running supports job control,
+       If the operating system on which b\bba\bas\bsh\bh is running supports job  control,
        b\bba\bas\bsh\bh contains facilities to use it.  Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
        ically ^\b^Z\bZ, Control-Z) while a process is running causes that process to
-       be stopped and returns control to b\bba\bas\bsh\bh.   Typing  the  _\bd_\be_\bl_\ba_\by_\be_\b _\bs_\bu_\bs_\bp_\be_\bn_\bd
-       character  (typically  ^\b^Y\bY,  Control-Y) causes the process to be stopped
+       be  stopped  and  returns  control to b\bba\bas\bsh\bh.  Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
+       character (typically ^\b^Y\bY, Control-Y) causes the process  to  be  stopped
        when it attempts to read input from the terminal, and control to be re-
-       turned  to  b\bba\bas\bsh\bh.   The user may then manipulate the state of this job,
-       using the b\bbg\bg command to continue it in the background, the  f\bfg\b command
+       turned to b\bba\bas\bsh\bh.  The user may then manipulate the state  of  this  job,
+       using  the  b\bbg\bg command to continue it in the background, the f\bfg\bg command
        to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it.  A ^\b^Z\bZ
        takes effect immediately, and has the additional side effect of causing
        pending output and typeahead to be discarded.
 
        There are a number of ways to refer to a job in the shell.  The charac-
-       ter %\b% introduces a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc).  Job number  _\bn  may  be
+       ter  %\b%  introduces  a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc).  Job number _\bn may be
        referred to as %\b%n\bn.  A job may also be referred to using a prefix of the
        name used to start it, or using a substring that appears in its command
-       line.   For example, %\b%c\bce\be refers to a stopped job whose command name be-
-       gins with c\bce\be.  If a prefix matches more than one job, b\bba\bas\bsh\bh  reports  an
+       line.  For example, %\b%c\bce\be refers to a stopped job whose command name  be-
+       gins  with  c\bce\be.  If a prefix matches more than one job, b\bba\bas\bsh\bh reports an
        error.  Using %\b%?\b?c\bce\be, on the other hand, refers to any job containing the
-       string c\bce\be in its command line.  If the substring matches more than  one
+       string  c\bce\be in its command line.  If the substring matches more than one
        job, b\bba\bas\bsh\bh reports an error.  The symbols %\b%%\b% and %\b%+\b+ refer to the shell's
-       notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb, which is the last job stopped while  it  was
-       in  the  foreground or started in the background.  The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may
-       be referenced using %\b%-\b-.  If there is only a single job, %\b%+\b+ and  %\b%-\b can
+       notion  of  the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb, which is the last job stopped while it was
+       in the foreground or started in the background.  The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs  _\bj_\bo_\b may
+       be  referenced  using %\b%-\b-.  If there is only a single job, %\b%+\b+ and %\b%-\b- can
        both be used to refer to that job.  In output pertaining to jobs (e.g.,
        the output of the j\bjo\bob\bbs\bs command), the current job is always flagged with
-       a  +\b+,  and the previous job with a -\b-.  A single % (with no accompanying
+       a +\b+, and the previous job with a -\b-.  A single % (with  no  accompanying
        job specification) also refers to the current job.
 
-       Simply naming a job can be used to bring it into the foreground: %\b%1\b is
-       a  synonym  for  `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the background into the
-       foreground.  Similarly, `\b``\b`%\b%1\b1 &\b&'\b''\b'  resumes  job  1  in  the  background,
+       Simply  naming a job can be used to bring it into the foreground: %\b%1\b1 is
+       a synonym for `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the  background  into  the
+       foreground.   Similarly,  `\b``\b`%\b%1\b1  &\b&'\b''\b'  resumes  job  1 in the background,
        equivalent to `\b``\b`b\bbg\bg %\b%1\b1'\b''\b'.
 
-       The  shell  learns immediately whenever a job changes state.  Normally,
+       The shell learns immediately whenever a job changes  state.   Normally,
        b\bba\bas\bsh\bh waits until it is about to print a prompt before reporting changes
-       in  a  job's status so as to not interrupt any other output.  If the -\b-b\bb
+       in a job's status so as to not interrupt any other output.  If  the  -\b-b\bb
        option to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes
-       immediately.   Any  trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child that ex-
+       immediately.  Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child  that  ex-
        its.
 
-       If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or,  if  the
-       c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\b shell  option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
+       If  an  attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
+       c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bshell option has been enabled using the s\bsh\bho\bop\bpt\bt  builtin,  run-
        ning), the shell prints a warning message, and, if the c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs option
-       is  enabled,  lists  the jobs and their statuses.  The j\bjo\bob\bbs\bs command may
-       then be used to inspect their status.  If a second attempt to  exit  is
-       made  without  an intervening command, the shell does not print another
+       is enabled, lists the jobs and their statuses.  The  j\bjo\bob\bbs\bs  command  may
+       then  be  used to inspect their status.  If a second attempt to exit is
+       made without an intervening command, the shell does not  print  another
        warning, and any stopped jobs are terminated.
 
-       When the shell is waiting for a job or process using the w\bwa\bai\bit\b builtin,
-       and  job  control  is  enabled,  w\bwa\bai\bit\bt  will return when the job changes
-       state. The -\b-f\bf option causes w\bwa\bai\bit\bt to wait until the job or process  ter-
+       When  the shell is waiting for a job or process using the w\bwa\bai\bit\bt builtin,
+       and job control is enabled, w\bwa\bai\bit\bt  will  return  when  the  job  changes
+       state.  The -\b-f\bf option causes w\bwa\bai\bit\bt to wait until the job or process ter-
        minates before returning.
 
 P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
        When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
-       it is ready to read a command, and the secondary  prompt  P\bPS\bS2\b2  when  it
-       needs  more  input  to  complete a command.  B\bBa\bas\bsh\bh displays P\bPS\bS0\b0 after it
-       reads a command but before executing it.   B\bBa\bas\bsh\bh  displays  P\bPS\bS4\b4  as  de-
-       scribed  above  before  tracing  each command when the -\b-x\bx option is en-
-       abled.  B\bBa\bas\bsh\bh allows these prompt strings to be customized by  inserting
-       a  number  of  backslash-escaped special characters that are decoded as
+       it  is  ready  to  read a command, and the secondary prompt P\bPS\bS2\b2 when it
+       needs more input to complete a command.  B\bBa\bas\bsh\bh  displays  P\bPS\bS0\b0  after  it
+       reads  a  command  but  before  executing it.  B\bBa\bas\bsh\bh displays P\bPS\bS4\b4 as de-
+       scribed above before tracing each command when the  -\b-x\bx  option  is  en-
+       abled.   B\bBa\bas\bsh\bh allows these prompt strings to be customized by inserting
+       a number of backslash-escaped special characters that  are  decoded  as
        follows:
               \\b\a\ba     an ASCII bell character (07)
-              \\b\d\bd     the date in "Weekday Month Date" format (e.g.,  "Tue  May
+              \\b\d\bd     the  date  in "Weekday Month Date" format (e.g., "Tue May
                      26")
               \\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
                      the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is in-
                      serted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results in
-                     a  locale-specific  time  representation.  The braces are
+                     a locale-specific time representation.   The  braces  are
                      required
               \\b\e\be     an ASCII escape character (033)
               \\b\h\bh     the hostname up to the first `.'
@@ -3214,7 +3215,7 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\l\bl     the basename of the shell's terminal device name
               \\b\n\bn     newline
               \\b\r\br     carriage return
-              \\b\s\bs     the name of the shell, the basename of  $\b$0\b0  (the  portion
+              \\b\s\bs     the  name  of  the shell, the basename of $\b$0\b0 (the portion
                      following the final slash)
               \\b\t\bt     the current time in 24-hour HH:MM:SS format
               \\b\T\bT     the current time in 12-hour HH:MM:SS format
@@ -3223,8 +3224,8 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\u\bu     the username of the current user
               \\b\v\bv     the version of b\bba\bas\bsh\bh (e.g., 2.00)
               \\b\V\bV     the release of b\bba\bas\bsh\bh, version + patch level (e.g., 2.00.0)
-              \\b\w\bw     the  value  of  the P\bPW\bWD\bD shell variable ($\b$P\bPW\bWD\bD), with $\b$H\bHO\bOM\bME\bE
-                     abbreviated  with  a  tilde  (uses  the  value   of   the
+              \\b\w\bw     the value of the P\bPW\bWD\bD shell variable  ($\b$P\bPW\bWD\bD),  with  $\b$H\bHO\bOM\bME\bE
+                     abbreviated   with   a  tilde  (uses  the  value  of  the
                      P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM variable)
               \\b\W\bW     the basename of $\b$P\bPW\bWD\bD, with $\b$H\bHO\bOM\bME\bE abbreviated with a tilde
               \\b\!\b!     the history number of this command
@@ -3232,70 +3233,70 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\$\b$     if the effective UID is 0, a #\b#, otherwise a $\b$
               \\b\_\bn_\bn_\bn   the character corresponding to the octal number _\bn_\bn_\bn
               \\b\\\b\     a backslash
-              \\b\[\b[     begin  a sequence of non-printing characters, which could
-                     be used to embed a terminal  control  sequence  into  the
+              \\b\[\b[     begin a sequence of non-printing characters, which  could
+                     be  used  to  embed  a terminal control sequence into the
                      prompt
               \\b\]\b]     end a sequence of non-printing characters
 
-       The  command  number  and the history number are usually different: the
-       history number of a command is its position in the history list,  which
-       may  include  commands  restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY be-
-       low), while the command number is the position in the sequence of  com-
-       mands  executed  during the current shell session.  After the string is
-       decoded, it is expanded via parameter expansion, command  substitution,
-       arithmetic  expansion,  and  quote removal, subject to the value of the
+       The command number and the history number are  usually  different:  the
+       history  number of a command is its position in the history list, which
+       may include commands restored from the history file  (see  H\bHI\bIS\bST\bTO\bOR\bRY\b be-
+       low),  while the command number is the position in the sequence of com-
+       mands executed during the current shell session.  After the  string  is
+       decoded,  it is expanded via parameter expansion, command substitution,
+       arithmetic expansion, and quote removal, subject to the  value  of  the
        p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the s\bsh\bho\bop\bpt\bt command under
-       S\bSH\bHE\bEL\bLL\b B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  This can have unwanted side effects if
-       escaped portions of the string appear within  command  substitution  or
+       S\bSH\bHE\bEL\bLL\bB\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  This can have unwanted side effects  if
+       escaped  portions  of  the string appear within command substitution or
        contain characters special to word expansion.
 
 R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
-       This  is  the library that handles reading input when using an interac-
+       This is the library that handles reading input when using  an  interac-
        tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is given at shell invocation.
        Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd builtin.
        By default, the line editing commands are similar to those of Emacs.  A
        vi-style line editing interface is also available.  Line editing can be
-       enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo  v\bvi\bi  options  to  the  s\bse\bet\bt
-       builtin  (see  S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  To turn off line editing
-       after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi  options  to  the
+       enabled  at  any  time  using  the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt
+       builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  To turn off  line  editing
+       after  the  shell  is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options to the
        s\bse\bet\bt builtin.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be N\bNo\bot\bta\bat\bti\bio\bon\bn
        In this section, the Emacs-style notation is used to denote keystrokes.
-       Control keys are denoted by C-_\bk_\be_\by, e.g., C-n  means  Control-N.   Simi-
-       larly,  _\bm_\be_\bt_\ba  keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.  (On key-
-       boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape  key
+       Control  keys  are  denoted by C-_\bk_\be_\by, e.g., C-n means Control-N.  Simi-
+       larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.   (On  key-
+       boards  without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
        then the _\bx key.  This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx.  The combination M-C-_\bx
-       means ESC-Control-_\bx, or press the Escape key then hold the Control  key
+       means  ESC-Control-_\bx, or press the Escape key then hold the Control key
        while pressing the _\bx key.)
 
        Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
-       a repeat count.  Sometimes, however, it is the  sign  of  the  argument
-       that  is  significant.   Passing  a negative argument to a command that
-       acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command  to
-       act  in  a  backward direction.  Commands whose behavior with arguments
+       a  repeat  count.   Sometimes,  however, it is the sign of the argument
+       that is significant.  Passing a negative argument  to  a  command  that
+       acts  in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
+       act in a backward direction.  Commands whose  behavior  with  arguments
        deviates from this are noted below.
 
-       When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is  saved
+       When  a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
        for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg).  The killed text is saved in a
        _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg.  Consecutive kills cause the text to be accumulated into one
        unit, which can be yanked all at once.  Commands which do not kill text
        separate the chunks of text on the kill ring.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn
-       Readline is customized by putting commands in  an  initialization  file
-       (the  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file).  The name of this file is taken from the value of
+       Readline  is  customized  by putting commands in an initialization file
+       (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file).  The name of this file is taken from the  value  of
        the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable.  If that variable is unset, the default is _\b~_\b/_\b._\bi_\bn_\b-
-       _\bp_\bu_\bt_\br_\bc.   If  that  file  does not exist or cannot be read, the ultimate
-       default is _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc.  When a program which uses  the  readline  li-
-       brary  starts up, the initialization file is read, and the key bindings
-       and variables are set.  There are only a few basic  constructs  allowed
-       in  the  readline initialization file.  Blank lines are ignored.  Lines
-       beginning with a #\b# are comments.  Lines beginning  with  a  $\b indicate
-       conditional  constructs.   Other lines denote key bindings and variable
+       _\bp_\bu_\bt_\br_\bc.  If that file  does not exist or cannot be  read,  the  ultimate
+       default  is  _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc.   When a program which uses the readline li-
+       brary starts up, the initialization file is read, and the key  bindings
+       and  variables  are set.  There are only a few basic constructs allowed
+       in the readline initialization file.  Blank lines are  ignored.   Lines
+       beginning  with  a  #\b#  are comments.  Lines beginning with a $\b$ indicate
+       conditional constructs.  Other lines denote key bindings  and  variable
        settings.
 
-       The default key-bindings may be changed with an  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file.   Other
+       The  default  key-bindings  may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.  Other
        programs that use this library may add their own commands and bindings.
 
        For example, placing
@@ -3303,18 +3304,18 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               M-Control-u: universal-argument
        or
               C-Meta-u: universal-argument
-       into  the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
+       into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command  _\bu_\bn_\bi_\bv_\be_\br_\b-
        _\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
 
-       The following symbolic character names  are  recognized:  _\bR_\bU_\bB_\bO_\bU_\bT,  _\bD_\bE_\bL,
+       The  following  symbolic  character  names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
        _\bE_\bS_\bC, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bS_\bP_\bC, _\bS_\bP_\bA_\bC_\bE, and _\bT_\bA_\bB.
 
-       In  addition  to  command  names, readline allows keys to be bound to a
+       In addition to command names, readline allows keys to  be  bound  to  a
        string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
-       The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is  simple.
-       All  that is required is the name of the command or the text of a macro
+       The  syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
+       All that is required is the name of the command or the text of a  macro
        and a key sequence to which it should be bound.  The name may be speci-
        fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
        _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
@@ -3326,15 +3327,15 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
 
-       In  the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
-       _\bM_\b-_\bD_\bE_\bis bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound  to
-       run  the macro expressed on the right hand side (that is, to insert the
+       In the above example, _\bC_\b-_\bu is bound to the function  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+       _\bM_\b-_\bD_\bE_\b is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
+       run the macro expressed on the right hand side (that is, to insert  the
        text ``> output'' into the line).
 
-       In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be  or  _\bm_\ba_\bc_\br_\bo,  k\bke\bey\bys\bse\beq\b differs
-       from  k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
-       be specified by placing the sequence within double  quotes.   Some  GNU
-       Emacs  style  key escapes can be used, as in the following example, but
+       In  the  second  form,  "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
+       from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence  may
+       be  specified  by  placing the sequence within double quotes.  Some GNU
+       Emacs style key escapes can be used, as in the following  example,  but
        the symbolic character names are not recognized.
 
               "\C-u": universal-argument
@@ -3342,7 +3343,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               "\e[11~": "Function Key 1"
 
        In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
-       _\bC_\b-_\b _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
+       _\bC_\b-_\b_\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b is
        bound to insert the text ``Function Key 1''.
 
        The full set of GNU Emacs style escape sequences is
@@ -3353,7 +3354,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\"\b"     literal "
               \\b\'\b'     literal '
 
-       In addition to the GNU Emacs style escape sequences, a  second  set  of
+       In  addition  to  the GNU Emacs style escape sequences, a second set of
        backslash escapes is available:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -3363,20 +3364,20 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\r\br     carriage return
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
-              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
+              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (one to three digits)
-              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
+              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
                      value _\bH_\bH (one or two hex digits)
 
        When entering the text of a macro, single or double quotes must be used
        to indicate a macro definition.  Unquoted text is assumed to be a func-
-       tion  name.   In  the macro body, the backslash escapes described above
-       are expanded.  Backslash will quote any other character  in  the  macro
+       tion name.  In the macro body, the backslash  escapes  described  above
+       are  expanded.   Backslash  will quote any other character in the macro
        text, including " and '.
 
-       B\bBa\bas\bsh\b allows the current readline key bindings to be displayed or modi-
-       fied with the b\bbi\bin\bnd\bd builtin command.  The editing mode may  be  switched
-       during  interactive  use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
+       B\bBa\bas\bsh\ballows the current readline key bindings to be displayed or  modi-
+       fied  with  the b\bbi\bin\bnd\bd builtin command.  The editing mode may be switched
+       during interactive use by using the -\b-o\bo option to the s\bse\bet\bt  builtin  com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
@@ -3387,109 +3388,109 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
        or using the b\bbi\bin\bnd\bd 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).
 
-       Except where noted, readline variables can take the values  O\bOn\bn  or  O\bOf\bff\bf
-       (without  regard  to  case).   Unrecognized variable names are ignored.
-       When a variable value is read, empty or null values, "on"  (case-insen-
+       Except  where  noted,  readline variables can take the values O\bOn\bn or O\bOf\bff\bf
+       (without regard to case).  Unrecognized  variable  names  are  ignored.
+       When  a variable value is read, empty or null values, "on" (case-insen-
        sitive), and "1" are equivalent to O\bOn\bn.  All other values are equivalent
        to O\bOf\bff\bf.  The variables and their default values are:
 
        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\br
-              A string variable that controls the text  color  and  background
-              when  displaying the text in the active region (see the descrip-
-              tion of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below).  This string must not  take
+              A  string  variable  that controls the text color and background
+              when displaying the text in the active region (see the  descrip-
+              tion  of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below).  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  before displaying the text in the active region.  This
-              variable is reset to the default  value  whenever  the  terminal
-              type  changes.   The  default  value is the string that puts the
-              terminal in standout mode, as obtained from the terminal's  ter-
+              consist  only of terminal escape sequences.  It is output to the
+              terminal before displaying the text in the active region.   This
+              variable  is  reset  to  the default value whenever the terminal
+              type changes.  The default value is the  string  that  puts  the
+              terminal  in standout mode, as obtained from the terminal's ter-
               minfo description.  A sample value might be "\e[01;33m".
        a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-e\ben\bnd\bd-\b-c\bco\bol\blo\bor\br
-              A  string  variable  that  "undoes"  the  effects  of a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
-              g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\band restores "normal" terminal display  appear-
-              ance  after  displaying  text in the active region.  This string
-              must not take up any physical character positions  on  the  dis-
-              play,  so  it  should consist only of terminal escape sequences.
-              It is output to the terminal after displaying the  text  in  the
-              active  region.   This  variable  is  reset to the default value
-              whenever the terminal type changes.  The default  value  is  the
-              string  that  restores  the  terminal from standout mode, as ob-
+              A string  variable  that  "undoes"  the  effects  of  a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
+              g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\b and restores "normal" terminal display appear-
+              ance after displaying text in the active  region.   This  string
+              must  not  take  up any physical character positions on the dis-
+              play, so it should consist only of  terminal  escape  sequences.
+              It  is  output  to the terminal after displaying the text in the
+              active region.  This variable is  reset  to  the  default  value
+              whenever  the  terminal  type changes.  The default value is the
+              string that restores the terminal from  standout  mode,  as  ob-
               tained from the terminal's terminfo description.  A sample value
               might be "\e[0m".
        b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
-              Controls  what  happens when readline wants to ring the terminal
+              Controls what happens when readline wants to ring  the  terminal
               bell.  If set to n\bno\bon\bne\be, readline never rings the bell.  If set to
-              v\bvi\bis\bsi\bib\bbl\ble\be,  readline  uses a visible bell if one is available.  If
+              v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is  available.   If
               set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
        b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn (the default), readline attempts to bind  the  con-
-              trol  characters that are treated specially by the kernel's ter-
-              minal driver to their readline equivalents.  These override  the
-              default  readline  bindings  described  here.  Type stty -a at a
+              If  set  to O\bOn\bn (the default), readline attempts to bind the con-
+              trol characters that are treated specially by the kernel's  ter-
+              minal  driver to their readline equivalents.  These override the
+              default readline bindings described here.  Type  stty  -a  at  a
               bash prompt to see your current terminal settings, including the
               special control characters (usually c\bcc\bch\bha\bar\brs\bs).
        b\bbl\bli\bin\bnk\bk-\b-m\bma\bat\btc\bch\bhi\bin\bng\bg-\b-p\bpa\bar\bre\ben\bn (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline attempts to briefly move the cursor to an
               opening parenthesis when a closing parenthesis is inserted.
        c\bco\bol\blo\bor\bre\bed\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, when listing completions,  readline  displays  the
+              If  set  to  O\bOn\bn, when listing completions, readline displays the
               common prefix of the set of possible completions using a differ-
-              ent color.  The color definitions are taken from  the  value  of
+              ent  color.   The  color definitions are taken from the value of
               the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment variable.  If there is a color defini-
-              tion in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix  "readline-colored-com-
-              pletion-prefix",  readline uses this color for the common prefix
+              tion  in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix "readline-colored-com-
+              pletion-prefix", readline uses this color for the common  prefix
               instead of its default.
        c\bco\bol\blo\bor\bre\bed\bd-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline displays possible completions using  dif-
-              ferent  colors  to  indicate their file type.  The color defini-
-              tions are taken from the  value  of  the  L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\b environment
+              If  set to O\bOn\bn, readline displays possible completions using dif-
+              ferent colors to indicate their file type.   The  color  defini-
+              tions  are  taken  from  the  value of the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment
               variable.
        c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b(`\b``\b`#\b#'\b''\b')\b)
-              The  string  that  is  inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
+              The string that is inserted  when  the  readline  i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
               command is executed.  This command is bound to M\bM-\b-#\b# in emacs mode
               and to #\b# in vi command mode.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh (\b(-\b-1\b1)\b)
-              The  number  of  screen columns used to display possible matches
-              when performing completion.  The value is ignored if it is  less
-              than  0 or greater than the terminal screen width.  A value of 0
-              will cause matches to be displayed one per  line.   The  default
+              The number of screen columns used to  display  possible  matches
+              when  performing completion.  The value is ignored if it is less
+              than 0 or greater than the terminal screen width.  A value of  0
+              will  cause  matches  to be displayed one per line.  The default
               value is -1.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline performs filename matching and completion
               in a case-insensitive fashion.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-m\bma\bap\bp-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be  is  enabled,  readline
-              treats  hyphens  (_\b-) and underscores (_\b_) as equivalent when per-
+              If  set  to  O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be is enabled, readline
+              treats hyphens (_\b-) and underscores (_\b_) as equivalent  when  per-
               forming case-insensitive filename matching and completion.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
-              The length in characters of the common prefix of a list of  pos-
-              sible  completions that is displayed without modification.  When
-              set to a value greater than zero, common  prefixes  longer  than
-              this  value are replaced with an ellipsis when displaying possi-
+              The  length in characters of the common prefix of a list of pos-
+              sible completions that is displayed without modification.   When
+              set  to  a  value greater than zero, common prefixes longer than
+              this value are replaced with an ellipsis when displaying  possi-
               ble completions.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
-              This determines when the user is queried about viewing the  num-
-              ber  of  possible  completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
-              t\bti\bio\bon\bns\bcommand.  It may be set to any integer value greater  than
-              or  equal  to  zero.   If  the number of possible completions is
-              greater than or equal to the value of  this  variable,  readline
-              will  ask whether or not the user wishes to view them; otherwise
-              they are simply listed on the  terminal.   A  zero  value  means
+              This  determines when the user is queried about viewing the num-
+              ber of possible completions generated  by  the  p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+              t\bti\bio\bon\bns\b command.  It may be set to any integer value greater than
+              or equal to zero.  If the  number  of  possible  completions  is
+              greater  than  or  equal to the value of this variable, readline
+              will ask whether or not the user wishes to view them;  otherwise
+              they  are  simply  listed  on  the terminal.  A zero value means
               readline should never ask; negative values are treated as zero.
        c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
-              If  set  to O\bOn\bn, readline will convert characters with the eighth
+              If set to O\bOn\bn, readline will convert characters with  the  eighth
               bit set to an ASCII key sequence by stripping the eighth bit and
-              prefixing  an  escape  character (in effect, using escape as the
-              _\bm_\be_\bt_\b_\bp_\br_\be_\bf_\bi_\bx).  The default is _\bO_\bn, but readline will  set  it  to
-              _\bO_\bf_\b if the locale contains eight-bit characters.  This variable
-              is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change  if
+              prefixing an escape character (in effect, using  escape  as  the
+              _\bm_\be_\bt_\b _\bp_\br_\be_\bf_\bi_\bx).   The  default is _\bO_\bn, but readline will set it to
+              _\bO_\bf_\bif the locale contains eight-bit characters.  This  variable
+              is  dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change if
               the locale is changed.
        d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline will inhibit word completion.  Completion
-              characters will be inserted into the line as if  they  had  been
+              characters  will  be  inserted into the line as if they had been
               mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
        e\bec\bch\bho\bo-\b-c\bco\bon\bnt\btr\bro\bol\bl-\b-c\bch\bha\bar\bra\bac\bct\bte\ber\brs\bs (\b(O\bOn\bn)\b)
-              When  set to O\bOn\bn, on operating systems that indicate they support
+              When set to O\bOn\bn, on operating systems that indicate they  support
               it, readline echoes a character corresponding to a signal gener-
               ated from the keyboard.
        e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
@@ -3497,29 +3498,29 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               ilar to _\bE_\bm_\ba_\bc_\bs or _\bv_\bi.  e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or
               v\bvi\bi.
        e\bem\bma\bac\bcs\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b(@\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 emacs editing mode is active.  The value is expanded like a
-              key binding, so the standard set of meta- and  control  prefixes
-              and  backslash escape sequences is available.  Use the \1 and \2
-              escapes to begin and end sequences of  non-printing  characters,
-              which  can be used to embed a terminal control sequence into the
+              key  binding,  so the standard set of meta- and control prefixes
+              and backslash escape sequences is available.  Use the \1 and  \2
+              escapes  to  begin and end sequences of non-printing characters,
+              which can be used to embed a terminal control sequence into  the
               mode string.
        e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn (\b(O\bOn\bn)\b)
-              The _\bp_\bo_\bi_\bn_\bt is the current cursor position, and _\bm_\ba_\br_\bk refers  to  a
-              saved  cursor  position.  The text between the point and mark is
-              referred to as the _\br_\be_\bg_\bi_\bo_\bn.  When this variable  is  set  to  _\bO_\bn,
-              readline  allows certain commands to designate the region as _\ba_\bc_\b-
-              _\bt_\bi_\bv_\be.  When the region is active, readline highlights  the  text
-              in  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\br,
-              which defaults to the string that enables the terminal's  stand-
-              out  mode.   The active region shows the text inserted by brack-
-              eted-paste and any matching text found by incremental  and  non-
+              The  _\bp_\bo_\bi_\bn_\bt  is the current cursor position, and _\bm_\ba_\br_\bk refers to a
+              saved cursor position.  The text between the point and  mark  is
+              referred  to  as  the  _\br_\be_\bg_\bi_\bo_\bn.  When this variable is set to _\bO_\bn,
+              readline allows certain commands to designate the region as  _\ba_\bc_\b-
+              _\bt_\bi_\bv_\be.   When  the region is active, readline highlights the text
+              in 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\br,
+              which  defaults to the string that enables the terminal's stand-
+              out mode.  The active region shows the text inserted  by  brack-
+              eted-paste  and  any matching text found by incremental and non-
               incremental history searches.
        e\ben\bna\bab\bbl\ble\be-\b-b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be (\b(O\bOn\bn)\b)
-              When  set to O\bOn\bn, readline configures the terminal to insert each
-              paste into the editing buffer as a single string of  characters,
-              instead  of  treating each character as if it had been read from
+              When set to O\bOn\bn, readline configures the terminal to insert  each
+              paste  into the editing buffer as a single string of characters,
+              instead of treating each character as if it had been  read  from
               the keyboard.  This prevents readline from executing any editing
               commands bound to key sequences appearing in the pasted text.
        e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
@@ -3527,195 +3528,195 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               pad when it is called.  Some systems need this to enable the ar-
               row keys.
        e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by (\b(O\bOn\bn)\b)
-              When  set  to  O\bOn\bn, readline will try to enable any meta modifier
-              key the terminal claims to support when it is called.   On  many
+              When set to O\bOn\bn, readline will try to enable  any  meta  modifier
+              key  the  terminal claims to support when it is called.  On many
               terminals, the meta key is used to send eight-bit characters.
        e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn,  tilde expansion is performed when readline at-
+              If set to O\bOn\bn, tilde expansion is  performed  when  readline  at-
               tempts word completion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, the history code attempts to place  point  at  the
-              same  location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+              If  set  to  O\bOn\bn, the history code attempts to place point at the
+              same location on each history line retrieved with  p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
               t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(u\bun\bns\bse\bet\bt)\b)
-              Set the maximum number of history entries saved in  the  history
-              list.   If set to zero, any existing history entries are deleted
+              Set  the  maximum number of history entries saved in the history
+              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, the
-              number of history entries is set to the value  of  the  H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
-              shell  variable.  If an attempt is made to set _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a
+              the number of history entries is not limited.  By  default,  the
+              number  of  history  entries is set to the value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
+              shell variable.  If an attempt is made to set _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to  a
               non-numeric value, the maximum number of history entries will be
               set 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)
-              When  set  to  O\bOn\bn, makes readline use a single line for display,
+              When set to O\bOn\bn, makes readline use a single  line  for  display,
               scrolling the input horizontally on a single screen line when it
-              becomes  longer  than the screen width rather than wrapping to a
-              new line.  This setting is automatically enabled  for  terminals
+              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, readline will enable eight-bit input (that is, it
+              If set to O\bOn\bn, readline will enable eight-bit input (that is,  it
               will not strip the eighth bit from the characters it reads), re-
-              gardless  of  what the terminal claims it can support.  The name
-              m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bis a synonym for this variable.  The default  is  _\bO_\bf_\bf,
-              but  readline will set it to _\bO_\bn if the locale contains eight-bit
-              characters.  This variable is dependent on the  L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\b locale
+              gardless of what the terminal claims it can support.   The  name
+              m\bme\bet\bta\ba-\b-f\bfl\bla\bag\b is  a synonym for this variable.  The default is _\bO_\bf_\bf,
+              but readline will set it to _\bO_\bn if the locale contains  eight-bit
+              characters.   This  variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale
               category, and may change if the locale is changed.
        i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b(`\b``\b`C\bC-\b-[\b[C\bC-\b-J\bJ'\b''\b')\b)
-              The  string  of  characters that should terminate an incremental
-              search without subsequently executing the character  as  a  com-
-              mand.   If this variable has not been given a value, the charac-
+              The string of characters that should  terminate  an  incremental
+              search  without  subsequently  executing the character as a com-
+              mand.  If this variable has not been given a value, the  charac-
               ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
        k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
-              Set the current readline keymap.  The set of valid keymap  names
-              is  _\be_\bm_\ba_\bc_\bs_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
-              _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd;  _\be_\bm_\ba_\bc_\b is
-              equivalent  to  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is _\be_\bm_\ba_\bc_\bs; the
+              Set  the current readline keymap.  The set of valid keymap names
+              is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+              _\bm_\ba_\bn_\bd,  and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+              equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is  _\be_\bm_\ba_\bc_\bs;  the
               value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
        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 _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait for a  character  when
-              reading  an ambiguous key sequence (one that can form a complete
+              Specifies  the  duration _\br_\be_\ba_\bd_\bl_\bi_\bn_\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 no input is re-
-              ceived within the timeout, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will  use  the  shorter  but
-              complete  key sequence.  The value is specified in milliseconds,
-              so a value of 1000 means that _\br_\be_\ba_\bd_\bl_\bi_\bn_\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, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will  wait
-              until  another  key  is  pressed to decide which key sequence to
+              input to complete a longer key sequence).  If no  input  is  re-
+              ceived  within  the  timeout,  _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will use the shorter but
+              complete key sequence.  The value is specified in  milliseconds,
+              so  a value of 1000 means that _\br_\be_\ba_\bd_\bl_\bi_\bn_\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, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait
+              until another key is pressed to decide  which  key  sequence  to
               complete.
        m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
               If set to O\bOn\bn, completed directory names have a slash appended.
        m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, history lines that have  been  modified  are  dis-
+              If  set  to  O\bOn\bn,  history lines that have been modified are dis-
               played with a preceding asterisk (*\b*).
        m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, completed names which are symbolic links to direc-
-              tories have a slash appended (subject to the value  of  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, causes readline to match files
-              whose names begin with a  `.'  (hidden  files)  when  performing
-              filename  completion.   If  set  to O\bOf\bff\bf, the leading `.' must be
+              This variable, when set to O\bOn\bn, causes readline  to  match  files
+              whose  names  begin  with  a  `.' (hidden files) when performing
+              filename completion.  If set to O\bOf\bff\bf, the  leading  `.'  must  be
               supplied by the user in the filename to be completed.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, menu completion displays the common prefix of  the
+              If  set to O\bOn\bn, menu completion displays the common prefix of the
               list of possible completions (which may be empty) before cycling
               through the list.
        o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will display characters with  the  eighth
+              If  set  to O\bOn\bn, readline will display characters with the eighth
               bit set directly rather than as a meta-prefixed escape sequence.
               The default is _\bO_\bf_\bf, but readline will set it to _\bO_\bn if the locale
-              contains  eight-bit  characters.   This variable is dependent on
-              the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change if  the  locale  is
+              contains eight-bit characters.  This variable  is  dependent  on
+              the  L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE  locale  category, and may change if the locale is
               changed.
        p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
-              If  set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
+              If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to  dis-
               play a screenful of possible completions at a time.
        p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will  display  completions  with  matches
-              sorted  horizontally in alphabetical order, rather than down the
+              If  set  to  O\bOn\bn,  readline will display completions with matches
+              sorted horizontally in alphabetical order, rather than down  the
               screen.
        r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will undo all changes  to  history  lines
+              If  set  to  O\bOn\bn, readline will undo all changes to history lines
               before returning when a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be is executed.  By default, his-
-              tory lines may be modified  and  retain  individual  undo  lists
+              tory  lines  may  be  modified  and retain individual undo lists
               across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
        s\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, readline performs incremental and non-incremental
+              If set to O\bOn\bn, readline 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,
-              readline  does  not  insert  characters from the completion that
-              match characters after point in the  word  being  completed,  so
+              If  set  to O\bOn\bn, this alters the default completion behavior when
+              inserting a single match into the line.  It's only  active  when
+              performing  completion  in  the  middle  of a word.  If enabled,
+              readline does not insert characters  from  the  completion  that
+              match  characters  after  point  in the word being completed, so
               portions of the word following the cursor are not duplicated.
        v\bvi\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.
-              Use the \1 and \2 escapes to begin and  end  sequences  of  non-
-              printing  characters, which can be used to embed a terminal con-
+              control prefixes and backslash escape  sequences  is  available.
+              Use  the  \1  and  \2 escapes to begin and end sequences of non-
+              printing characters, which can be used to embed a terminal  con-
               trol sequence 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.
-              Use  the  \1  and  \2 escapes to begin and end sequences of non-
-              printing characters, which can be used to embed a terminal  con-
+              control  prefixes  and  backslash escape sequences is available.
+              Use the \1 and \2 escapes to begin and  end  sequences  of  non-
+              printing  characters, which can be used to embed a terminal con-
               trol sequence 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
-       Readline  implements  a  facility  similar in spirit to the conditional
-       compilation features of the C preprocessor which  allows  key  bindings
-       and  variable  settings  to be performed as the result of tests.  There
+       Readline implements a facility similar in  spirit  to  the  conditional
+       compilation  features  of  the C preprocessor which allows key bindings
+       and variable settings to be performed as the result  of  tests.   There
        are four parser directives used.
 
-       $\b$i\bif\bf    The $\b$i\bif\bf construct allows bindings to be made based on the  edit-
-              ing  mode,  the  terminal  being  used, or the application using
-              readline.  The text of the test, 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
+              readline.   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  readline  is  in  emacs or vi mode.  This may be
-                     used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for  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 readline is  starting  out  in
+              m\bmo\bod\bde\be   The  m\bmo\bod\bde\be=\b=  form  of  the  $\b$i\bif\bf  directive is used to test
+                     whether readline is in emacs or vi  mode.   This  may  be
+                     used  in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for 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 readline is starting out in
                      emacs mode.
 
-              t\bte\ber\brm\bm   The  t\bte\ber\brm\bm=\b=  form may be used to include terminal-specific
+              t\bte\ber\brm\bm   The t\bte\ber\brm\bm=\b= form may be used to  include  terminal-specific
                      key bindings, perhaps to bind the key sequences output by
                      the terminal's function keys.  The word on the right side
                      of the =\b= is tested against both the full name of the ter-
-                     minal  and  the  portion  of the terminal name before the
-                     first -\b-.  This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and  _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
+                     minal and the portion of the  terminal  name  before  the
+                     first  -\b-.  This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
                      for instance.
 
               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 readline versions.  The v\bve\ber\brs\bsi\bio\bon\b expands
-                     to  the  current readline 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 readline versions.  The v\bve\ber\brs\bsi\bio\bon\bn expands
+                     to the current readline 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 is assumed to  be  0\b0.
+                     If  the  minor version is omitted, it is assumed to be 0\b0.
                      The operator may be separated from the string v\bve\ber\brs\bsi\bio\bon\bn and
                      from the version number argument by whitespace.
 
               a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn
                      The a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn construct is used to include application-
-                     specific  settings.   Each program using the readline 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  readline  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
@@ -3725,12 +3726,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
-                     readline variables and values.  The permitted  comparison
-                     operators  are  _\b=, _\b=_\b=, and _\b!_\b=.  The variable name must be
+                     readline  variables 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.  Both string and  boolean  vari-
-                     ables  may  be  tested.  Boolean variables must be tested
+                     operator may be separated from the  value  on  the  right
+                     hand  side  by whitespace.  Both string and boolean vari-
+                     ables may be tested. Boolean  variables  must  be  tested
                      against the values _\bo_\bn and _\bo_\bf_\bf.
 
        $\b$e\ben\bnd\bdi\bif\bf This command, as seen in the previous example, terminates an $\b$i\bif\bf
@@ -3740,51 +3741,51 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               test fails.
 
        $\b$i\bin\bnc\bcl\blu\bud\bde\be
-              This directive takes a single filename as an argument and  reads
-              commands  and bindings from that file.  For example, the follow-
+              This  directive takes a single filename as an argument and reads
+              commands and bindings from that file.  For example, the  follow-
               ing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
 
               $\b$i\bin\bnc\bcl\blu\bud\bde\be  _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
 
    S\bSe\bea\bar\brc\bch\bhi\bin\bng\bg
-       Readline provides commands for searching through  the  command  history
+       Readline  provides  commands  for searching through the command history
        (see H\bHI\bIS\bST\bTO\bOR\bRY\bY below) for lines containing a specified string.  There are
        two search modes: _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
 
-       Incremental searches begin before the  user  has  finished  typing  the
-       search  string.  As each character of the search string is typed, read-
+       Incremental  searches  begin  before  the  user has finished typing the
+       search string.  As each character of the search string is typed,  read-
        line displays the next entry from the history matching the string typed
-       so  far.   An  incremental  search  requires only as many characters as
-       needed to find the desired history entry.  The  characters  present  in
-       the  value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate an
+       so far.  An incremental search requires  only  as  many  characters  as
+       needed  to  find  the desired history entry.  The characters present in
+       the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate  an
        incremental search.  If that variable has not been assigned a value the
-       Escape  and  Control-J characters will terminate an incremental search.
-       Control-G will abort an incremental search  and  restore  the  original
-       line.   When the search is terminated, the history entry containing the
+       Escape and Control-J characters will terminate an  incremental  search.
+       Control-G  will  abort  an  incremental search and restore the original
+       line.  When the search is terminated, the history entry containing  the
        search string becomes the current line.
 
-       To find other matching entries in the history list, type  Control-S  or
-       Control-R  as appropriate.  This will search backward or forward in the
-       history for the next entry matching the search  string  typed  so  far.
-       Any  other  key sequence bound to a readline command will terminate the
-       search and execute that command.  For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be  will  termi-
+       To  find  other matching entries in the history list, type Control-S or
+       Control-R as appropriate.  This will search backward or forward in  the
+       history  for  the  next  entry matching the search string typed so far.
+       Any other key sequence bound to a readline command will  terminate  the
+       search  and  execute that command.  For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be will termi-
        nate the search and accept the line, thereby executing the command from
        the history list.
 
        Readline remembers the last incremental search string.  If two Control-
-       Rs  are  typed without any intervening characters defining a new search
+       Rs are typed without any intervening characters defining a  new  search
        string, any remembered search string is used.
 
-       Non-incremental searches read the entire search string before  starting
-       to  search  for matching history lines.  The search string may be typed
+       Non-incremental  searches read the entire search string before starting
+       to search for matching history lines.  The search string may  be  typed
        by the user or be part of the contents of the current line.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bom\bmm\bma\ban\bnd\bd N\bNa\bam\bme\bes\bs
-       The following is a list of the names of the commands  and  the  default
+       The  following  is  a list of the names of the commands and the default
        key sequences to which they are bound.  Command names without an accom-
        panying key sequence are unbound by default.  In the following descrip-
-       tions,  _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers to
-       a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command.  The text between  the
+       tions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers  to
+       a  cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command.  The text between the
        point and mark is referred to as the _\br_\be_\bg_\bi_\bo_\bn.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
@@ -3800,33 +3801,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
+              Move forward to the end of the next word.  Words  are  delimited
               by non-quoted shell metacharacters.
        s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move back to the start of the current or previous  word.   Words
+              Move  back  to the start of the current or previous word.  Words
               are delimited by non-quoted shell metacharacters.
        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 readline 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 readline 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
+              Attempt to move point to the same physical screen column on  the
               next physical screen line. This will not have the desired effect
-              if  the  current  readline  line  does not take up more than one
-              physical line or if the length of the current readline  line  is
+              if the current readline line does not  take  up  more  than  one
+              physical  line  or if the length of the current readline 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.
@@ -3834,158 +3835,158 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
        a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
               Accept the line regardless of where the cursor is.  If this line
-              is non-empty, add it to the history list according to the  state
-              of  the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable.  If the line is a modified history
+              is  non-empty, add it to the history list according to the state
+              of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable.  If the line is a modified  history
               line, then restore the history line to its original state.
        p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
               Fetch the previous command from the history list, moving back in
               the list.
        n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
-              Fetch  the next command from the history list, moving forward in
+              Fetch the next command from the history list, moving forward  in
               the list.
        b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
               Move to the first line in the history.
        e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
-              Move to the end of the input history, i.e., the  line  currently
+              Move  to  the end of the input history, i.e., the line currently
               being entered.
        o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
-              Accept  the  current  line for execution and fetch the next line
-              relative to the current line from the history  for  editing.   A
-              numeric  argument,  if  supplied, specifies the history entry to
+              Accept the current line for execution 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  backward  starting  at  the current line and moving `up'
+              through the  history  as  necessary.   This  is  an  incremental
               search.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
-              Search forward starting at the current line  and  moving  `down'
-              through  the  history  as  necessary.   This  is  an incremental
+              Search  forward  starting  at the current line and moving `down'
+              through the  history  as  necessary.   This  is  an  incremental
               search.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
               Search backward through the history starting at the current line
-              using  a  non-incremental  search  for  a string supplied by the
+              using a non-incremental search for  a  string  supplied  by  the
               user.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
-              Search forward  through  the  history  using  a  non-incremental
+              Search  forward  through  the  history  using  a non-incremental
               search for a string supplied by the user.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
-              Search  forward through the history for the string of characters
-              between the start of the current line and the point.  This is  a
+              Search forward through the history for the string of  characters
+              between  the start of the current line and the point.  This is a
               non-incremental search.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
               Search backward through the history for the string of characters
-              between the start of the current line and the point.  This is  a
+              between  the start of the current line and the point.  This is a
               non-incremental search.
        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 current cursor po-
-              sition  (the  _\bp_\bo_\bi_\bn_\bt).  The search string may match anywhere in a
+              sition (the _\bp_\bo_\bi_\bn_\bt).  The search string may match anywhere  in  a
               history line.  This is a non-incremental 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, the argument is extracted as if  the
+              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, the argument is extracted as if the
               "!_\bn" history expansion had been specified.
        y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
-              Insert  the last argument to the previous command (the last word
+              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
+              calls determines the direction to move through the  history.   A
+              negative  argument  switches  the  direction through the history
               (back or forward).  The history expansion facilities are used 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-
+              ing, tilde expansion, parameter and variable  expansion,  arith-
               metic expansion, word splitting, and quote removal.  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\bY E\bEX\bX-\b-
+              Perform history expansion on the current line.  See H\bHI\bIS\bST\bTO\bOR\bRY\b 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
-              ``stty''.  If this character is read when there are  no  charac-
-              ters  on  the  line,  and point is at the beginning of the line,
+              The character indicating end-of-file as  set,  for  example,  by
+              ``stty''.   If  this character is read when there are no charac-
+              ters on the line, and point is at the  beginning  of  the  line,
               readline interprets it as the end of input and returns E\bEO\bOF\bF.
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
               Delete the character at point.  If this function is bound to the
               same character as the tty E\bEO\bOF\bF character, as C\bC-\b-d\bd commonly is, see
               above for the effects.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
-              Delete the character behind the cursor.  When  given  a  numeric
+              Delete  the  character  behind the cursor.  When given a numeric
               argument, save the deleted text on the kill ring.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
-              Delete  the  character under the cursor, unless the cursor is at
+              Delete the character under the cursor, unless the cursor  is  at
               the end of the line, in which case the character behind the cur-
               sor is deleted.
        q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
-              Add  the next character typed to the line verbatim.  This is how
+              Add the next character typed to the line verbatim.  This is  how
               to insert characters like C\bC-\b-q\bq, for example.
        t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-v\bv T\bTA\bAB\bB)\b)
               Insert a tab character.
        s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, .\b..\b..\b.)\b)
               Insert the character typed.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
-              Drag the character before point forward over  the  character  at
-              point,  moving point forward as well.  If point is at the end of
-              the line, then this transposes the two characters before  point.
+              Drag  the  character  before point forward over the character at
+              point, moving point forward as well.  If point is at the end  of
+              the  line, then this transposes the two characters before point.
               Negative arguments have no effect.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
-              Drag  the  word  before  point past the word after point, moving
-              point over that word as well.  If point is at  the  end  of  the
+              Drag the word before point past the  word  after  point,  moving
+              point  over  that  word  as well.  If point is at the end of the
               line, this transposes the last two words on the line.
        u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
-              Uppercase  the current (or following) word.  With a negative 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, charac-
-              ters  bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather than
-              pushing the text  to  the  right.   Characters  bound  to  b\bba\bac\bck\bk-\b-
-              w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\b replace  the  character  before  point  with a
+              ters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather  than
+              pushing  the  text  to  the  right.   Characters  bound to b\bba\bac\bck\bk-\b-
+              w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\breplace  the  character  before  point  with  a
               space.  By default, this command is unbound.
 
    K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
@@ -3994,31 +3995,31 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
               Kill backward to the beginning of the line.
        u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
-              Kill backward from point to the  beginning  of  the  line.   The
+              Kill  backward  from  point  to  the beginning of the line.  The
               killed text is saved on the kill-ring.
        k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
-              Kill  all  characters on the current line, no matter where point
+              Kill all characters on the current line, no matter  where  point
               is.
        k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill from point to the end of the current word,  or  if  between
-              words,  to  the  end  of the next word.  Word boundaries are the
+              Kill  from  point  to the end of the current word, or if between
+              words, to the end of the next word.   Word  boundaries  are  the
               same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill the word behind point.  Word boundaries  are  the  same  as
+              Kill  the  word  behind  point.  Word boundaries are the same as
               those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd
-              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.  The killed text is saved on the kill-ring.
        u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
-              Kill  the  word  behind  point,  using white space and the slash
-              character as the word boundaries.  The killed text is  saved  on
+              Kill the word behind point, using  white  space  and  the  slash
+              character  as  the word boundaries.  The killed text is saved on
               the kill-ring.
        d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
               Delete all spaces and tabs around point.
@@ -4027,64 +4028,64 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
               Copy the text in the region to the kill buffer.
        c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy  the word before point to the kill buffer.  The word bound-
+              Copy the word before point to the kill buffer.  The word  bound-
               aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy the word following point to  the  kill  buffer.   The  word
+              Copy  the  word  following  point  to the kill buffer.  The word
               boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
               Yank the top of the kill ring into the buffer at point.
        y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
-              Rotate  the kill ring, and yank the new top.  Only works follow-
+              Rotate the kill ring, and yank the new top.  Only works  follow-
               ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
 
    N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
        d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, .\b..\b..\b.,\b, M\bM-\b--\b-)\b)
-              Add this digit to the argument already accumulating, or start  a
+              Add  this digit to the argument already accumulating, or start a
               new argument.  M-- starts a negative argument.
        u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
-              This  is another way to specify an argument.  If this command is
-              followed by one or more digits, optionally with a leading  minus
-              sign,  those digits define the argument.  If the command is fol-
+              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
+              Attempt to perform completion on the text  before  point.   B\bBa\bas\bsh\bh
               attempts completion treating the text as a variable (if the text
-              begins  with  $\b$), username (if the text begins with ~\b~), hostname
-              (if the text begins with @\b@), or command (including  aliases  and
+              begins with $\b$), username (if the text begins with  ~\b~),  hostname
+              (if  the  text begins with @\b@), or command (including aliases and
               functions) in turn.  If none of these produces a match, filename
               completion is attempted.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
               List the possible completions of the text before point.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
-              Insert all completions of the text before point that would  have
+              Insert  all completions of the text before point that would have
               been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
-              Similar  to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
-              a single match from the list of possible completions.   Repeated
-              execution  of  m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be  steps through the list of possible
-              completions, inserting each match in turn.  At the  end  of  the
+              Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed  with
+              a  single match from the list of possible completions.  Repeated
+              execution of m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the  list  of  possible
+              completions,  inserting  each  match in turn.  At the end of the
               list of completions, the bell is rung (subject to the setting of
               b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and the original text is restored.  An argument of _\bn
               moves _\bn positions forward in the list of matches; a negative ar-
               gument may be used to move 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.
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
-              Deletes  the  character under the cursor if not at the beginning
-              or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  If at  the  end  of  the
+              Deletes the character under the cursor if not at  the  beginning
+              or  end  of  the  line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  If at the end of the
               line, behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.  This command
               is unbound by default.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-f\bfi\bil\ble\ben\bna\bam\bme\be (\b(M\bM-\b-/\b/)\b)
@@ -4093,67 +4094,67 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               List the possible completions of the text before point, treating
               it as a filename.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be (\b(M\bM-\b-~\b~)\b)
-              Attempt  completion  on  the text before point, treating it as a
+              Attempt completion on the text before point, treating  it  as  a
               username.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx ~\b~)\b)
               List the possible completions of the text before point, treating
               it as a username.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be (\b(M\bM-\b-$\b$)\b)
-              Attempt  completion  on  the text before point, treating it as a
+              Attempt completion on the text before point, treating  it  as  a
               shell variable.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx $\b$)\b)
               List the possible completions of the text before point, treating
               it as a shell variable.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be (\b(M\bM-\b-@\b@)\b)
-              Attempt  completion  on  the text before point, treating it as a
+              Attempt completion on the text before point, treating  it  as  a
               hostname.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx @\b@)\b)
               List the possible completions of the text before point, treating
               it as a hostname.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-!\b!)\b)
-              Attempt  completion  on  the text before point, treating it as a
-              command name.  Command completion attempts  to  match  the  text
-              against   aliases,   reserved   words,  shell  functions,  shell
+              Attempt completion on the text before point, treating  it  as  a
+              command  name.   Command  completion  attempts to match the text
+              against  aliases,  reserved  words,   shell   functions,   shell
               builtins, and finally executable filenames, in that order.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx !\b!)\b)
               List the possible completions of the text before point, treating
               it as a command name.
        d\bdy\byn\bna\bam\bmi\bic\bc-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-T\bTA\bAB\bB)\b)
-              Attempt  completion on the text before point, comparing the text
-              against lines from the  history  list  for  possible  completion
+              Attempt completion on the text before point, comparing the  text
+              against  lines  from  the  history  list for possible completion
               matches.
        d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
-              Attempt  menu completion on the text before point, comparing the
+              Attempt menu completion on the text before point, comparing  the
               text against lines from the history list for possible completion
               matches.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
               Perform filename completion and insert the list of possible com-
-              pletions enclosed within braces so the list is available to  the
+              pletions  enclosed within braces so the list is available to the
               shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
    K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
        s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
-              Begin  saving  the  characters  typed  into the current keyboard
+              Begin saving the characters  typed  into  the  current  keyboard
               macro.
        e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
               Stop saving the characters typed into the current keyboard macro
               and store the definition.
        c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
-              Re-execute  the last keyboard macro defined, by making the char-
+              Re-execute the last keyboard macro defined, by making the  char-
               acters in the macro appear as if typed at the keyboard.
        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..\b..\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)
@@ -4161,204 +4162,204 @@ 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,
               the mark is set to that position.
        e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
-              Swap the point with the mark.  The current  cursor  position  is
-              set  to the saved position, and the old cursor position is saved
+              Swap  the  point  with the mark.  The current cursor position is
+              set to the saved position, and the old cursor position is  saved
               as the mark.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
               A character is read and point is moved to the next occurrence of
-              that  character.   A negative argument searches for previous oc-
+              that character.  A negative argument searches for  previous  oc-
               currences.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
-              A character is read and point is moved to  the  previous  occur-
-              rence  of that character.  A negative argument searches for sub-
+              A  character  is  read and point is moved to the previous occur-
+              rence of that character.  A negative argument searches for  sub-
               sequent occurrences.
        s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
-              Read enough characters to consume a multi-key sequence  such  as
-              those  defined for keys like Home and End.  Such sequences begin
+              Read  enough  characters to consume a multi-key sequence such as
+              those defined for keys like Home and End.  Such sequences  begin
               with a Control Sequence Indicator (CSI), usually ESC-[.  If this
-              sequence  is  bound  to "\[", keys producing such sequences will
-              have no effect unless explicitly bound to  a  readline  command,
-              instead  of  inserting stray characters into the editing buffer.
+              sequence is bound to "\[", keys producing  such  sequences  will
+              have  no  effect  unless explicitly bound to a readline command,
+              instead of inserting stray characters into the  editing  buffer.
               This is unbound by default, but usually bound to ESC-[.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
-              Without a numeric argument,  the  value  of  the  readline  c\bco\bom\bm-\b-
-              m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\b variable is inserted at the beginning of the current
+              Without  a  numeric  argument,  the  value  of the readline c\bco\bom\bm-\b-
+              m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bvariable is inserted at the beginning of the  current
               line.  If a numeric argument is supplied, this command acts as a
-              toggle:  if  the  characters at the beginning of the line do not
-              match the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted,  other-
+              toggle: if the characters at the beginning of the  line  do  not
+              match  the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted, other-
               wise the characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn are deleted from the begin-
-              ning of the line.  In either case, the line is accepted as if  a
-              newline  had  been  typed.   The  default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
-              causes this command to make the current line  a  shell  comment.
-              If  a  numeric  argument  causes the comment character to be re-
+              ning  of the line.  In either case, the line is accepted as if a
+              newline had been typed.   The  default  value  of  c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
+              causes  this  command  to make the current line a shell comment.
+              If a numeric argument causes the comment  character  to  be  re-
               moved, the line will be executed 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\bl 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\b 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)
-              The  word  before point is treated as a pattern for pathname ex-
-              pansion, with an asterisk implicitly appended.  This pattern  is
-              used  to generate a list of matching filenames for possible com-
+              The word before point is treated as a pattern for  pathname  ex-
+              pansion,  with an asterisk implicitly appended.  This pattern is
+              used to generate a list of matching filenames for possible  com-
               pletions.
        g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
-              The word before point is treated as a pattern for  pathname  ex-
+              The  word  before point is treated as a pattern for pathname ex-
               pansion, and the list of matching filenames is inserted, replac-
               ing the word.  If a numeric argument is supplied, an asterisk is
               appended before pathname expansion.
        g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
-              The  list  of  expansions  that  would  have  been  generated by
-              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bis displayed, and the line is  redrawn.   If  a
-              numeric  argument  is  supplied,  an asterisk is appended before
+              The list  of  expansions  that  would  have  been  generated  by
+              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\b is  displayed,  and the line is redrawn.  If a
+              numeric argument is supplied, an  asterisk  is  appended  before
               pathname expansion.
        d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
-              Print all of the functions and their key bindings to  the  read-
+              Print  all  of the functions and their key bindings to the read-
               line output stream.  If a numeric argument is supplied, the out-
-              put is formatted in such a way that it can be made  part  of  an
+              put  is  formatted  in such a way that it can be made part of an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
               Print all of the settable readline variables and their values to
-              the readline output stream.  If a numeric argument is  supplied,
-              the  output  is formatted in such a way that it can be made part
+              the  readline output stream.  If a numeric argument is supplied,
+              the output is formatted in such a way that it can be  made  part
               of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
-              Print all of the readline key sequences bound to macros and  the
-              strings  they  output.   If  a numeric argument is supplied, the
+              Print  all of the readline key sequences bound to macros and the
+              strings they output.  If a numeric  argument  is  supplied,  the
               output is formatted in such a way that it can be made part of an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdi\bis\bsp\bpl\bla\bay\by-\b-s\bsh\bhe\bel\bll\bl-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(C\bC-\b-x\bx C\bC-\b-v\bv)\b)
               Display version information about the current instance of b\bba\bas\bsh\bh.
 
    P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-       When  word  completion  is  attempted  for an argument to a command for
-       which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has  been  defined  using
-       the  c\bco\bom\bmp\bpl\ble\bet\bte\be  builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the program-
+       When word completion is attempted for an  argument  to  a  command  for
+       which  a  completion  specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+       the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below),  the  program-
        mable completion facilities are invoked.
 
-       First, the command name is identified.  If  the  command  word  is  the
-       empty  string (completion attempted at the beginning of an empty line),
-       any compspec defined with the -\b-E\bE option to  c\bco\bom\bmp\bpl\ble\bet\bte\be  is  used.   If  a
-       compspec  has  been  defined  for that command, the compspec is used to
+       First,  the  command  name  is  identified.  If the command word is the
+       empty string (completion attempted at the beginning of an empty  line),
+       any  compspec  defined  with  the  -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used.  If a
+       compspec has been defined for that command, the  compspec  is  used  to
        generate the list of possible completions for the word.  If the command
-       word  is  a full pathname, a compspec for the full pathname is searched
-       for first.  If no compspec is found for the full pathname,  an  attempt
-       is  made  to find a compspec for the portion following the final slash.
-       If those searches do not result in a  compspec,  any  compspec  defined
-       with  the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default.  If there is no
-       default compspec, b\bba\bas\bsh\bh attempts alias expansion on the command word  as
-       a  final  resort,  and attempts to find a compspec for the command word
+       word is a full pathname, a compspec for the full pathname  is  searched
+       for  first.   If no compspec is found for the full pathname, an attempt
+       is made to find a compspec for the portion following the  final  slash.
+       If  those  searches  do  not result in a compspec, any compspec defined
+       with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default.  If there is  no
+       default  compspec, b\bba\bas\bsh\bh attempts alias expansion on the command word as
+       a final resort, and attempts to find a compspec for  the  command  word
        from any successful expansion.
 
-       Once a compspec has been found, it is used  to  generate  the  list  of
-       matching  words.   If a compspec is not found, the default b\bba\bas\bsh\bh comple-
+       Once  a  compspec  has  been  found, it is used to generate the list of
+       matching words.  If a compspec is not found, the default  b\bba\bas\bsh\b comple-
        tion as described above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg is performed.
 
-       First, the actions specified by the compspec are  used.   Only  matches
-       which  are prefixed by the word being completed are returned.  When the
-       -\b-f\bor -\b-d\bd option is used for filename or directory name completion,  the
+       First,  the  actions  specified by the compspec are used.  Only matches
+       which are prefixed by the word being completed are returned.  When  the
+       -\b-f\b or -\b-d\bd option is used for filename or directory name completion, the
        shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE is used to filter the matches.
 
        Any completions specified by a pathname expansion pattern to the -\b-G\bG op-
-       tion are generated next.  The words generated by the pattern  need  not
-       match  the  word being completed.  The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
+       tion  are  generated next.  The words generated by the pattern need not
+       match the word being completed.  The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable  is  not
        used to filter the matches, but the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable is used.
 
-       Next, the string specified as the argument to the -\b-W\bW option is  consid-
-       ered.   The  string is first split using the characters in the I\bIF\bFS\bS spe-
-       cial variable as delimiters.  Shell quoting is honored.  Each  word  is
-       then  expanded  using  brace  expansion, tilde expansion, parameter and
-       variable expansion, command substitution, and arithmetic expansion,  as
+       Next,  the string specified as the argument to the -\b-W\bW option is consid-
+       ered.  The string is first split using the characters in the  I\bIF\bFS\b spe-
+       cial  variable  as delimiters.  Shell quoting is honored.  Each word is
+       then expanded using brace expansion,  tilde  expansion,  parameter  and
+       variable  expansion, command substitution, and arithmetic expansion, as
        described above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN.  The results are split using the rules
        described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg.  The results of the expansion are
        prefix-matched against the word being completed, and the matching words
        become the possible completions.
 
-       After these matches have been generated, any shell function or  command
-       specified  with  the -\b-F\bF and -\b-C\bC options is invoked.  When the command or
+       After  these matches have been generated, any shell function or command
+       specified with the -\b-F\bF and -\b-C\bC options is invoked.  When the  command  or
        function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE
        variables are assigned values as described above under S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.
-       If a shell function is being invoked,  the  C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS  and  C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
-       variables  are  also set.  When the function or command is invoked, the
-       first argument ($\b$1\b1) is the name of the command whose arguments are  be-
-       ing  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  com-
+       If  a  shell  function  is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
+       variables are also set.  When the function or command is  invoked,  the
+       first  argument ($\b$1\b1) is the name of the command whose arguments are be-
+       ing 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 com-
        pleted on the current command line.  No filtering of the generated com-
        pletions against the word being completed is performed; the function or
        command has complete freedom in generating the matches.
 
-       Any  function specified with -\b-F\bF is invoked first.  The function may use
-       any of the shell facilities, including the  c\bco\bom\bmp\bpg\bge\ben\bn  builtin  described
-       below,  to  generate the matches.  It must put the possible completions
+       Any function specified with -\b-F\bF is invoked first.  The function may  use
+       any  of  the  shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn builtin described
+       below, to generate the matches.  It must put the  possible  completions
        in the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable, 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  may  be
+       Next,  any  command specified with the -\b-C\bC option is invoked in an envi-
+       ronment equivalent to command substitution.  It should print a list  of
+       completions,  one  per  line, to the standard output.  Backslash may be
        used to escape a newline, if necessary.
 
-       After  all of the possible completions are generated, any filter speci-
-       fied with the -\b-X\bX option is applied to the list.  The filter is  a  pat-
-       tern  as  used  for  pathname expansion; a &\b& in the pattern is replaced
-       with the text of the word being completed.  A literal &\b& may be  escaped
-       with  a  backslash; the backslash is removed before attempting a match.
-       Any completion that matches the pattern will be removed from the  list.
+       After all of the possible completions are generated, any filter  speci-
+       fied  with  the -\b-X\bX option is applied to the list.  The filter is a pat-
+       tern as used for pathname expansion; a &\b& in  the  pattern  is  replaced
+       with  the text of the word being completed.  A literal &\b& may be escaped
+       with a backslash; the backslash is removed before attempting  a  match.
+       Any  completion that matches the pattern will be removed from the list.
        A leading !\b! negates the pattern; in this case any completion not match-
-       ing the pattern will be removed.  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 alpha-
+       ing  the  pattern  will be removed.  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  alpha-
        betic characters.
 
        Finally, any prefix and suffix specified with the -\b-P\bP and -\b-S\bS options are
        added to each member of the completion list, and the result is returned
        to the readline completion code as the list of possible completions.
 
-       If the previously-applied actions do not generate any matches, and  the
-       -\b-o\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, directory name completion is attempted.
 
-       If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be  when  the  compspec
+       If  the  -\b-o\bo  p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
        was defined, directory name completion is attempted and any matches are
        added to the results of the other actions.
 
-       By default, if a compspec is found, whatever it generates  is  returned
-       to  the  completion  code as the full set of possible completions.  The
+       By  default,  if a compspec is found, whatever it generates is returned
+       to the completion code as the full set of  possible  completions.   The
        default b\bba\bas\bsh\bh completions are not attempted, and the readline default of
        filename completion is disabled.  If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was sup-
-       plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default  com-
+       plied  to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
        pletions are attempted if the compspec generates no matches.  If the -\b-o\bo
-       d\bde\bef\bfa\bau\bul\blt\boption was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was  defined,
-       readline's  default  completion will be performed if the compspec (and,
+       d\bde\bef\bfa\bau\bul\blt\b option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
+       readline's default completion will be performed if the  compspec  (and,
        if attempted, the default b\bba\bas\bsh\bh completions) generate no matches.
 
-       When a compspec indicates that directory name  completion  is  desired,
-       the  programmable completion functions force readline to append a slash
-       to completed names which are symbolic links to directories, subject  to
-       the  value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
+       When  a  compspec  indicates that directory name completion is desired,
+       the programmable completion functions force readline to append a  slash
+       to  completed names which are symbolic links to directories, subject to
+       the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of  the
        setting of the m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable.
 
-       There is some support for dynamically modifying completions.   This  is
-       most  useful  when used in combination with a default completion speci-
-       fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions  executed  as
-       completion  handlers  to  indicate that completion should be retried by
-       returning an exit status of 124.  If a shell function returns 124,  and
+       There  is  some support for dynamically modifying completions.  This is
+       most useful when used in combination with a default  completion  speci-
+       fied  with  c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions executed as
+       completion handlers to indicate that completion should  be  retried  by
+       returning  an exit status of 124.  If a shell function returns 124, and
        changes the compspec associated with the command on which completion is
-       being attempted (supplied as the first argument when  the  function  is
+       being  attempted  (supplied  as the first argument when the function is
        executed), programmable completion restarts from the beginning, with an
-       attempt to find a new compspec for that command.  This allows a set  of
-       completions  to be built dynamically as completion is attempted, rather
+       attempt  to find a new compspec for that command.  This allows a set of
+       completions to be built dynamically as completion is attempted,  rather
        than being loaded all at once.
 
-       For instance, assuming that there is a library of compspecs, each  kept
-       in  a  file corresponding to the name of the command, the following 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()
@@ -4369,176 +4370,184 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
 
 H\bHI\bIS\bST\bTO\bOR\bRY\bY
-       When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin  is  enabled,  the  shell
+       When  the  -\b-o\bo  h\bhi\bis\bst\bto\bor\bry\by  option to the s\bse\bet\bt builtin is enabled, the shell
        provides access to the _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bh_\bi_\bs_\bt_\bo_\br_\by, the list of commands previously
-       typed.  The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used  as  the  number  of
+       typed.   The  value  of  the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
        commands to save in a history list.  The text of the last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE com-
-       mands (default 500) is saved.  The shell stores  each  command  in  the
-       history  list  prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       above) but after history expansion is performed, subject to the  values
+       mands  (default  500)  is  saved.  The shell stores each command in the
+       history list prior to parameter and variable expansion  (see  E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
+       above)  but after history expansion is performed, subject to the values
        of the shell variables H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE and H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
 
        On startup, the history is initialized from the file named by the vari-
-       able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  The file named by  the  value
-       of  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  is  truncated,  if necessary, to contain no more than the
-       number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE.   If  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE-\b-
-       S\bSI\bIZ\bZE\b is unset, or set to null, a non-numeric value, or a numeric value
-       less than zero, the history file is not truncated.   When  the  history
-       file  is  read, lines beginning with the history comment character fol-
+       able  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  The file named by the value
+       of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain  no  more  than  the
+       number  of  lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE-\b-
+       S\bSI\bIZ\bZE\bis unset, or set to null, a non-numeric value, or a numeric  value
+       less  than  zero,  the history file is not truncated.  When the history
+       file is read, lines beginning with the history comment  character  fol-
        lowed immediately by a digit are interpreted as timestamps for the fol-
        lowing history line.  These timestamps are optionally displayed depend-
-       ing on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.   When  a  shell  with
-       history  enabled  exits,  the  last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied 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\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the
-       lines are appended to the history file, otherwise the history  file  is
-       overwritten.   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.  If the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\b variable
-       is  set,  time  stamps are written to the history file, marked with the
-       history comment character, so they may be preserved across  shell  ses-
-       sions.   This  uses  the history comment character to distinguish time-
+       ing  on  the  value  of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.  When a shell with
+       history enabled exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines  are  copied  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\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below),  the
+       lines  are  appended to the history file, otherwise the history file is
+       overwritten.  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.  If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable
+       is set, time stamps are written to the history file,  marked  with  the
+       history  comment  character, so they may be preserved across shell ses-
+       sions.  This uses the history comment character  to  distinguish  time-
        stamps from other history lines.  After saving the history, the history
        file is truncated to contain no more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines.  If H\bHI\bIS\bST\bT-\b-
-       F\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bis unset, or set to null, a non-numeric value,  or  a  numeric
+       F\bFI\bIL\bLE\bES\bSI\bIZ\bZE\b is  unset,  or set to null, a non-numeric value, or a numeric
        value less than zero, the history file is not truncated.
 
-       The  builtin  command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may be used
+       The builtin command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may  be  used
        to list or edit and re-execute a portion of the history list.  The h\bhi\bis\bs-\b-
-       t\bto\bor\bry\b builtin may be used to display or modify the history list and ma-
-       nipulate the history file.  When  using  command-line  editing,  search
-       commands  are available in each editing mode that provide access to the
+       t\bto\bor\bry\bbuiltin may be used to display or modify the history list and  ma-
+       nipulate  the  history  file.   When using command-line editing, search
+       commands are available in each editing mode that provide access to  the
        history list.
 
-       The shell allows control over which commands are saved on  the  history
-       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 cause the
+       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  cause  the
        shell to save only a subset of the commands entered.  The c\bcm\bmd\bdh\bhi\bis\bst\bt shell
-       option,  if enabled, causes the shell to attempt to save each line of a
-       multi-line command in the same history entry, adding  semicolons  where
-       necessary  to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell option
-       causes the shell to save the command with embedded newlines instead  of
+       option, if enabled, causes the shell to attempt to save each line of  a
+       multi-line  command  in the same history entry, adding semicolons where
+       necessary to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell  option
+       causes  the shell to save the command with embedded newlines instead of
        semicolons.  See the description of the s\bsh\bho\bop\bpt\bt builtin below under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for information on setting  and  unsetting  shell  op-
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  for  information  on setting and unsetting shell op-
        tions.
 
 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
-       are  available.   This  feature  is  enabled by default for interactive
+       The shell supports a history expansion feature that is similar  to  the
+       history  expansion in c\bcs\bsh\bh.  This section describes what syntax features
+       are available.  This feature is  enabled  by  default  for  interactive
        shells, and can be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  Non-interactive shells do not
        perform history expansion by default.
 
        History expansions introduce words from the history list into the input
-       stream,  making  it  easy to repeat commands, insert the arguments to a
+       stream, making it easy to repeat commands, insert the  arguments  to  a
        previous command into the current input line, or fix errors in previous
        commands quickly.
 
-       History  expansion  is  performed  immediately after a complete line is
-       read, before the shell breaks it into words, and is performed  on  each
-       line  individually  without  taking  quoting on previous lines into ac-
-       count.  It takes place in two parts.  The first is to  determine  which
-       line  from  the history list to use during substitution.  The second is
-       to select portions of that line for inclusion  into  the  current  one.
-       The  line  selected  from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
+       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 without taking quoting on  previous  lines  into  ac-
+       count.   It  takes place in two parts.  The first is to determine which
+       line from the history list to use during substitution.  The  second  is
+       to  select  portions  of  that line for inclusion into the current one.
+       The line selected from the history is the _\be_\bv_\be_\bn_\bt, and  the  portions  of
        that line that are acted upon are _\bw_\bo_\br_\bd_\bs.  The line is broken 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-
+       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.
 
-       Several  shell  options  settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
-       tailor the behavior of history expansion.  If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell  op-
-       tion  is  enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin below), and
-       r\bre\bea\bad\bdl\bli\bin\bne\be is being  used,  history  substitutions  are  not  immediately
-       passed  to  the  shell  parser.  Instead, the expanded line is reloaded
+       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_\bn  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 entry, using an
+       event  designator  equivalent to !\b!!\b!, and substitutes one string for an-
+       other in that line.  It is described  below  under  E\bEv\bve\ben\bnt\bt  D\bDe\bes\bsi\big\bgn\bna\bat\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 may  be  used  to
+       tailor  the behavior of history expansion.  If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell op-
+       tion is enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin  below),  and
+       r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  history  substitutions  are not immediately
+       passed to the shell parser.  Instead, the  expanded  line  is  reloaded
        into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for further modification.  If r\bre\bea\bad\bdl\bli\bin\bne\be
-       is  being  used,  and  the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed
-       history substitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing  buffer
-       for  correction.   The  -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command may be
-       used to see what a history expansion will do before using it.   The  -\b-s\bs
+       is being used, and the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option  is  enabled,  a  failed
+       history  substitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer
+       for correction.  The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin  command  may  be
+       used  to  see what a history expansion will do before using it.  The -\b-s\bs
        option to the h\bhi\bis\bst\bto\bor\bry\by builtin may be used to add commands to the end of
-       the history list without actually executing  them,  so  that  they  are
+       the  history  list  without  actually  executing them, so that they are
        available for subsequent recall.
 
-       The  shell allows control of the various characters used by the history
+       The shell allows control of the various characters used by the  history
        expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
-       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).   The shell uses the history comment character to mark his-
+       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).  The shell uses the history comment character to mark  his-
        tory timestamps when writing the history file.
 
    E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       An event designator is a reference to a command line entry in the  his-
-       tory  list.   The  event designator consists of the portion of the word
+       An  event designator is a reference to a command line entry in the his-
+       tory 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, events are relative to the current position  in  the  history
+       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 command line _\bn.
        !\b!-\b-_\bn    Refer to the current command minus _\bn.
        !\b!!\b!     Refer to the previous command.  This is a synonym for `!-1'.
        !\b!_\bs_\bt_\br_\bi_\bn_\bg
-              Refer  to the most recent command 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_\b is  missing,  the  string from the most recent search is
+              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, the string from the  most  recent  search  is
               used; 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_\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^''
+              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^''
               (see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
        !\b!#\b#     The entire command line typed so far.
 
    W\bWo\bor\brd\bd D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       Word designators are used to select desired words from the event.  A  :\b:
-       separates  the event specification from the word designator.  It may be
-       omitted if the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or  %\b%.   Words
-       are  numbered from the beginning of the line, with the first word being
-       denoted by 0 (zero).  Words are inserted into the  current  line  sepa-
+       Word  designators are used to select desired words from the event.  A :\b:
+       separates the event specification from the word designator.  It may  be
+       omitted  if  the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or %\b%.  Words
+       are numbered from the beginning of the line, with the first word  being
+       denoted  by  0  (zero).  Words are inserted into the current line sepa-
        rated by single spaces.
 
        0\b0 (\b(z\bze\ber\bro\bo)\b)
               The zeroth word.  For the shell, this is the command word.
        _\bn      The _\bnth word.
        ^\b^      The first argument.  That is, 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
+       %\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.
        _\bx-\b-_\by    A range of words; `-_\by' abbreviates `0-_\by'.
-       *\b*      All of the words but the zeroth.  This is a synonym  for  `_\b1_\b-_\b$'.
-              It  is  not  an  error to use *\b* if there is just one word in the
+       *\b*      All  of  the words but the zeroth.  This is a synonym for `_\b1_\b-_\b$'.
+              It is not an error to use *\b* if there is just  one  word  in  the
               event; the empty string is returned in that case.
        x\bx*\b*     Abbreviates _\bx_\b-_\b$.
        x\bx-\b-     Abbreviates _\bx_\b-_\b$ like x\bx*\b*, but omits the last word.  If 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.
 
    M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
-       After the optional word designator, there may appear a sequence of  one
+       After  the optional word designator, there may appear a sequence of one
        or more of the following modifiers, each preceded by a `:'.  These mod-
        ify, or edit, the word or words selected from the history event.
 
@@ -4548,24 +4557,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; the last one supplied is used.
        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  final  delimiter is optional if it is the last character of
               the event line.  The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with
               a single backslash.  If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd.
-              A  single backslash will quote the &.  If _\bo_\bl_\bd is null, it is set
-              to the last _\bo_\bl_\bd substituted, or, if no previous history  substi-
-              tutions  took  place,  the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]  search.
+              A single backslash will quote the &.  If _\bo_\bl_\bd is null, it is  set
+              to  the last _\bo_\bl_\bd substituted, or, if no previous history substi-
+              tutions 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.
@@ -4574,56 +4583,56 @@ 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.  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
        s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
               Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell en-
-              vironment and return the exit status of the  last  command  exe-
-              cuted  from  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.   If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  does not contain a slash,
-              filenames in P\bPA\bAT\bTH\bH are used  to  find  the  directory  containing
+              vironment  and  return  the exit status of the last command exe-
+              cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  does  not  contain  a  slash,
+              filenames  in  P\bPA\bAT\bTH\bH  are  used  to find the directory containing
               _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, but _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable.  The file
-              searched for in P\bPA\bAT\bTH\bH need not be executable.  When b\bba\bas\bsh\bh  is  not
-              in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be, it searches the current directory if no file is
-              found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to  the  s\bsh\bho\bop\bpt\b builtin
-              command  is  turned off, the P\bPA\bAT\bTH\bH is not searched.  If any _\ba_\br_\bg_\bu_\b-
-              _\bm_\be_\bn_\bt_\bare supplied, they become the positional  parameters  when
-              _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b is  executed.  Otherwise the positional parameters are
-              unchanged.  If the -\b-T\bT option is enabled, .\b. inherits any trap  on
+              searched  for  in P\bPA\bAT\bTH\bH need not be executable.  When b\bba\bas\bsh\bh is not
+              in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, it searches the current directory if no  file  is
+              found  in  P\bPA\bAT\bTH\bH.   If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin
+              command is turned off, the P\bPA\bAT\bTH\bH is not searched.  If  any  _\ba_\br_\bg_\bu_\b-
+              _\bm_\be_\bn_\bt_\b are  supplied, they become the positional parameters when
+              _\bf_\bi_\bl_\be_\bn_\ba_\bm_\bis executed.  Otherwise the positional  parameters  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 call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it  exe-
+              around  the call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it exe-
               cutes.  If -\b-T\bT is not set, and the sourced file changes the D\bDE\bEB\bBU\bUG\bG
-              trap, the new value is retained when .\b.  completes.   The  return
-              status  is  the  status  of  the  last command exited within the
+              trap,  the  new  value is retained when .\b. completes.  The return
+              status is the status of  the  last  command  exited  within  the
               script (0 if no commands are executed), and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
               not found or cannot be read.
 
        a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
               A\bAl\bli\bia\bas\bs with no arguments or with the -\b-p\bp option prints the list of
-              aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard  output.   When
-              arguments  are supplied, an alias is defined for each _\bn_\ba_\bm_\be whose
-              _\bv_\ba_\bl_\bu_\bis given.  A trailing space in _\bv_\ba_\bl_\bu_\be causes the next  word
+              aliases  in  the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output.  When
+              arguments are supplied, an alias is defined for each _\bn_\ba_\bm_\b whose
+              _\bv_\ba_\bl_\bu_\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.
-              For each _\bn_\ba_\bm_\be in the argument list for which no  _\bv_\ba_\bl_\bu_\be  is  sup-
-              plied,  the  name  and value of the alias is printed.  A\bAl\bli\bia\bas\bs re-
-              turns true unless a _\bn_\ba_\bm_\be is given for which no  alias  has  been
+              For  each  _\bn_\ba_\bm_\be  in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
+              plied, the name and value of the alias is  printed.   A\bAl\bli\bia\bas\b re-
+              turns  true  unless  a _\bn_\ba_\bm_\be is given for which no alias has been
               defined.
 
        b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Resume  each  suspended  job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
+              Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background,  as  if  it
               had been started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
-              notion  of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
-              run when job control is disabled or, when run with  job  control
-              enabled,  any  specified  _\bj_\bo_\bb_\bs_\bp_\be_\bc  was  not found or was started
+              notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0  unless
+              run  when  job control is disabled or, when run with job control
+              enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was  not  found  or  was  started
               without job control.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bVX\bX]
@@ -4633,13 +4642,16 @@ 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] _\bk_\be_\by_\bs_\be_\bq:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
        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 set a r\bre\bea\bad\bdl\bli\bin\bne\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  set  a  r\bre\bea\bad\bdl\bli\bin\bne\be
               variable.  Each non-option argument is a command as it would ap-
-              pear  in  a  r\bre\bea\bad\bdl\bli\bin\bne\be  initialization 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'.   Options, if supplied,
-              have the following meanings:
+              pear in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization 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  de-
+              scriptions,  output available to be re-read is formatted as com-
+              mands that would appear 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 com-
+              mand.  Options, if supplied, have the following meanings:
               -\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
                      Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
                      bindings.  Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
@@ -6870,4 +6882,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash 5.3                    2023 November 6                        BASH(1)
+GNU Bash 5.3                   2023 December 14                        BASH(1)
index f55f3ef07ea0b3bd14f4ef14a2d9f46ab396b931..c4603de13934b58fab7eaa3e444ef9c07b1b479c 100644 (file)
@@ -5,14 +5,14 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Mon Nov  6 10:19:40 EST 2023
+.\"    Last Change: Thu Dec 14 11:05:39 EST 2023
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .\" avoid a warning about an undefined register
 .\" .if !rzY .nr zY 0
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2023 November 6" "GNU Bash 5.3"
+.TH BASH 1 "2023 December 14" "GNU Bash 5.3"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -2771,7 +2771,8 @@ the character which signals the start of a history
 expansion, normally `\fB!\fP'.
 The second character is the \fIquick substitution\fP
 character, which is used as shorthand for re-running the previous
-command entered, substituting one string for another in the command.
+command entered, substituting one string for another in the command,
+when it appears as the first character on the line.
 The default is `\fB\(ha\fP'.
 The optional third character is the character
 which indicates that the remainder of the line is a comment when found
@@ -7584,6 +7585,17 @@ following the history expansion character, even if it is unquoted:
 space, tab, newline, carriage return, \fB=\fP,
 and the other shell metacharacters defined above.
 .PP
+There is a special abbreviation for substitution, active when the
+\fIquick substitution\fP character (described above under
+.BR histchars )
+is the first character on the line.
+It selects the previous history entry, using an event designator
+equivalent to \fB!!\fP,
+and substitutes one string for another in that line.
+It is described below under \fBEvent Designators\fP.
+This is the only history expansion that does not begin with the history
+expansion character.
+.PP
 Several shell options settable with the
 .B shopt
 builtin may be used to tailor the behavior of history expansion.
@@ -7960,6 +7972,12 @@ initialization file such as
 .IR .inputrc ,
 but each binding or command must be passed as a separate argument;
 e.g., '"\eC\-x\eC\-r": re\-read\-init\-file'.
+In the following descriptions, output available to be re-read is formatted
+as commands that would appear in a
+.B readline
+initialization file or that would be supplied as individual arguments to a
+.B bind
+command.
 Options, if supplied, have the following meanings:
 .RS
 .PD 0
index 6612ca2debb117b99bbe7ea13f4ca4d876acf346..8ba73a9c68a09f0bd2fd6c9d25476b6b3db999f1 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 October 6<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 December 14<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -187,7 +187,9 @@ signals the end of options and disables further option processing.
 Any arguments after the
 <B>--</B>
 
-are treated as filenames and arguments.  An argument of
+are treated as a shell script filename (see below)
+and arguments passed to that script.
+An argument of
 <B>-</B>
 
 is equivalent to <B>--</B>.
@@ -330,7 +332,7 @@ nor the
 <B>-s</B>
 
 option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands.
+be the name of a file containing shell commands (a <I>shell script</I>).
 If
 <B>bash</B>
 
@@ -2889,7 +2891,7 @@ Control how the results of pathname expansion are sorted.
 The value of this variable specifies the sort criteria and sort order for
 the results of pathname expansion.
 If this variable is unset or set to the null string, pathname expansion
-uses the historial behavior of sorting by name.
+uses the historical behavior of sorting by name.
 If set, a valid value begins with an optional <I>+</I>, which is ignored,
 or <I>-</I>, which reverses the sort order from ascending to descending,
 followed by a sort specifier.
@@ -3490,7 +3492,8 @@ the character which signals the start of a history
 expansion, normally `<B>!</B>'.
 The second character is the <I>quick substitution</I>
 character, which is used as shorthand for re-running the previous
-command entered, substituting one string for another in the command.
+command entered, substituting one string for another in the command,
+when it appears as the first character on the line.
 The default is `<B>ha</B>'.
 The optional third character is the character
 which indicates that the remainder of the line is a comment when found
@@ -9576,6 +9579,19 @@ space, tab, newline, carriage return, <B>=</B>,
 and the other shell metacharacters defined above.
 <P>
 
+There is a special abbreviation for substitution, active when the
+<I>quick substitution</I> character (described above under
+<B>histchars</B>)
+
+is the first character on the line.
+It selects the previous history entry, using an event designator
+equivalent to <B>!!</B>,
+and substitutes one string for another in that line.
+It is described below under <B>Event Designators</B>.
+This is the only history expansion that does not begin with the history
+expansion character.
+<P>
+
 Several shell options settable with the
 <B>shopt</B>
 
@@ -10056,6 +10072,14 @@ initialization file such as
 
 but each binding or command must be passed as a separate argument;
 e.g., '&quot;\C-x\C-r&quot;: re-read-init-file'.
+In the following descriptions, output available to be re-read is formatted
+as commands that would appear in a
+<B>readline</B>
+
+initialization file or that would be supplied as individual arguments to a
+<B>bind</B>
+
+command.
 Options, if supplied, have the following meanings:
 <DL COMPACT><DT><DD>
 
@@ -11124,8 +11148,10 @@ from shared object
 
 on systems that support dynamic loading.
 <B>Bash</B> will use the value of the <B>BASH_LOADABLES_PATH</B> variable as a
-colon-separated list of directories in which to search for <I>filename</I>.
-The default is system-dependent.
+colon-separated list of directories in which to search for <I>filename</I>,
+if <I>filename</I> does not contain a slash.
+The default is system-dependent,
+and may include &quot;.&quot; to force a search of the current directory.
 The
 <B>-d</B>
 
@@ -13682,16 +13708,14 @@ If the string is not translated, this has no effect.
 <DT><B>nullglob</B>
 
 <DD>
-If set,
-<B>bash</B>
-
-allows patterns which match no
-files (see
+If set, pathname expansion patterns which match no files
+(see
 <B>Pathname Expansion</B>
 
 
 above)
-to expand to a null string, rather than themselves.
+expand to nothing and are removed,
+rather than expanding to themselves.
 <DT><B>patsub_replacement</B>
 
 <DD>
@@ -15161,7 +15185,7 @@ There may be only one active coprocess at a time.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2023 October 6<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2023 December 14<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -15267,7 +15291,7 @@ There may be only one active coprocess at a time.
 <DT><A HREF="#lbDI">BUGS</A><DD>
 </DL>
 <HR>
-This document was created by man2html from /usr/local/src/bash/bash-20231007/doc/bash.1.<BR>
-Time: 11 October 2023 10:25:11 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20231212/doc/bash.1.<BR>
+Time: 14 December 2023 16:39:25 EST
 </BODY>
 </HTML>
index 30026b0c6851ea59e7feca3ef60ae6aaf0f2dd8c..a87b087663cd166604ba6363f7f48c0b2cf408c8 100644 (file)
@@ -1,9 +1,9 @@
 This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 6 November 2023).
+Bash shell (version 5.3, 14 December 2023).
 
-   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 14 December 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -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, 6 November 2023).  The Bash home page is
+Bash shell (version 5.3, 14 December 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 14 December 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Bash contains features that appear in other popular shells, and some
@@ -3805,24 +3805,25 @@ standard.
 
      '-p'
           Display Readline function names and bindings in such a way
-          that they can be used as input or in a Readline initialization
-          file.
+          that they can be used as an argument to a subsequent 'bind'
+          command or in a Readline initialization file.
 
      '-P'
           List current Readline function names and bindings.
 
      '-v'
           Display Readline variable names and values in such a way that
-          they can be used as input or in a Readline initialization
-          file.
+          they can be used as an argument to a subsequent 'bind' command
+          or in a Readline initialization file.
 
      '-V'
           List current Readline variable names and values.
 
      '-s'
           Display Readline key sequences bound to macros and the strings
-          they output in such a way that they can be used as input or in
-          a Readline initialization file.
+          they output in such a way that they can be used as an argument
+          to a subsequent 'bind' command or in a Readline initialization
+          file.
 
      '-S'
           Display Readline key sequences bound to macros and the strings
@@ -3865,7 +3866,8 @@ standard.
 
      '-X'
           List all key sequences bound to shell commands and the
-          associated commands in a format that can be reused as input.
+          associated commands in a format that can be reused as an
+          argument to a subsequent 'bind' command.
 
      The return status is zero unless an invalid option is supplied or
      an error occurs.
@@ -5735,7 +5737,7 @@ Variables::).
      first character is the "history expansion" character, that is, the
      character which signifies the start of a history expansion,
      normally '!'.  The second character is the character which
-     signifies 'quick substitution' when seen as the first character on
+     signifies "quick substitution" when seen as the first character on
      a line, normally '^'.  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 '#'.
@@ -10479,6 +10481,14 @@ 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.
 
+   There is a special abbreviation for substitution, active when the
+QUICK SUBSTITUTION character (default '^') is the first character on the
+line.  It selects the previous history list entry, using an event
+designator equivalent to '!!', and substitutes one string for another in
+that line.  It is described below (*note Event Designators::).  This is
+the only history expansion that does not begin with the history
+expansion character.
+
    Several shell options settable with the 'shopt' builtin (*note The
 Shopt Builtin::) may be used to tailor the behavior of history
 expansion.  If the 'histverify' shell option is enabled, and Readline is
@@ -12138,11 +12148,11 @@ D.1 Index of Shell Builtin Commands
 * bind:                                  Bash Builtins.       (line  21)
 * break:                                 Bourne Shell Builtins.
                                                               (line  37)
-* builtin:                               Bash Builtins.       (line 117)
-* caller:                                Bash Builtins.       (line 126)
+* builtin:                               Bash Builtins.       (line 119)
+* caller:                                Bash Builtins.       (line 128)
 * cd:                                    Bourne Shell Builtins.
                                                               (line  45)
-* command:                               Bash Builtins.       (line 143)
+* command:                               Bash Builtins.       (line 145)
 * compgen:                               Programmable Completion Builtins.
                                                               (line  12)
 * complete:                              Programmable Completion Builtins.
@@ -12151,13 +12161,13 @@ D.1 Index of Shell Builtin Commands
                                                               (line 248)
 * continue:                              Bourne Shell Builtins.
                                                               (line  90)
-* declare:                               Bash Builtins.       (line 163)
+* declare:                               Bash Builtins.       (line 165)
 * dirs:                                  Directory Stack Builtins.
                                                               (line   7)
 * disown:                                Job Control Builtins.
                                                               (line 104)
-* echo:                                  Bash Builtins.       (line 266)
-* enable:                                Bash Builtins.       (line 315)
+* echo:                                  Bash Builtins.       (line 268)
+* enable:                                Bash Builtins.       (line 317)
 * eval:                                  Bourne Shell Builtins.
                                                               (line  99)
 * exec:                                  Bourne Shell Builtins.
@@ -12176,26 +12186,26 @@ D.1 Index of Shell Builtin Commands
                                                               (line 153)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 197)
-* help:                                  Bash Builtins.       (line 353)
+* help:                                  Bash Builtins.       (line 355)
 * history:                               Bash History Builtins.
                                                               (line  46)
 * jobs:                                  Job Control Builtins.
                                                               (line  27)
 * kill:                                  Job Control Builtins.
                                                               (line  58)
-* let:                                   Bash Builtins.       (line 372)
-* local:                                 Bash Builtins.       (line 380)
-* logout:                                Bash Builtins.       (line 397)
-* mapfile:                               Bash Builtins.       (line 402)
+* let:                                   Bash Builtins.       (line 374)
+* local:                                 Bash Builtins.       (line 382)
+* logout:                                Bash Builtins.       (line 399)
+* mapfile:                               Bash Builtins.       (line 404)
 * popd:                                  Directory Stack Builtins.
                                                               (line  35)
-* printf:                                Bash Builtins.       (line 448)
+* printf:                                Bash Builtins.       (line 450)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  69)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 222)
-* read:                                  Bash Builtins.       (line 516)
-* readarray:                             Bash Builtins.       (line 619)
+* read:                                  Bash Builtins.       (line 518)
+* readarray:                             Bash Builtins.       (line 621)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 232)
 * return:                                Bourne Shell Builtins.
@@ -12204,7 +12214,7 @@ D.1 Index of Shell Builtin Commands
 * shift:                                 Bourne Shell Builtins.
                                                               (line 272)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 628)
+* source:                                Bash Builtins.       (line 630)
 * suspend:                               Job Control Builtins.
                                                               (line 116)
 * test:                                  Bourne Shell Builtins.
@@ -12215,12 +12225,12 @@ D.1 Index of Shell Builtin Commands
                                                               (line 393)
 * true:                                  Bourne Shell Builtins.
                                                               (line 455)
-* type:                                  Bash Builtins.       (line 633)
-* typeset:                               Bash Builtins.       (line 671)
-* ulimit:                                Bash Builtins.       (line 677)
+* type:                                  Bash Builtins.       (line 635)
+* typeset:                               Bash Builtins.       (line 673)
+* ulimit:                                Bash Builtins.       (line 679)
 * umask:                                 Bourne Shell Builtins.
                                                               (line 460)
-* unalias:                               Bash Builtins.       (line 783)
+* unalias:                               Bash Builtins.       (line 785)
 * unset:                                 Bourne Shell Builtins.
                                                               (line 478)
 * wait:                                  Job Control Builtins.
@@ -12898,138 +12908,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f892
-Node: Introduction\7f2807
-Node: What is Bash?\7f3020
-Node: What is a shell?\7f4131
-Node: Definitions\7f6666
-Node: Basic Shell Features\7f9614
-Node: Shell Syntax\7f10830
-Node: Shell Operation\7f11853
-Node: Quoting\7f13143
-Node: Escape Character\7f14444
-Node: Single Quotes\7f14926
-Node: Double Quotes\7f15271
-Node: ANSI-C Quoting\7f16546
-Node: Locale Translation\7f17855
-Node: Creating Internationalized Scripts\7f19163
-Node: Comments\7f23277
-Node: Shell Commands\7f23892
-Node: Reserved Words\7f24827
-Node: Simple Commands\7f25580
-Node: Pipelines\7f26231
-Node: Lists\7f29214
-Node: Compound Commands\7f31006
-Node: Looping Constructs\7f32015
-Node: Conditional Constructs\7f34507
-Node: Command Grouping\7f48992
-Node: Coprocesses\7f50467
-Node: GNU Parallel\7f53127
-Node: Shell Functions\7f54041
-Node: Shell Parameters\7f61923
-Node: Positional Parameters\7f66308
-Node: Special Parameters\7f67207
-Node: Shell Expansions\7f70418
-Node: Brace Expansion\7f72503
-Node: Tilde Expansion\7f75234
-Node: Shell Parameter Expansion\7f77852
-Node: Command Substitution\7f96442
-Node: Arithmetic Expansion\7f99903
-Node: Process Substitution\7f100868
-Node: Word Splitting\7f101985
-Node: Filename Expansion\7f104030
-Node: Pattern Matching\7f106960
-Node: Quote Removal\7f111959
-Node: Redirections\7f112251
-Node: Executing Commands\7f121942
-Node: Simple Command Expansion\7f122609
-Node: Command Search and Execution\7f124716
-Node: Command Execution Environment\7f127100
-Node: Environment\7f130132
-Node: Exit Status\7f131792
-Node: Signals\7f133573
-Node: Shell Scripts\7f137019
-Node: Shell Builtin Commands\7f140043
-Node: Bourne Shell Builtins\7f142078
-Node: Bash Builtins\7f165467
-Node: Modifying Shell Behavior\7f198516
-Node: The Set Builtin\7f198858
-Node: The Shopt Builtin\7f209829
-Node: Special Builtins\7f226021
-Node: Shell Variables\7f227010
-Node: Bourne Shell Variables\7f227444
-Node: Bash Variables\7f229545
-Node: Bash Features\7f264611
-Node: Invoking Bash\7f265621
-Node: Bash Startup Files\7f271752
-Node: Interactive Shells\7f276880
-Node: What is an Interactive Shell?\7f277288
-Node: Is this Shell Interactive?\7f277934
-Node: Interactive Shell Behavior\7f278746
-Node: Bash Conditional Expressions\7f282372
-Node: Shell Arithmetic\7f287282
-Node: Aliases\7f290240
-Node: Arrays\7f293131
-Node: The Directory Stack\7f299762
-Node: Directory Stack Builtins\7f300543
-Node: Controlling the Prompt\7f304800
-Node: The Restricted Shell\7f307762
-Node: Bash POSIX Mode\7f310369
-Node: Shell Compatibility Mode\7f327011
-Node: Job Control\7f335256
-Node: Job Control Basics\7f335713
-Node: Job Control Builtins\7f340712
-Node: Job Control Variables\7f346504
-Node: Command Line Editing\7f347657
-Node: Introduction and Notation\7f349325
-Node: Readline Interaction\7f350945
-Node: Readline Bare Essentials\7f352133
-Node: Readline Movement Commands\7f353919
-Node: Readline Killing Commands\7f354876
-Node: Readline Arguments\7f356794
-Node: Searching\7f357835
-Node: Readline Init File\7f360018
-Node: Readline Init File Syntax\7f361276
-Node: Conditional Init Constructs\7f385298
-Node: Sample Init File\7f389491
-Node: Bindable Readline Commands\7f392612
-Node: Commands For Moving\7f393813
-Node: Commands For History\7f395861
-Node: Commands For Text\7f400852
-Node: Commands For Killing\7f404827
-Node: Numeric Arguments\7f407528
-Node: Commands For Completion\7f408664
-Node: Keyboard Macros\7f412852
-Node: Miscellaneous Commands\7f413537
-Node: Readline vi Mode\7f419903
-Node: Programmable Completion\7f420807
-Node: Programmable Completion Builtins\7f428584
-Node: A Programmable Completion Example\7f439701
-Node: Using History Interactively\7f444946
-Node: Bash History Facilities\7f445627
-Node: Bash History Builtins\7f448635
-Node: History Interaction\7f453723
-Node: Event Designators\7f457533
-Node: Word Designators\7f459068
-Node: Modifiers\7f460930
-Node: Installing Bash\7f462735
-Node: Basic Installation\7f463869
-Node: Compilers and Options\7f467588
-Node: Compiling For Multiple Architectures\7f468326
-Node: Installation Names\7f470015
-Node: Specifying the System Type\7f472121
-Node: Sharing Defaults\7f472835
-Node: Operation Controls\7f473505
-Node: Optional Features\7f474460
-Node: Reporting Bugs\7f485677
-Node: Major Differences From The Bourne Shell\7f487008
-Node: GNU Free Documentation License\7f503863
-Node: Indexes\7f529037
-Node: Builtin Index\7f529488
-Node: Reserved Word Index\7f536586
-Node: Variable Index\7f539031
-Node: Function Index\7f556162
-Node: Concept Index\7f570018
+Node: Top\7f894
+Node: Introduction\7f2811
+Node: What is Bash?\7f3024
+Node: What is a shell?\7f4135
+Node: Definitions\7f6670
+Node: Basic Shell Features\7f9618
+Node: Shell Syntax\7f10834
+Node: Shell Operation\7f11857
+Node: Quoting\7f13147
+Node: Escape Character\7f14448
+Node: Single Quotes\7f14930
+Node: Double Quotes\7f15275
+Node: ANSI-C Quoting\7f16550
+Node: Locale Translation\7f17859
+Node: Creating Internationalized Scripts\7f19167
+Node: Comments\7f23281
+Node: Shell Commands\7f23896
+Node: Reserved Words\7f24831
+Node: Simple Commands\7f25584
+Node: Pipelines\7f26235
+Node: Lists\7f29218
+Node: Compound Commands\7f31010
+Node: Looping Constructs\7f32019
+Node: Conditional Constructs\7f34511
+Node: Command Grouping\7f48996
+Node: Coprocesses\7f50471
+Node: GNU Parallel\7f53131
+Node: Shell Functions\7f54045
+Node: Shell Parameters\7f61927
+Node: Positional Parameters\7f66312
+Node: Special Parameters\7f67211
+Node: Shell Expansions\7f70422
+Node: Brace Expansion\7f72507
+Node: Tilde Expansion\7f75238
+Node: Shell Parameter Expansion\7f77856
+Node: Command Substitution\7f96446
+Node: Arithmetic Expansion\7f99907
+Node: Process Substitution\7f100872
+Node: Word Splitting\7f101989
+Node: Filename Expansion\7f104034
+Node: Pattern Matching\7f106964
+Node: Quote Removal\7f111963
+Node: Redirections\7f112255
+Node: Executing Commands\7f121946
+Node: Simple Command Expansion\7f122613
+Node: Command Search and Execution\7f124720
+Node: Command Execution Environment\7f127104
+Node: Environment\7f130136
+Node: Exit Status\7f131796
+Node: Signals\7f133577
+Node: Shell Scripts\7f137023
+Node: Shell Builtin Commands\7f140047
+Node: Bourne Shell Builtins\7f142082
+Node: Bash Builtins\7f165471
+Node: Modifying Shell Behavior\7f198688
+Node: The Set Builtin\7f199030
+Node: The Shopt Builtin\7f210001
+Node: Special Builtins\7f226193
+Node: Shell Variables\7f227182
+Node: Bourne Shell Variables\7f227616
+Node: Bash Variables\7f229717
+Node: Bash Features\7f264783
+Node: Invoking Bash\7f265793
+Node: Bash Startup Files\7f271924
+Node: Interactive Shells\7f277052
+Node: What is an Interactive Shell?\7f277460
+Node: Is this Shell Interactive?\7f278106
+Node: Interactive Shell Behavior\7f278918
+Node: Bash Conditional Expressions\7f282544
+Node: Shell Arithmetic\7f287454
+Node: Aliases\7f290412
+Node: Arrays\7f293303
+Node: The Directory Stack\7f299934
+Node: Directory Stack Builtins\7f300715
+Node: Controlling the Prompt\7f304972
+Node: The Restricted Shell\7f307934
+Node: Bash POSIX Mode\7f310541
+Node: Shell Compatibility Mode\7f327183
+Node: Job Control\7f335428
+Node: Job Control Basics\7f335885
+Node: Job Control Builtins\7f340884
+Node: Job Control Variables\7f346676
+Node: Command Line Editing\7f347829
+Node: Introduction and Notation\7f349497
+Node: Readline Interaction\7f351117
+Node: Readline Bare Essentials\7f352305
+Node: Readline Movement Commands\7f354091
+Node: Readline Killing Commands\7f355048
+Node: Readline Arguments\7f356966
+Node: Searching\7f358007
+Node: Readline Init File\7f360190
+Node: Readline Init File Syntax\7f361448
+Node: Conditional Init Constructs\7f385470
+Node: Sample Init File\7f389663
+Node: Bindable Readline Commands\7f392784
+Node: Commands For Moving\7f393985
+Node: Commands For History\7f396033
+Node: Commands For Text\7f401024
+Node: Commands For Killing\7f404999
+Node: Numeric Arguments\7f407700
+Node: Commands For Completion\7f408836
+Node: Keyboard Macros\7f413024
+Node: Miscellaneous Commands\7f413709
+Node: Readline vi Mode\7f420075
+Node: Programmable Completion\7f420979
+Node: Programmable Completion Builtins\7f428756
+Node: A Programmable Completion Example\7f439873
+Node: Using History Interactively\7f445118
+Node: Bash History Facilities\7f445799
+Node: Bash History Builtins\7f448807
+Node: History Interaction\7f453895
+Node: Event Designators\7f458144
+Node: Word Designators\7f459679
+Node: Modifiers\7f461541
+Node: Installing Bash\7f463346
+Node: Basic Installation\7f464480
+Node: Compilers and Options\7f468199
+Node: Compiling For Multiple Architectures\7f468937
+Node: Installation Names\7f470626
+Node: Specifying the System Type\7f472732
+Node: Sharing Defaults\7f473446
+Node: Operation Controls\7f474116
+Node: Optional Features\7f475071
+Node: Reporting Bugs\7f486288
+Node: Major Differences From The Bourne Shell\7f487619
+Node: GNU Free Documentation License\7f504474
+Node: Indexes\7f529648
+Node: Builtin Index\7f530099
+Node: Reserved Word Index\7f537197
+Node: Variable Index\7f539642
+Node: Function Index\7f556773
+Node: Concept Index\7f570629
 \1f
 End Tag Table
 
index 8cbf13107858053399c3a2e6163fbd7d6daa03a8..ec604f94bc480475f26496f7fee154cc68afbaae 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index 6bcee5b7fa1c6b22267a5c674732ec330d5244a0..6031649e38dc577b5aea071d5d0179baafa36b1e 100644 (file)
@@ -26,7 +26,7 @@
 \entry{builtin}{59}{\code {builtin}}
 \entry{caller}{59}{\code {caller}}
 \entry{command}{59}{\code {command}}
-\entry{declare}{59}{\code {declare}}
+\entry{declare}{60}{\code {declare}}
 \entry{echo}{61}{\code {echo}}
 \entry{enable}{62}{\code {enable}}
 \entry{help}{62}{\code {help}}
index 82afb1dc415445cf5d7931490e5f6990b990a03c..ebaccfb8db7b72d6c00e0941cb43d6e1effea629 100644 (file)
@@ -20,7 +20,7 @@
 \entry{\code {compopt}}{155}
 \entry{\code {continue}}{50}
 \initial {D}
-\entry{\code {declare}}{59}
+\entry{\code {declare}}{60}
 \entry{\code {dirs}}{106}
 \entry{\code {disown}}{121}
 \initial {E}
index d12dfd542648e296e50969c799d2004d7d7b2a10..7d4095459d159c97f416499a9bee4ed42311b79a 100644 (file)
@@ -4,9 +4,9 @@
 <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, 6 October 2023).
+the Bash shell (version 5.3, 14 December 2023).
 
-This is Edition 5.3, last updated 6 October 2023,
+This is Edition 5.3, last updated 14 December 2023,
 of The GNU Bash Reference Manual,
 for Bash, Version 5.3.
 
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
 <span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
 
 <p>This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 6 October 2023).
+the Bash shell (version 5.3, 14 December 2023).
 The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
 </p>
-<p>This is Edition 5.3, last updated 6 October 2023,
+<p>This is Edition 5.3, last updated 14 December 2023,
 of <cite>The GNU Bash Reference Manual</cite>,
 for <code>Bash</code>, Version 5.3.
 </p>
@@ -5055,8 +5055,10 @@ synonym); <code>emacs</code> is equivalent to <code>emacs-standard</code>.
 </p>
 </dd>
 <dt><span><code>-p</code></span></dt>
-<dd><p>Display Readline function names and bindings in such a way that they
-can be used as input or in a Readline initialization file.
+<dd><p>Display Readline function names and bindings
+in such a way that they can be used as
+an argument to a subsequent <code>bind</code> command
+or in a Readline initialization file.
 </p>
 </dd>
 <dt><span><code>-P</code></span></dt>
@@ -5064,8 +5066,10 @@ can be used as input or in a Readline initialization file.
 </p>
 </dd>
 <dt><span><code>-v</code></span></dt>
-<dd><p>Display Readline variable names and values in such a way that they
-can be used as input or in a Readline initialization file.
+<dd><p>Display Readline variable names and values
+in such a way that they can be used as
+an argument to a subsequent <code>bind</code> command
+or in a Readline initialization file.
 </p>
 </dd>
 <dt><span><code>-V</code></span></dt>
@@ -5074,8 +5078,9 @@ can be used as input or in a Readline initialization file.
 </dd>
 <dt><span><code>-s</code></span></dt>
 <dd><p>Display Readline key sequences bound to macros and the strings they output
-in such a way that they can be used as input or in a Readline
-initialization file.
+in such a way that they can be used as
+an argument to a subsequent <code>bind</code> command
+or in a Readline initialization file.
 </p>
 </dd>
 <dt><span><code>-S</code></span></dt>
@@ -5125,7 +5130,8 @@ reflected in the editing state.
 </dd>
 <dt><span><code>-X</code></span></dt>
 <dd><p>List all key sequences bound to shell commands and the associated commands
-in a format that can be reused as input.
+in a format that can be reused as
+an argument to a subsequent <code>bind</code> command.
 </p></dd>
 </dl>
 
@@ -5411,8 +5417,10 @@ each builtin with an indication of whether or not it is enabled.
 <p>The <samp>-f</samp> option means to load the new builtin command <var>name</var>
 from shared object <var>filename</var>, on systems that support dynamic loading.
 Bash will use the value of the <code>BASH_LOADABLES_PATH</code> variable as a
-colon-separated list of directories in which to search for <var>filename</var>.
-The default is system-dependent.
+colon-separated list of directories in which to search for <var>filename</var>,
+if <var>filename</var> does not contain a slash.
+The default is system-dependent,
+and may include &quot;.&quot; to force a search of the current directory.
 The <samp>-d</samp> option will delete a builtin loaded with <samp>-f</samp>.
 </p>
 <p>If there are no options, a list of the shell builtins is displayed.
@@ -6754,8 +6762,10 @@ If the string is not translated, this has no effect.
 </p>
 </dd>
 <dt><span><code>nullglob</code></span></dt>
-<dd><p>If set, Bash allows filename patterns which match no
-files to expand to a null string, rather than themselves.
+<dd><p>If set, filename expansion patterns which match no files
+(see <a href="#Filename-Expansion">Filename Expansion</a>)
+expand to nothing and are removed,
+rather than expanding to themselves.
 </p>
 </dd>
 <dt><span><code>patsub_replacement</code></span></dt>
@@ -6856,8 +6866,8 @@ The Bash <small>POSIX</small> mode is described in <a href="#Bash-POSIX-Mode">Ba
 </p>
 <p>These are the <small>POSIX</small> special builtins:
 </p><div class="example">
-<pre class="example">break : . continue eval exec exit export readonly return set<!-- /@w -->
-shift trap unset<!-- /@w -->
+<pre class="example">break : . source continue eval exec exit export readonly return set<!-- /@w -->
+shift times trap unset<!-- /@w -->
 </pre></div>
 
 <hr>
@@ -7442,7 +7452,7 @@ option.
 The value of this variable specifies the sort criteria and sort order for
 the results of filename expansion.
 If this variable is unset or set to the null string, filename expansion
-uses the historial behavior of sorting by name.
+uses the historical behavior of sorting by name.
 If set, a valid value begins with an optional &lsquo;<samp>+</samp>&rsquo;, which is ignored,
 or &lsquo;<samp>-</samp>&rsquo;, which reverses the sort order from ascending to descending,
 followed by a sort specifier.
@@ -7484,13 +7494,17 @@ subsequently reset.
 substitution, and tokenization (see <a href="#History-Interaction">History Expansion</a>).
 The first character is the
 <em>history expansion</em> character, that is, the character which signifies the
-start of a history expansion, normally &lsquo;<samp>!</samp>&rsquo;.  The second character is the
-character which signifies &lsquo;quick substitution&rsquo; when seen as the first
-character on a line, normally &lsquo;<samp>^</samp>&rsquo;.  The optional third character is the
+start of a history expansion, normally &lsquo;<samp>!</samp>&rsquo;.
+The second character is the
+character which signifies &quot;quick substitution&quot; when seen as the first
+character on a line, normally &lsquo;<samp>^</samp>&rsquo;.
+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>#</samp>&rsquo;.  The history
+found as the first character of a word, usually &lsquo;<samp>#</samp>&rsquo;.
+The history
 comment character causes history substitution to be skipped for the
-remaining words on the line.  It does not necessarily cause the shell
+remaining words on the line.
+It does not necessarily cause the shell
 parser to treat the rest of the line as a comment.
 </p>
 </dd>
@@ -8130,8 +8144,15 @@ that may be reused as input.
 <dt><span><code>--</code></span></dt>
 <dd><p>A <code>--</code> signals the end of options and disables further option
 processing.
-Any arguments after the <code>--</code> are treated as filenames and arguments.
-</p></dd>
+Any arguments after the <code>--</code>
+are treated as a shell script filename (see <a href="#Shell-Scripts">Shell Scripts</a>)
+and arguments passed to that script.
+</p>
+</dd>
+<dt><span><code>-</code></span></dt>
+<dd><p>Equivalent to <code>--</code>.
+</p>
+</dd>
 </dl>
 
 <span id="index-login-shell"></span>
@@ -9574,6 +9595,12 @@ fatal error if it attempts to unset a <code>readonly</code> or <code>non-unsetta
 variable, or encounters a variable name argument that is an invalid identifier,
 which causes a non-interactive shell to exit.
 
+</li><li> When asked to unset a variable that appears in an assignment statement
+preceding the command, the <code>unset</code> builtin attempts to unset a variable
+of the same name in the current or previous scope as well.
+This implements the required &quot;if an assigned variable is further modified
+by the utility, the modifications made by the utility shall persist&quot; behavior.
+
 </li><li> A non-interactive shell exits with an error status if a variable
 assignment error occurs when no command name follows the assignment
 statements.
@@ -12394,6 +12421,14 @@ as the editor, in that order.
 </p>
 
 
+</dd>
+<dt id='index-execute_002dnamed_002dcommand-_0028M_002dx_0029'><span><code>execute-named-command (M-x)</code><a href='#index-execute_002dnamed_002dcommand-_0028M_002dx_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dd><p>Read a bindable readline command name from the input and execute the
+function to which it&rsquo;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.
+</p>
 </dd>
 </dl>
 
@@ -13362,6 +13397,16 @@ 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. 
 </p>
+<p>There is a special abbreviation for substitution, active when the
+<var>quick substitution</var> character (default &lsquo;<samp>^</samp>&rsquo;)
+is the first character on the line.
+It selects the previous history list entry, using an event designator
+equivalent to <code>!!</code>,
+and substitutes one string for another in that line.
+It is described below (see <a href="#Event-Designators">Event Designators</a>).
+This is the only history expansion that does not begin with the history
+expansion character.
+</p>
 <p>Several shell options settable with the <code>shopt</code>
 builtin (see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>) may be used to tailor
 the behavior of history expansion.  If the
@@ -14204,7 +14249,7 @@ instance of the shell from the environment.  This option is enabled by
 default.
 </p>
 </dd>
-<dt><span><code>--enable-glob-asciirange-default</code></span></dt>
+<dt><span><code>--enable-glob-asciiranges-default</code></span></dt>
 <dd><p>Set the default value of the <code>globasciiranges</code> shell option described
 above under <a href="#The-Shopt-Builtin">The Shopt Builtin</a> to be enabled.
 This controls the behavior of character ranges when used in pattern matching
@@ -16034,6 +16079,7 @@ Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previ
 <tr><td></td><td valign="top"><a href="#index-end_002dof_002dhistory-_0028M_002d_003e_0029"><code>end-of-history (M-&gt;)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-end_002dof_002dline-_0028C_002de_0029"><code>end-of-line (C-e)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Moving">Commands For Moving</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-exchange_002dpoint_002dand_002dmark-_0028C_002dx-C_002dx_0029"><code>exchange-point-and-mark (C-x C-x)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-execute_002dnamed_002dcommand-_0028M_002dx_0029"><code>execute-named-command (M-x)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="Function-Index_fn_letter-F">F</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-fetch_002dhistory-_0028_0029"><code>fetch-history ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
index 064eab3f6e5dc2b0bc58b40766226dd1d28160ce..72949767257c9cb468bac3f3aa3f27962e1c3b06 100644 (file)
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.8 from
 bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 6 November 2023).
+Bash shell (version 5.3, 14 December 2023).
 
-   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 14 December 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 6 November 2023).  The Bash home page is
+Bash shell (version 5.3, 14 December 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 14 December 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Bash contains features that appear in other popular shells, and some
@@ -3806,24 +3806,25 @@ standard.
 
      '-p'
           Display Readline function names and bindings in such a way
-          that they can be used as input or in a Readline initialization
-          file.
+          that they can be used as an argument to a subsequent 'bind'
+          command or in a Readline initialization file.
 
      '-P'
           List current Readline function names and bindings.
 
      '-v'
           Display Readline variable names and values in such a way that
-          they can be used as input or in a Readline initialization
-          file.
+          they can be used as an argument to a subsequent 'bind' command
+          or in a Readline initialization file.
 
      '-V'
           List current Readline variable names and values.
 
      '-s'
           Display Readline key sequences bound to macros and the strings
-          they output in such a way that they can be used as input or in
-          a Readline initialization file.
+          they output in such a way that they can be used as an argument
+          to a subsequent 'bind' command or in a Readline initialization
+          file.
 
      '-S'
           Display Readline key sequences bound to macros and the strings
@@ -3866,7 +3867,8 @@ standard.
 
      '-X'
           List all key sequences bound to shell commands and the
-          associated commands in a format that can be reused as input.
+          associated commands in a format that can be reused as an
+          argument to a subsequent 'bind' command.
 
      The return status is zero unless an invalid option is supplied or
      an error occurs.
@@ -5736,7 +5738,7 @@ Variables::).
      first character is the "history expansion" character, that is, the
      character which signifies the start of a history expansion,
      normally '!'.  The second character is the character which
-     signifies 'quick substitution' when seen as the first character on
+     signifies "quick substitution" when seen as the first character on
      a line, normally '^'.  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 '#'.
@@ -10480,6 +10482,14 @@ 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.
 
+   There is a special abbreviation for substitution, active when the
+QUICK SUBSTITUTION character (default '^') is the first character on the
+line.  It selects the previous history list entry, using an event
+designator equivalent to '!!', and substitutes one string for another in
+that line.  It is described below (*note Event Designators::).  This is
+the only history expansion that does not begin with the history
+expansion character.
+
    Several shell options settable with the 'shopt' builtin (*note The
 Shopt Builtin::) may be used to tailor the behavior of history
 expansion.  If the 'histverify' shell option is enabled, and Readline is
@@ -12139,11 +12149,11 @@ D.1 Index of Shell Builtin Commands
 * bind:                                  Bash Builtins.       (line  21)
 * break:                                 Bourne Shell Builtins.
                                                               (line  37)
-* builtin:                               Bash Builtins.       (line 117)
-* caller:                                Bash Builtins.       (line 126)
+* builtin:                               Bash Builtins.       (line 119)
+* caller:                                Bash Builtins.       (line 128)
 * cd:                                    Bourne Shell Builtins.
                                                               (line  45)
-* command:                               Bash Builtins.       (line 143)
+* command:                               Bash Builtins.       (line 145)
 * compgen:                               Programmable Completion Builtins.
                                                               (line  12)
 * complete:                              Programmable Completion Builtins.
@@ -12152,13 +12162,13 @@ D.1 Index of Shell Builtin Commands
                                                               (line 248)
 * continue:                              Bourne Shell Builtins.
                                                               (line  90)
-* declare:                               Bash Builtins.       (line 163)
+* declare:                               Bash Builtins.       (line 165)
 * dirs:                                  Directory Stack Builtins.
                                                               (line   7)
 * disown:                                Job Control Builtins.
                                                               (line 104)
-* echo:                                  Bash Builtins.       (line 266)
-* enable:                                Bash Builtins.       (line 315)
+* echo:                                  Bash Builtins.       (line 268)
+* enable:                                Bash Builtins.       (line 317)
 * eval:                                  Bourne Shell Builtins.
                                                               (line  99)
 * exec:                                  Bourne Shell Builtins.
@@ -12177,26 +12187,26 @@ D.1 Index of Shell Builtin Commands
                                                               (line 153)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 197)
-* help:                                  Bash Builtins.       (line 353)
+* help:                                  Bash Builtins.       (line 355)
 * history:                               Bash History Builtins.
                                                               (line  46)
 * jobs:                                  Job Control Builtins.
                                                               (line  27)
 * kill:                                  Job Control Builtins.
                                                               (line  58)
-* let:                                   Bash Builtins.       (line 372)
-* local:                                 Bash Builtins.       (line 380)
-* logout:                                Bash Builtins.       (line 397)
-* mapfile:                               Bash Builtins.       (line 402)
+* let:                                   Bash Builtins.       (line 374)
+* local:                                 Bash Builtins.       (line 382)
+* logout:                                Bash Builtins.       (line 399)
+* mapfile:                               Bash Builtins.       (line 404)
 * popd:                                  Directory Stack Builtins.
                                                               (line  35)
-* printf:                                Bash Builtins.       (line 448)
+* printf:                                Bash Builtins.       (line 450)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  69)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 222)
-* read:                                  Bash Builtins.       (line 516)
-* readarray:                             Bash Builtins.       (line 619)
+* read:                                  Bash Builtins.       (line 518)
+* readarray:                             Bash Builtins.       (line 621)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 232)
 * return:                                Bourne Shell Builtins.
@@ -12205,7 +12215,7 @@ D.1 Index of Shell Builtin Commands
 * shift:                                 Bourne Shell Builtins.
                                                               (line 272)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 628)
+* source:                                Bash Builtins.       (line 630)
 * suspend:                               Job Control Builtins.
                                                               (line 116)
 * test:                                  Bourne Shell Builtins.
@@ -12216,12 +12226,12 @@ D.1 Index of Shell Builtin Commands
                                                               (line 393)
 * true:                                  Bourne Shell Builtins.
                                                               (line 455)
-* type:                                  Bash Builtins.       (line 633)
-* typeset:                               Bash Builtins.       (line 671)
-* ulimit:                                Bash Builtins.       (line 677)
+* type:                                  Bash Builtins.       (line 635)
+* typeset:                               Bash Builtins.       (line 673)
+* ulimit:                                Bash Builtins.       (line 679)
 * umask:                                 Bourne Shell Builtins.
                                                               (line 460)
-* unalias:                               Bash Builtins.       (line 783)
+* unalias:                               Bash Builtins.       (line 785)
 * unset:                                 Bourne Shell Builtins.
                                                               (line 478)
 * wait:                                  Job Control Builtins.
@@ -12899,138 +12909,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f895
-Node: Introduction\7f2813
-Node: What is Bash?\7f3029
-Node: What is a shell?\7f4143
-Node: Definitions\7f6681
-Node: Basic Shell Features\7f9632
-Node: Shell Syntax\7f10851
-Node: Shell Operation\7f11877
-Node: Quoting\7f13170
-Node: Escape Character\7f14474
-Node: Single Quotes\7f14959
-Node: Double Quotes\7f15307
-Node: ANSI-C Quoting\7f16585
-Node: Locale Translation\7f17897
-Node: Creating Internationalized Scripts\7f19208
-Node: Comments\7f23325
-Node: Shell Commands\7f23943
-Node: Reserved Words\7f24881
-Node: Simple Commands\7f25637
-Node: Pipelines\7f26291
-Node: Lists\7f29277
-Node: Compound Commands\7f31072
-Node: Looping Constructs\7f32084
-Node: Conditional Constructs\7f34579
-Node: Command Grouping\7f49067
-Node: Coprocesses\7f50545
-Node: GNU Parallel\7f53208
-Node: Shell Functions\7f54125
-Node: Shell Parameters\7f62010
-Node: Positional Parameters\7f66398
-Node: Special Parameters\7f67300
-Node: Shell Expansions\7f70514
-Node: Brace Expansion\7f72602
-Node: Tilde Expansion\7f75336
-Node: Shell Parameter Expansion\7f77957
-Node: Command Substitution\7f96550
-Node: Arithmetic Expansion\7f100014
-Node: Process Substitution\7f100982
-Node: Word Splitting\7f102102
-Node: Filename Expansion\7f104150
-Node: Pattern Matching\7f107083
-Node: Quote Removal\7f112085
-Node: Redirections\7f112380
-Node: Executing Commands\7f122074
-Node: Simple Command Expansion\7f122744
-Node: Command Search and Execution\7f124854
-Node: Command Execution Environment\7f127241
-Node: Environment\7f130276
-Node: Exit Status\7f131939
-Node: Signals\7f133723
-Node: Shell Scripts\7f137172
-Node: Shell Builtin Commands\7f140199
-Node: Bourne Shell Builtins\7f142237
-Node: Bash Builtins\7f165629
-Node: Modifying Shell Behavior\7f198681
-Node: The Set Builtin\7f199026
-Node: The Shopt Builtin\7f210000
-Node: Special Builtins\7f226195
-Node: Shell Variables\7f227187
-Node: Bourne Shell Variables\7f227624
-Node: Bash Variables\7f229728
-Node: Bash Features\7f264797
-Node: Invoking Bash\7f265810
-Node: Bash Startup Files\7f271944
-Node: Interactive Shells\7f277075
-Node: What is an Interactive Shell?\7f277486
-Node: Is this Shell Interactive?\7f278135
-Node: Interactive Shell Behavior\7f278950
-Node: Bash Conditional Expressions\7f282579
-Node: Shell Arithmetic\7f287492
-Node: Aliases\7f290453
-Node: Arrays\7f293347
-Node: The Directory Stack\7f299981
-Node: Directory Stack Builtins\7f300765
-Node: Controlling the Prompt\7f305025
-Node: The Restricted Shell\7f307990
-Node: Bash POSIX Mode\7f310600
-Node: Shell Compatibility Mode\7f327245
-Node: Job Control\7f335493
-Node: Job Control Basics\7f335953
-Node: Job Control Builtins\7f340955
-Node: Job Control Variables\7f346750
-Node: Command Line Editing\7f347906
-Node: Introduction and Notation\7f349577
-Node: Readline Interaction\7f351200
-Node: Readline Bare Essentials\7f352391
-Node: Readline Movement Commands\7f354180
-Node: Readline Killing Commands\7f355140
-Node: Readline Arguments\7f357061
-Node: Searching\7f358105
-Node: Readline Init File\7f360291
-Node: Readline Init File Syntax\7f361552
-Node: Conditional Init Constructs\7f385577
-Node: Sample Init File\7f389773
-Node: Bindable Readline Commands\7f392897
-Node: Commands For Moving\7f394101
-Node: Commands For History\7f396152
-Node: Commands For Text\7f401146
-Node: Commands For Killing\7f405124
-Node: Numeric Arguments\7f407828
-Node: Commands For Completion\7f408967
-Node: Keyboard Macros\7f413158
-Node: Miscellaneous Commands\7f413846
-Node: Readline vi Mode\7f420215
-Node: Programmable Completion\7f421122
-Node: Programmable Completion Builtins\7f428902
-Node: A Programmable Completion Example\7f440022
-Node: Using History Interactively\7f445270
-Node: Bash History Facilities\7f445954
-Node: Bash History Builtins\7f448965
-Node: History Interaction\7f454056
-Node: Event Designators\7f457869
-Node: Word Designators\7f459407
-Node: Modifiers\7f461272
-Node: Installing Bash\7f463080
-Node: Basic Installation\7f464217
-Node: Compilers and Options\7f467939
-Node: Compiling For Multiple Architectures\7f468680
-Node: Installation Names\7f470372
-Node: Specifying the System Type\7f472481
-Node: Sharing Defaults\7f473198
-Node: Operation Controls\7f473871
-Node: Optional Features\7f474829
-Node: Reporting Bugs\7f486049
-Node: Major Differences From The Bourne Shell\7f487383
-Node: GNU Free Documentation License\7f504241
-Node: Indexes\7f529418
-Node: Builtin Index\7f529872
-Node: Reserved Word Index\7f536973
-Node: Variable Index\7f539421
-Node: Function Index\7f556555
-Node: Concept Index\7f570414
+Node: Top\7f897
+Node: Introduction\7f2817
+Node: What is Bash?\7f3033
+Node: What is a shell?\7f4147
+Node: Definitions\7f6685
+Node: Basic Shell Features\7f9636
+Node: Shell Syntax\7f10855
+Node: Shell Operation\7f11881
+Node: Quoting\7f13174
+Node: Escape Character\7f14478
+Node: Single Quotes\7f14963
+Node: Double Quotes\7f15311
+Node: ANSI-C Quoting\7f16589
+Node: Locale Translation\7f17901
+Node: Creating Internationalized Scripts\7f19212
+Node: Comments\7f23329
+Node: Shell Commands\7f23947
+Node: Reserved Words\7f24885
+Node: Simple Commands\7f25641
+Node: Pipelines\7f26295
+Node: Lists\7f29281
+Node: Compound Commands\7f31076
+Node: Looping Constructs\7f32088
+Node: Conditional Constructs\7f34583
+Node: Command Grouping\7f49071
+Node: Coprocesses\7f50549
+Node: GNU Parallel\7f53212
+Node: Shell Functions\7f54129
+Node: Shell Parameters\7f62014
+Node: Positional Parameters\7f66402
+Node: Special Parameters\7f67304
+Node: Shell Expansions\7f70518
+Node: Brace Expansion\7f72606
+Node: Tilde Expansion\7f75340
+Node: Shell Parameter Expansion\7f77961
+Node: Command Substitution\7f96554
+Node: Arithmetic Expansion\7f100018
+Node: Process Substitution\7f100986
+Node: Word Splitting\7f102106
+Node: Filename Expansion\7f104154
+Node: Pattern Matching\7f107087
+Node: Quote Removal\7f112089
+Node: Redirections\7f112384
+Node: Executing Commands\7f122078
+Node: Simple Command Expansion\7f122748
+Node: Command Search and Execution\7f124858
+Node: Command Execution Environment\7f127245
+Node: Environment\7f130280
+Node: Exit Status\7f131943
+Node: Signals\7f133727
+Node: Shell Scripts\7f137176
+Node: Shell Builtin Commands\7f140203
+Node: Bourne Shell Builtins\7f142241
+Node: Bash Builtins\7f165633
+Node: Modifying Shell Behavior\7f198853
+Node: The Set Builtin\7f199198
+Node: The Shopt Builtin\7f210172
+Node: Special Builtins\7f226367
+Node: Shell Variables\7f227359
+Node: Bourne Shell Variables\7f227796
+Node: Bash Variables\7f229900
+Node: Bash Features\7f264969
+Node: Invoking Bash\7f265982
+Node: Bash Startup Files\7f272116
+Node: Interactive Shells\7f277247
+Node: What is an Interactive Shell?\7f277658
+Node: Is this Shell Interactive?\7f278307
+Node: Interactive Shell Behavior\7f279122
+Node: Bash Conditional Expressions\7f282751
+Node: Shell Arithmetic\7f287664
+Node: Aliases\7f290625
+Node: Arrays\7f293519
+Node: The Directory Stack\7f300153
+Node: Directory Stack Builtins\7f300937
+Node: Controlling the Prompt\7f305197
+Node: The Restricted Shell\7f308162
+Node: Bash POSIX Mode\7f310772
+Node: Shell Compatibility Mode\7f327417
+Node: Job Control\7f335665
+Node: Job Control Basics\7f336125
+Node: Job Control Builtins\7f341127
+Node: Job Control Variables\7f346922
+Node: Command Line Editing\7f348078
+Node: Introduction and Notation\7f349749
+Node: Readline Interaction\7f351372
+Node: Readline Bare Essentials\7f352563
+Node: Readline Movement Commands\7f354352
+Node: Readline Killing Commands\7f355312
+Node: Readline Arguments\7f357233
+Node: Searching\7f358277
+Node: Readline Init File\7f360463
+Node: Readline Init File Syntax\7f361724
+Node: Conditional Init Constructs\7f385749
+Node: Sample Init File\7f389945
+Node: Bindable Readline Commands\7f393069
+Node: Commands For Moving\7f394273
+Node: Commands For History\7f396324
+Node: Commands For Text\7f401318
+Node: Commands For Killing\7f405296
+Node: Numeric Arguments\7f408000
+Node: Commands For Completion\7f409139
+Node: Keyboard Macros\7f413330
+Node: Miscellaneous Commands\7f414018
+Node: Readline vi Mode\7f420387
+Node: Programmable Completion\7f421294
+Node: Programmable Completion Builtins\7f429074
+Node: A Programmable Completion Example\7f440194
+Node: Using History Interactively\7f445442
+Node: Bash History Facilities\7f446126
+Node: Bash History Builtins\7f449137
+Node: History Interaction\7f454228
+Node: Event Designators\7f458480
+Node: Word Designators\7f460018
+Node: Modifiers\7f461883
+Node: Installing Bash\7f463691
+Node: Basic Installation\7f464828
+Node: Compilers and Options\7f468550
+Node: Compiling For Multiple Architectures\7f469291
+Node: Installation Names\7f470983
+Node: Specifying the System Type\7f473092
+Node: Sharing Defaults\7f473809
+Node: Operation Controls\7f474482
+Node: Optional Features\7f475440
+Node: Reporting Bugs\7f486660
+Node: Major Differences From The Bourne Shell\7f487994
+Node: GNU Free Documentation License\7f504852
+Node: Indexes\7f530029
+Node: Builtin Index\7f530483
+Node: Reserved Word Index\7f537584
+Node: Variable Index\7f540032
+Node: Function Index\7f557166
+Node: Concept Index\7f571025
 \1f
 End Tag Table
 
index 265a18a07accd542b230ca2c7ea5e194ce577140..48f67f5523edad2ac96cdb2487aed3ea086386e7 100644 (file)
@@ -1,12 +1,12 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30)  30 NOV 2023 08:24
+This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30)  14 DEC 2023 16:39
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
  %&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20231124/doc/bashref.texi \input /usr/local/s
-rc/bash/bash-20231124/doc/bashref.texi
-(/usr/local/src/bash/bash-20231124/doc/bashref.texi
-(/usr/local/src/bash/bash-20231124/doc/texinfo.tex
+**\input /usr/local/src/bash/bash-20231212/doc/bashref.texi \input /usr/local/s
+rc/bash/bash-20231212/doc/bashref.texi
+(/usr/local/src/bash/bash-20231212/doc/bashref.texi
+(/usr/local/src/bash/bash-20231212/doc/texinfo.tex
 Loading texinfo [version 2015-11-22.14]:
 \outerhsize=\dimen16
 \outervsize=\dimen17
@@ -162,15 +162,15 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
 texinfo.tex: doing @include of version.texi
 
 
-(/usr/local/src/bash/bash-20231124/doc/version.texi) [1{/opt/local/var/db/texmf
+(/usr/local/src/bash/bash-20231212/doc/version.texi) [1{/opt/local/var/db/texmf
 /fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20231124/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20231124/doc/bashref.toc)
-(/usr/local/build/bash/bash-20231124/doc/bashref.toc) Chapter 1
+(/usr/local/build/bash/bash-20231212/doc/bashref.toc [-1] [-2] [-3]) [-4]
+(/usr/local/build/bash/bash-20231212/doc/bashref.toc)
+(/usr/local/build/bash/bash-20231212/doc/bashref.toc) Chapter 1
 \openout0 = `bashref.toc'.
 
 
-(/usr/local/build/bash/bash-20231124/doc/bashref.aux)
+(/usr/local/build/bash/bash-20231212/doc/bashref.aux)
 \openout1 = `bashref.aux'.
 
  Chapter 2 [1] [2]
@@ -230,7 +230,7 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
  [49] [50] [51]
 [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
 [67] [68]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5414--5414
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5420--5420
  []@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -243,7 +243,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5414--5414
 .etc.
 
 
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5415--5415
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5421--5421
  []@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -262,7 +262,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5415--5415
 [119] [120]
 texinfo.tex: doing @include of rluser.texi
 
- (/usr/local/src/bash/bash-20231124/lib/readline/doc/rluser.texi
+ (/usr/local/src/bash/bash-20231212/lib/readline/doc/rluser.texi
 Chapter 8 [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131]
 [132]
 Underfull \hbox (badness 7540) in paragraph at lines 878--884
@@ -312,10 +312,10 @@ gnored[]
 texinfo.tex: doing @include of hsuser.texi
 
 
-(/usr/local/src/bash/bash-20231124/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20231212/lib/readline/doc/hsuser.texi Chapter 9
 [158] [159] [160] [161] [162] [163]) Chapter 10 [164] [165] [166] [167]
 [168]
-Underfull \hbox (badness 10000) in paragraph at lines 9766--9775
+Underfull \hbox (badness 10000) in paragraph at lines 9776--9785
 []@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
 entation[]@textrm '[],
 
@@ -328,7 +328,7 @@ entation[]@textrm '[],
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 9766--9775
+Underfull \hbox (badness 10000) in paragraph at lines 9776--9785
 @textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
 extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 
@@ -344,13 +344,13 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 [178] [179] Appendix C [180]
 texinfo.tex: doing @include of fdl.texi
 
- (/usr/local/src/bash/bash-20231124/doc/fdl.texi
+ (/usr/local/src/bash/bash-20231212/doc/fdl.texi
 [181] [182] [183] [184] [185] [186] [187]) Appendix D [188] [189] [190]
 [191] [192] [193] [194] [195] [196] [197] ) 
 Here is how much of TeX's memory you used:
  4104 strings out of 497086
  47614 string characters out of 6206517
- 141907 words of memory out of 5000000
+ 141909 words of memory out of 5000000
  4869 multiletter control sequences out of 15000+600000
  34315 words of font info for 116 fonts, out of 8000000 for 9000
  51 hyphenation exceptions out of 8191
@@ -372,10 +372,10 @@ texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
 ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
 ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
 e1/public/cm-super/sfrm1440.pfb>
-Output written on bashref.pdf (203 pages, 815459 bytes).
+Output written on bashref.pdf (203 pages, 816032 bytes).
 PDF statistics:
- 2829 PDF objects out of 2984 (max. 8388607)
- 2579 compressed objects within 26 object streams
+ 2830 PDF objects out of 2984 (max. 8388607)
+ 2580 compressed objects within 26 object streams
  331 named destinations out of 1000 (max. 500000)
  1157 words of extra memory for PDF output out of 10000 (max. 10000000)
 
index 5d250f237fa73eb71c46155820d164c2104923e3..62d319404af3f3cd199fa1a86821c68346521ed6 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index 9bb039ecdd27a30b921754a392b70fdb3bd5eb79..463923f3edf12525a645ca52ea3537c6ceea56cd 100644 (file)
@@ -4531,23 +4531,28 @@ synonym); @code{emacs} is equivalent to @code{emacs-standard}.
 List the names of all Readline functions.
 
 @item -p
-Display Readline function names and bindings in such a way that they
-can be used as input or in a Readline initialization file.
+Display Readline function names and bindings
+in such a way that they can be used as
+an argument to a subsequent @code{bind} command
+or in a Readline initialization file.
 
 @item -P
 List current Readline function names and bindings.
 
 @item -v
-Display Readline variable names and values in such a way that they
-can be used as input or in a Readline initialization file.
+Display Readline variable names and values
+in such a way that they can be used as
+an argument to a subsequent @code{bind} command
+or in a Readline initialization file.
 
 @item -V
 List current Readline variable names and values.
 
 @item -s
 Display Readline key sequences bound to macros and the strings they output
-in such a way that they can be used as input or in a Readline
-initialization file.
+in such a way that they can be used as
+an argument to a subsequent @code{bind} command
+or in a Readline initialization file.
 
 @item -S
 Display Readline key sequences bound to macros and the strings they output.
@@ -4590,7 +4595,8 @@ reflected in the editing state.
 
 @item -X
 List all key sequences bound to shell commands and the associated commands
-in a format that can be reused as input.
+in a format that can be reused as
+an argument to a subsequent @code{bind} command.
 @end table
 
 @noindent
@@ -6689,13 +6695,17 @@ Up to three characters which control history expansion, quick
 substitution, and tokenization (@pxref{History Interaction}).
 The first character is the
 @dfn{history expansion} character, that is, the character which signifies the
-start of a history expansion, normally @samp{!}.  The second character is the
-character which signifies `quick substitution' when seen as the first
-character on a line, normally @samp{^}.  The optional third character is the
+start of a history expansion, normally @samp{!}.
+The second character is the
+character which signifies "quick substitution" when seen as the first
+character on a line, normally @samp{^}.
+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 history
+found as the first character of a word, usually @samp{#}.
+The history
 comment character causes history substitution to be skipped for the
-remaining words on the line.  It does not necessarily cause the shell
+remaining words on the line.
+It does not necessarily cause the shell
 parser to treat the rest of the line as a comment.
 
 @item HISTCMD
index 95c5c207b1b8cd82465141387db264e23f0011a6..cecc569e0c066446a2a958cc6147c79fe66a2610 100644 (file)
@@ -2,10 +2,10 @@
 Copyright (C) 1988-2023 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Mon Nov  6 10:19:14 EST 2023
+@set LASTCHANGE Thu Dec 14 11:05:10 EST 2023
 
 @set EDITION 5.3
 @set VERSION 5.3
 
-@set UPDATED 6 November 2023
-@set UPDATED-MONTH November 2023
+@set UPDATED 14 December 2023
+@set UPDATED-MONTH December 2023
index ae20a4cb4a2142af85173e9306559672176e5303..f13114b934b73a8dd3c6122c2348ac8a6ab2d8b9 100644 (file)
@@ -4089,6 +4089,17 @@ execute_cond_command (COND_COM *cond_command)
 }
 #endif /* COND_COMMAND */
 
+char *
+save_lastarg (void)
+{
+  char *v;
+
+  v = get_string_value ("_");
+  if (v)
+    v = savestring (v);
+  return v;
+}
+
 void
 bind_lastarg (char *arg)
 {
index 97a70509e523e9bb67f3d783ed949738262b7c05..44c60ba8adcbe1b10b9fa384cfa9f0bf9fd5ebc4 100644 (file)
@@ -124,6 +124,7 @@ extern void uw_restore_funcarray_state (void *);
 extern void uw_maybe_restore_getopt_state (void *);
 extern void uw_lastpipe_cleanup (void *);
 
+extern char *save_lastarg (void);
 extern void bind_lastarg (char *);
 
 extern void uw_dispose_fd_bitmap (void *);
index 63a40049dab57129f256d9cf05edde5f0b57156e..76e102535ecaf8c3a6cca46b653d73c5f3d769bb 100644 (file)
@@ -6,9 +6,9 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Thu Jan 19 17:20:59 EST 2023
+.\"    Last Change: Thu Dec 14 15:42:44 EST 2023
 .\"
-.TH HISTORY 3 "2023 January 19" "GNU History 8.2"
+.TH HISTORY 3 "2023 December 14" "GNU History 8.3"
 .\"
 .\" File Name macro.  This used to be `.PN', for Path Name,
 .\" but Sun doesn't seem to like that very much.
@@ -74,10 +74,21 @@ does when reading input,
 so that several words that would otherwise be separated 
 are considered one word when surrounded by quotes (see the
 description of \fBhistory_tokenize()\fP below).
+.PP
 History expansions are introduced by the appearance of the
 history expansion character, which is \^\fB!\fP\^ by default.
 Only backslash (\^\fB\e\fP\^) and single quotes can quote
 the history expansion character.
+.PP
+There is a special abbreviation for substitution, active when the
+\fIquick substitution\fP character (default \fB\(ha\fP)
+is the first character on the line.
+It selects the previous history list entry, using an event designator
+equivalent to \fB!!\fP,
+and substitutes one string for another in that line.
+It is described below under \fBEvent Designators\fP.
+This is the only history expansion that does not begin with the history
+expansion character.
 .SS Event Designators
 An event designator is a reference to a command line entry in the
 history list.
index 386d6c52a8f3a89ca29d2942d335fdb6a67c8a6a..dab64a09e02b5563c47032dbe3dbe6b14cf92f05 100644 (file)
@@ -316,6 +316,16 @@ also treated as quoted if it immediately precedes the closing double quote
 in a double-quoted string. 
 @end ifset
 
+There is a special abbreviation for substitution, active when the
+@var{quick substitution} character (default @samp{^})
+is the first character on the line.
+It selects the previous history list entry, using an event designator
+equivalent to @code{!!},
+and substitutes one string for another in that line.
+It is described below (@pxref{Event Designators}).
+This is the only history expansion that does not begin with the history
+expansion character.
+
 @ifset BashFeatures
 Several shell options settable with the @code{shopt}
 builtin (@pxref{The Shopt Builtin}) may be used to tailor
index aa585cde726e3353e9d9e8df3c3e80031e4fda77..57ff52c1fb058f0a2310fc186b72c5939e4ae69b 100644 (file)
@@ -5,7 +5,7 @@ Copyright (C) 1988-2023 Free Software Foundation, Inc.
 @set EDITION 8.3
 @set VERSION 8.3
 
-@set UPDATED 3 November 2023
-@set UPDATED-MONTH November 2023
+@set UPDATED 14 December 2023
+@set UPDATED-MONTH December 2023
 
-@set LASTCHANGE Fri Nov  3 12:04:26 EDT 2023
+@set LASTCHANGE Thu Dec 14 15:45:46 EST 2023
index 425ea7cf1d04fd1825e692f95e5502a21bc793fd..8a28cbd01e0797253f03aefd4f642a6c4bd35a13 100644 (file)
@@ -950,7 +950,7 @@ history_expand (const char *hstring, char **output)
   /* The quick substitution character is a history expansion all right.  That
      is to say, "^this^that^" is equivalent to "!!:s^this^that^", and in fact,
      that is the substitution that we do. */
-  if (hstring[0] == history_subst_char)
+  if ((history_quoting_state != '\'' || history_quotes_inhibit_expansion == 0) && hstring[0] == history_subst_char)
     {
       string = (char *)xmalloc (l + 5);
 
index 8410811aad1578b58f9409f55928d621077112dd..6f632d67330c0a1ead67b3055372d8f997abf591 100644 (file)
@@ -418,9 +418,7 @@ check_mail (void)
   int i, use_user_notification;
   char *dollar_underscore, *temp;
 
-  dollar_underscore = get_string_value ("_");
-  if (dollar_underscore)
-    dollar_underscore = savestring (dollar_underscore);
+  dollar_underscore = save_lastarg ();
 
   for (i = 0; i < mailfiles_count; i++)
     {
@@ -481,7 +479,7 @@ check_mail (void)
 
   if (dollar_underscore)
     {
-      bind_variable ("_", dollar_underscore, 0);
+      bind_lastarg (dollar_underscore);
       free (dollar_underscore);
     }
   else
diff --git a/parse.y b/parse.y
index e1e64f5c235802cfd013f946be6c16867fcd5ef5..b92eb5807b4a90a3eea64c5ec16bec467964ef22 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -2931,9 +2931,7 @@ execute_variable_command (const char *command, const char *vname)
   sh_parser_state_t ps;
 
   save_parser_state (&ps);
-  last_lastarg = get_string_value ("_");
-  if (last_lastarg)
-    last_lastarg = savestring (last_lastarg);
+  last_lastarg = save_lastarg ();
 
   parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOOPTIMIZE);
 
@@ -6126,7 +6124,7 @@ char *
 decode_prompt_string (char *string)
 {
   WORD_LIST *list;
-  char *result, *t, *orig_string;
+  char *result, *t, *orig_string, *last_lastarg;
   struct dstack save_dstack;
   int last_exit_value, last_comsub_pid, last_comsub_status;
 #if defined (PROMPT_STRING_DECODE)
@@ -6535,10 +6533,13 @@ not_escape:
       last_exit_value = last_command_exit_value;
       last_comsub_pid = last_command_subst_pid;
       last_comsub_status = last_command_subst_status;
+      last_lastarg = save_lastarg ();
       list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0);
       free (result);
       result = string_list (list);
       dispose_words (list);
+      bind_lastarg (last_lastarg);
+      free (last_lastarg);
       last_command_exit_value = last_exit_value;
       last_command_subst_pid = last_comsub_pid;
       last_command_subst_status = last_comsub_status;
index a20a2aa08340d966835369c31ccb9f309261fb05..7e25d29f8a84bd7dd894ac067ce4ae59600becfa 100644 (file)
@@ -21,7 +21,7 @@ aéb
 bytematch
 0000000 254 012
 0000002
-Passed all 1774 Unicode tests
+Passed all 1770 Unicode tests
 0000000 303 277 012
 0000003
 0000000 303 277 012
index d9127ff84bc49f6287b8d0c8384829a2ff96e54a..efd704df7f784a2f3c837b3b985205c0e8fe1681 100644 (file)
@@ -107,7 +107,8 @@ zh_TW_BIG5=(
   [0x03A8]=$'\243Z' [0x03A9]=$'\243[' [0x03B1]=$'\243\\' [0x03B2]=$'\243]'
   [0x03B3]=$'\243^' [0x03B4]=$'\243_' [0x03B5]=$'\243`'  [0x03B6]=$'\243a'
 # and some invalid ones that output \u0XX
-  [0x00fb]='\u00FB' [0x00fc]='\u00FC' [0x00fd]='\u00FD' [0x00fe]='\u00FE'
+# can't use these any more; macos 14 (sonoma) broke libiconv
+#  [0x00fb]='\u00FB' [0x00fc]='\u00FC' [0x00fd]='\u00FD' [0x00fe]='\u00FE'
 )
 TestCodePage zh_TW.BIG5 zh_TW_BIG5