]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
complete initial implementation of nofork command substitution (${ command; })
authorChet Ramey <chet.ramey@case.edu>
Mon, 15 May 2023 17:30:18 +0000 (13:30 -0400)
committerChet Ramey <chet.ramey@case.edu>
Mon, 15 May 2023 17:30:18 +0000 (13:30 -0400)
42 files changed:
CWRU/CWRU.chlog
MANIFEST
builtins/evalstring.c
doc/bash.0
doc/bash.1
doc/bash.html
doc/bash.info
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.cp
doc/bashref.cps
doc/bashref.dvi
doc/bashref.fn
doc/bashref.fns
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.texi
doc/bashref.toc
doc/bashref.vr
doc/bashref.vrs
doc/version.texi
execute_cmd.c
execute_cmd.h
externs.h
jobs.c
jobs.h
lib/sh/anonfile.c
parse.y
parser.h
sig.c
subst.c
subst.h
tests/comsub2.right [new file with mode: 0644]
tests/comsub2.tests [new file with mode: 0644]
tests/comsub21.sub [new file with mode: 0644]
tests/comsub22.sub [new file with mode: 0644]
tests/exportfunc.right
tests/exportfunc.tests
tests/run-comsub2 [new file with mode: 0644]

index c8b379bfbbf27ce8a1c938ad2075951a5fdffc87..ccc2233f6073cb2baf0fdfc169301a6b890f1a8e 100644 (file)
@@ -6302,3 +6302,32 @@ subst.c
          param_expand: call extract_function_subst as appropriate
        - function_substitute: like command_substitute, but for nofork command
          substitutions. Just a stub for now
+
+                                  5/11
+                                  ----
+jobs.[ch]
+       - pipeline_saver: already_making_children now saved and restored as
+         part of the struct; no longer need a separate variable
+       - save_pipeline,restore_pipeline: save already_making_children to struct
+
+parse.y
+       - parse_comsub,xparse_dolparen: handle `(' as the first char of a
+         funsub (ksh93 supports that)
+
+subst.c
+       - function_substitute: complete implementation; handle both funsubs
+         and valsubs (need different terminology); dummy up a fake shell
+         function so local variables and `return' work; do the right thing
+         with process groups
+       - executing_funsub: flag for the rest of the shell to know we're
+         expanding a funsub; used by parse_and_execute
+
+builtins/evalstring.c
+       - parse_and_execute: check executing_funsub to do the right thing with
+         alias expansion and posix mode
+
+                                  5/12
+                                  ----
+doc/bash.1,doc/bashref.texi
+       - function substitution (or lambda substitution, or nofork command
+         substitution): document
index c6d14945795774f804d74f311277e2faa6efbad9..f9b6cd90a82ca7f6cc9d115f90e70048ecd2c7fa 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1013,6 +1013,10 @@ tests/comsub4.sub        f
 tests/comsub5.sub      f
 tests/comsub6.sub      f
 tests/comsub7.sub      f
+tests/comsub2.tests    f
+tests/comsub2.right    f
+tests/comsub21.sub     f
+tests/comsub22.sub     f
 tests/comsub-eof.tests f
 tests/comsub-eof0.sub  f
 tests/comsub-eof1.sub  f
@@ -1411,6 +1415,7 @@ tests/run-case            f
 tests/run-casemod      f
 tests/run-complete     f
 tests/run-comsub       f
+tests/run-comsub2      f
 tests/run-comsub-eof   f
 tests/run-comsub-posix f
 tests/run-cond         f
index d5c13a51ad7f712378613ceef9a8b55acdc32177..1b00da2e01a77a41896e9f7d8375983e6cc9f392 100644 (file)
@@ -531,7 +531,7 @@ parse_and_execute (char *string, const char *from_file, int flags)
                 the global value of the flag (expaliases_flag) changes). */
              local_expalias = expand_aliases;
              local_alflag = expaliases_flag;
-             if (subshell_environment & SUBSHELL_COMSUB)
+             if ((subshell_environment & SUBSHELL_COMSUB) || executing_funsub)
                expand_aliases = expaliases_flag;
 
              /* See if this is a candidate for $( <file ). */
@@ -552,7 +552,7 @@ parse_and_execute (char *string, const char *from_file, int flags)
              discard_unwind_frame ("pe_dispose");
 
              /* If the global value didn't change, we restore what we had. */
-             if ((subshell_environment & SUBSHELL_COMSUB) && local_alflag == expaliases_flag)
+             if (((subshell_environment & SUBSHELL_COMSUB) || executing_funsub) && local_alflag == expaliases_flag)
                expand_aliases = local_expalias;
 
              if (flags & SEVAL_ONECMD)
index 9e121fcd053c2e951c0216ed890a66ef26d4f447..548d7830449fb8ee1fce1e368e21c62044ebf53a 100644 (file)
@@ -1976,11 +1976,11 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
    C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
        _\bC_\bo_\bm_\bm_\ba_\bn_\bd _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows the output of a command to replace the com-
-       mand name.  There are two forms:
+       mand itself.  There are two standard forms:
 
               $\b$(\b(_\bc_\bo_\bm_\bm_\ba_\bn_\bd)\b)
-       or
-              `\b`_\bc_\bo_\bm_\bm_\ba_\bn_\bd`\b`
+       or (deprecated)
+              `\b`_\bc_\bo_\bm_\bm_\ba_\bn_\bd`\b`.
 
        B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd in a subshell environ-
        ment and replacing the command substitution with the standard output of
@@ -1989,188 +1989,221 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        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).
 
-       When the old-style backquote form of substitution  is  used,  backslash
-       retains  its  literal  meaning except when followed by $\b$, `\b`, or \\b\.  The
-       first backquote not preceded by a backslash terminates the command sub-
-       stitution.   When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
+       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.   This
+       means  that side effects of _\bc_\bo_\bm_\bm_\ba_\bn_\bd take effect immediately in the cur-
+       rent execution environment and persist in the current environment after
+       the command completes (e.g., the e\bex\bxi\bit\bt builtin will exit the shell).
+
+       The character _\bC following the open brace must be a space, tab, newline,
+       (\b(, 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 semi-
+       colon).  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 word would usually require.
+
+       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(, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is exe-
+       cuted  in  a  subshell,  and _\bc_\bo_\bm_\bm_\ba_\bn_\bd must be terminated by a )\b). This is
+       similar to the (\b( compound command (see C\bCo\bom\bmp\bpo\bou\bun\bnd\bd  C\bCo\bom\bmm\bma\ban\bnd\bds\bs  above).   If
+       the  first  character 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  executes,  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\bEP\bPL\bLY\bY as an initially-unset  lo-
+       cal  variable when _\bc_\bo_\bm_\bm_\ba_\bn_\bd executes, and restores 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
        form, escape the inner backquotes with backslashes.
 
-       If  the  substitution  appears within double quotes, word splitting and
-       pathname expansion are not performed on the results.
+       If the substitution appears within double quotes, b\bba\bas\bsh\bh does not perform
+       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)
@@ -2185,84 +2218,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.
@@ -2272,22 +2305,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:
@@ -2295,27 +2328,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:
@@ -2323,11 +2356,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
@@ -2339,13 +2372,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:
@@ -2359,10 +2392,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 a line containing only _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br (with no trailing
-       blanks) is seen.  All of the lines read up to that point are then  used
-       as  the  standard  input (or file descriptor _\bn if _\bn is specified) for a
+       blanks)  is seen.  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
        command.
 
        The format of here-documents is:
@@ -2371,19 +2404,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
@@ -2391,9 +2424,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).
 
@@ -2403,8 +2436,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.
@@ -2413,12 +2446,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
@@ -2426,7 +2459,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.
 
@@ -2434,7 +2467,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
@@ -2442,30 +2475,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-
@@ -2474,129 +2507,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.
 
@@ -2625,55 +2658,55 @@ 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[, the <\b< and >\b> operators sort lexicographically using
+       When used with [\b[[\b[, the <\b< and >\b> operators sort  lexicographically  using
        the current locale.  The t\bte\bes\bst\bt command sorts using ASCII ordering.
 
        -\b-a\ba _\bf_\bi_\bl_\be
@@ -2712,30 +2745,30 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
        -\b-L\bL _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a symbolic link.
        -\b-N\bN _\bf_\bi_\bl_\be
-              True if _\bf_\bi_\bl_\be exists and has been  modified  since  it  was  last
+              True  if  _\bf_\bi_\bl_\be  exists  and  has been modified since it was last
               read.
        -\b-O\bO _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is owned by the effective user id.
        -\b-S\bS _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a socket.
        _\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+              True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode  num-
               bers.
        _\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
-              True if _\bf_\bi_\bl_\be_\b1 is newer (according  to  modification  date)  than
+              True  if  _\bf_\bi_\bl_\be_\b1  is  newer (according to modification date) than
               _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
        _\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
+              True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and  _\bf_\bi_\bl_\be_\b1
               does not.
        -\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
-              True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See  the  list  of
-              options  under  the  description  of  the  -\b-o\bo  option to the s\bse\bet\bt
+              True  if  the  shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See the list of
+              options under the description  of  the  -\b-o\bo  option  to  the  s\bse\bet\bt
               builtin below.
        -\b-v\bv _\bv_\ba_\br_\bn_\ba_\bm_\be
-              True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been  assigned  a
+              True  if  the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
               value).
        -\b-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.
@@ -2745,8 +2778,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).
 
@@ -2760,113 +2793,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
@@ -2874,282 +2907,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 `.'
@@ -3158,7 +3191,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
@@ -3167,8 +3200,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
@@ -3176,70 +3209,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
@@ -3247,18 +3280,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.
@@ -3270,15 +3303,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
@@ -3286,7 +3319,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
@@ -3297,7 +3330,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
@@ -3307,20 +3340,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
@@ -3331,106 +3364,106 @@ 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, readline attempts to bind the  control  characters
+              If  set  to O\bOn\bn, readline attempts to bind the control characters
               treated specially by the kernel's terminal driver to their read-
               line equivalents.
        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\bS 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\b 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\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
+              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
               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_\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
+              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
               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)
@@ -3438,29 +3471,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)
@@ -3468,195 +3501,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\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
+              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
               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_\bs is
-              equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is  _\be_\bm_\ba_\bc_\bs;  the
+              Set the current readline keymap.  The set of valid keymap  names
+              is  _\be_\bm_\ba_\bc_\bs_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+              _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd;  _\be_\bm_\ba_\bc_\b is
+              equivalent  to  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is _\be_\bm_\ba_\bc_\bs; the
               value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
        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
+       $\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
+               extends to the end of the  line;  unless  otherwise  noted,  no
               characters are required to isolate it.
 
-              m\bmo\bod\bde\be   The m\bmo\bod\bde\be=\b= form of the  $\b$i\bif\bf  directive  is  used  to  test
-                     whether  readline  is  in  emacs or vi mode.  This may be
-                     used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for  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
@@ -3666,12 +3699,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
@@ -3681,51 +3714,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
@@ -3741,33 +3774,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.
@@ -3775,158 +3808,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
@@ -3935,31 +3968,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.
@@ -3968,64 +4001,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)
@@ -4034,67 +4067,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)
@@ -4102,204 +4135,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()
@@ -4310,167 +4343,167 @@ 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  if the history file is un-
-       writable, 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 his-
+       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  if  the  history  file  is  un-
+       writable,  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  his-
        tory comment character, so they may be preserved across shell sessions.
-       This  uses the history comment character to distinguish timestamps 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\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
-       is unset, or set to null, a non-numeric value, or a numeric value  less
+       This uses the history comment character to distinguish timestamps  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\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
+       is  unset, or set to null, a non-numeric value, or a numeric value less
        than zero, the history file is not 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
+       The  shell  allows control over which commands are saved on the history
        list.  The H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables may be set to cause the
        shell to save only a subset of the commands entered.  The c\bcm\bmd\bdh\bhi\bis\bst\bt shell
-       option,  if enabled, causes the shell to attempt to save each line of a
-       multi-line command in the same history entry, adding  semicolons  where
-       necessary  to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell option
-       causes the shell to save the command with embedded newlines instead  of
+       option, if enabled, causes the shell to attempt to save each line of  a
+       multi-line  command  in the same history entry, adding semicolons where
+       necessary to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell  option
+       causes  the shell to save the command with embedded newlines instead of
        semicolons.  See the description of the s\bsh\bho\bop\bpt\bt builtin below under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\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
-       that line that are acted upon are _\bw_\bo_\br_\bd_\bs.  Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are  avail-
-       able  to  manipulate the selected words.  The 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-
+       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.  Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
+       able to manipulate the selected words.  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.  His-
-       tory expansions are introduced by the appearance of the history  expan-
-       sion  character,  which is !\b! by default.  Only backslash (\\b\) and single
-       quotes can quote the history expansion character, but the  history  ex-
-       pansion  character is also treated as quoted if it immediately precedes
+       tory  expansions are introduced by the appearance of the history expan-
+       sion character, which is !\b! by default.  Only backslash (\\b\)  and  single
+       quotes  can  quote the history expansion character, but the history ex-
+       pansion 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, and =\b=.  If the e\bex\bxt\btg\bgl\blo\bob\bb shell  option  is
+       Several  characters inhibit history expansion if found immediately fol-
+       lowing the history expansion character, even if it is unquoted:  space,
+       tab,  newline,  carriage return, and =\b=.  If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is
        enabled, (\b( will also inhibit expansion.
 
-       Several  shell  options  settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
-       tailor the behavior of history expansion.  If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell  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\bis being  used,  history  substitutions  are  not  immediately
-       passed  to  the  shell  parser.  Instead, the expanded line is reloaded
+       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\b 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.   Unless  the reference is absolute, events are relative to
+       An  event designator is a reference to a command line entry in the his-
+       tory list.  Unless the reference is absolute, events  are  relative  to
        the current position in the history list.
 
-       !\b!      Start a history substitution, except when followed by  a  b\bbl\bla\ban\bnk\bk,
-              newline,  carriage return, = or ( (when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
+       !\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_\bis 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_\b is  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_\bwith _\bs_\bt_\br_\bi_\bn_\bg_\b2.  Equivalent  to  ``!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^''
+              Quick substitution.   Repeat  the  previous  command,  replacing
+              _\bs_\bt_\br_\bi_\bn_\bg_\b with  _\bs_\bt_\br_\bi_\bn_\bg_\b2.  Equivalent to ``!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^''
               (see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
        !\b!#\b#     The entire command line typed so far.
 
    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.
 
@@ -4480,24 +4513,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\band 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\b and 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.
@@ -4506,56 +4539,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\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
+              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
               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_\b whose
-              _\bv_\ba_\bl_\bu_\b is 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_\be whose
+              _\bv_\ba_\bl_\bu_\bis given.  A trailing space in _\bv_\ba_\bl_\bu_\be causes the next  word
               to be checked for alias substitution when the alias is expanded.
-              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
+              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
               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]
@@ -4565,30 +4598,30 @@ 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,
+              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:
               -\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
                      Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
                      bindings.  Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
-                     _\bd_\ba_\br_\bd_\b _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
-                     and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to  _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\b (_\bv_\bi_\b-_\bm_\bo_\bv_\be
-                     is  also  a  synonym); _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
+                     _\bd_\ba_\br_\bd_\b_\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b,  _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+                     and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.   _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (_\bv_\bi_\b-_\bm_\bo_\bv_\be
+                     is also a synonym); _\be_\bm_\ba_\bc_\bs is  equivalent  to  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
                      _\bd_\ba_\br_\bd.
               -\b-l\bl     List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
-              -\b-p\bp     Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings  in  such  a
+              -\b-p\bp     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  function  names and bindings in such a
                      way that they can be re-read.
               -\b-P\bP     List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
-              -\b-s\bs     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
-                     strings they output in such a way that they  can  be  re-
+              -\b-s\bs     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
+                     strings  they  output  in such a way that they can be re-
                      read.
-              -\b-S\bS     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
+              -\b-S\bS     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
                      strings they output.
-              -\b-v\bv     Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a  way
+              -\b-v\bv     Display  r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
                      that they can be re-read.
               -\b-V\bV     List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
               -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
@@ -4601,190 +4634,190 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
               -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:\b:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
                      Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed whenever _\bk_\be_\by_\bs_\be_\bq is en-
-                     tered.  When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed,  the  shell  sets
-                     the  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  variable to the contents of the r\bre\bea\bad\bd-\b-
+                     tered.   When  _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd  is executed, the shell sets
+                     the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of  the  r\bre\bea\bad\bd-\b-
                      l\bli\bin\bne\be line buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT and R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK
-                     variables  to the current location of the insertion point
-                     and the saved insertion point (the  mark),  respectively.
-                     The  shell assigns any numeric argument the user supplied
+                     variables to the current location of the insertion  point
+                     and  the  saved insertion point (the mark), respectively.
+                     The shell assigns any numeric argument the user  supplied
                      to the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT variable.  If there was no argu-
-                     ment,  that variable is not set.  If the executed command
-                     changes  the  value  of  any  of   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE,   R\bRE\bEA\bAD\bD-\b-
-                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT,  or  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK,  those new values will be
+                     ment, that variable is not set.  If the executed  command
+                     changes   the   value  of  any  of  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE,  R\bRE\bEA\bAD\bD-\b-
+                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, or R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK, those new  values  will  be
                      reflected in the editing state.
-              -\b-X\bX     List all key sequences bound to shell  commands  and  the
+              -\b-X\bX     List  all  key  sequences bound to shell commands and the
                      associated commands in a format that can be reused as in-
                      put.
 
-              The return value is 0 unless an unrecognized option is given  or
+              The  return value is 0 unless an unrecognized option is given or
               an error occurred.
 
        b\bbr\bre\bea\bak\bk [_\bn]
-              Exit  from  within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If _\bn is
-              specified, break _\bn levels.  _\bn must be >= 1.   If  _\bn  is  greater
-              than  the number of enclosing loops, all enclosing loops are ex-
-              ited.  The return value is 0 unless _\bn is  not  greater  than  or
+              Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If  _\b is
+              specified,  break  _\bn  levels.   _\bn must be >= 1.  If _\bn is greater
+              than the number of enclosing loops, all enclosing loops are  ex-
+              ited.   The  return  value  is 0 unless _\bn is not greater than or
               equal to 1.
 
        b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Execute  the  specified shell builtin, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
+              Execute the specified shell builtin, passing it  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs,  and
               return its exit status.  This is useful when defining a function
-              whose  name  is the same as a shell builtin, retaining the func-
+              whose name is the same as a shell builtin, retaining  the  func-
               tionality of the builtin within the function.  The c\bcd\bd builtin is
-              commonly  redefined  this  way.   The  return status is false if
+              commonly redefined this way.  The  return  status  is  false  if
               _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
 
        c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
               Returns the context of any active subroutine call (a shell func-
               tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins).  With-
               out _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source filename of
-              the  current subroutine call.  If a non-negative integer is sup-
+              the current subroutine call.  If a non-negative integer is  sup-
               plied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine name,
-              and  source  file  corresponding to that position in the current
-              execution call stack.  This extra information may be  used,  for
-              example,  to print a stack trace.  The current frame is frame 0.
-              The return value is 0 unless the shell is not executing  a  sub-
-              routine  call or _\be_\bx_\bp_\br does not correspond to a valid position in
+              and source file corresponding to that position  in  the  current
+              execution  call  stack.  This extra information may be used, for
+              example, to print a stack trace.  The current frame is frame  0.
+              The  return  value is 0 unless the shell is not executing a sub-
+              routine call or _\be_\bx_\bp_\br does not correspond to a valid position  in
               the call stack.
 
        c\bcd\bd [-\b-L\bL|[-\b-P\bP [-\b-e\be]]] [-@] [_\bd_\bi_\br]
-              Change the current directory to _\bd_\bi_\br.  if _\bd_\bi_\br  is  not  supplied,
-              the  value of the H\bHO\bOM\bME\bE shell variable is the default.  The vari-
+              Change  the  current  directory to _\bd_\bi_\br.  if _\bd_\bi_\br is not supplied,
+              the value of the H\bHO\bOM\bME\bE shell variable is the default.  The  vari-
               able C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for the directory containing
-              _\bd_\bi_\br:  each directory name in C\bCD\bDP\bPA\bAT\bTH\bH is searched for _\bd_\bi_\br.  Alter-
-              native directory names in C\bCD\bDP\bPA\bAT\bTH\bH are separated by a  colon  (:).
-              A  null  directory name in C\bCD\bDP\bPA\bAT\bTH\bH is the same as the current di-
-              rectory, i.e., ``.\b.''.  If _\bd_\bi_\br begins with a slash (/), then  C\bCD\bD-\b-
-              P\bPA\bAT\bTH\b is  not used.  The -\b-P\bP option causes c\bcd\bd to use the physical
+              _\bd_\bi_\br: each directory name in C\bCD\bDP\bPA\bAT\bTH\bH is searched for _\bd_\bi_\br.   Alter-
+              native  directory  names in C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon (:).
+              A null directory name in C\bCD\bDP\bPA\bAT\bTH\bH is the same as the  current  di-
+              rectory,  i.e., ``.\b.''.  If _\bd_\bi_\br begins with a slash (/), then C\bCD\bD-\b-
+              P\bPA\bAT\bTH\bis not used.  The -\b-P\bP option causes c\bcd\bd to use  the  physical
               directory structure by resolving symbolic links while traversing
-              _\bd_\bi_\b and  before processing instances of _\b._\b. in _\bd_\bi_\br (see also the
+              _\bd_\bi_\band before processing instances of _\b._\b. in _\bd_\bi_\br (see  also  the
               -\b-P\bP option to the s\bse\bet\bt builtin command); the -\b-L\bL option forces sym-
-              bolic  links to be followed by resolving the link after process-
-              ing instances of _\b._\b. in _\bd_\bi_\br.  If _\b._\b. appears in _\bd_\bi_\br,  it  is  pro-
-              cessed  by  removing the immediately previous pathname component
-              from _\bd_\bi_\br, back to a slash or the beginning of _\bd_\bi_\br.   If  the  -\b-e\be
-              option  is  supplied  with -\b-P\bP, and the current working directory
-              cannot be successfully determined after a  successful  directory
-              change,  c\bcd\bd will return an unsuccessful status.  On systems that
+              bolic links to be followed by resolving the link after  process-
+              ing  instances  of  _\b._\b. in _\bd_\bi_\br.  If _\b._\b. appears in _\bd_\bi_\br, it is pro-
+              cessed by removing the immediately previous  pathname  component
+              from  _\bd_\bi_\br,  back  to a slash or the beginning of _\bd_\bi_\br.  If the -\b-e\be
+              option is supplied with -\b-P\bP, and the  current  working  directory
+              cannot  be  successfully determined after a successful directory
+              change, c\bcd\bd will return an unsuccessful status.  On systems  that
               support it, the -\b-@\b@ option presents the extended attributes asso-
-              ciated  with  a  file  as a directory.  An argument of -\b- is con-
-              verted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before the directory change is attempted.   If
-              a  non-empty  directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the
-              first argument, and the directory change is successful, the  ab-
-              solute  pathname  of the new working directory is written to the
+              ciated with a file as a directory.  An argument  of  -\b-  is  con-
+              verted  to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before the directory change is attempted.  If
+              a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b-  is  the
+              first  argument, and the directory change is successful, the ab-
+              solute pathname of the new working directory is written  to  the
               standard output.  If the directory change is successful, c\bcd\bd sets
-              the  value  of the P\bPW\bWD\bD environment variable to the new directory
-              name, and sets the O\bOL\bLD\bDP\bPW\bWD\bD environment variable to the  value  of
-              the  current  working  directory  before the change.  The return
-              value is true if the directory was successfully  changed;  false
+              the value of the P\bPW\bWD\bD environment variable to the  new  directory
+              name,  and  sets the O\bOL\bLD\bDP\bPW\bWD\bD environment variable to the value of
+              the current working directory before  the  change.   The  return
+              value  is  true if the directory was successfully changed; false
               otherwise.
 
        c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
-              Run  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  with  _\ba_\br_\bg_\bs  suppressing  the normal shell function
+              Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs  suppressing  the  normal  shell  function
               lookup.  Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
-              executed.   If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
-              performed using a default value for P\bPA\bAT\bTH\bH that is  guaranteed  to
-              find  all of the standard utilities.  If either the -\b-V\bV or -\b-v\bv op-
-              tion is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.   The  -\b-v\bv
-              option  causes  a single word indicating the command or filename
+              executed.  If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\b is
+              performed  using  a default value for P\bPA\bAT\bTH\bH that is guaranteed to
+              find all of the standard utilities.  If either the -\b-V\bV or -\b-v\b op-
+              tion  is  supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.  The -\b-v\bv
+              option causes a single word indicating the command  or  filename
               used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
-              more  verbose  description.  If the -\b-V\bV or -\b-v\bv option is supplied,
-              the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and  1  if  not.   If
+              more verbose description.  If the -\b-V\bV or -\b-v\bv option  is  supplied,
+              the  exit  status  is  0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not.  If
               neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not be found, the exit status is 127.  Otherwise, the exit  sta-
+              not  be found, the exit status is 127.  Otherwise, the exit sta-
               tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
 
        c\bco\bom\bmp\bpg\bge\ben\bn [-\b-V\bV _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
-              Generate  possible  completion matches for _\bw_\bo_\br_\bd according to the
-              _\bo_\bp_\bt_\bi_\bo_\bns, which may  be  any  option  accepted  by  the  c\bco\bom\bmp\bpl\ble\bet\bte\be
+              Generate possible completion matches for _\bw_\bo_\br_\bd according  to  the
+              _\bo_\bp_\bt_\bi_\bo_\bns,  which  may  be  any  option  accepted  by the c\bco\bom\bmp\bpl\ble\bet\bte\be
               builtin with the exceptions of -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, and -\b-I\bI, and write
-              the matches to the standard output.  If the -\b-V\bV  option  is  sup-
+              the  matches  to  the standard output.  If the -\b-V\bV option is sup-
               plied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated completions into the indexed
-              array variable _\bv_\ba_\br_\bn_\ba_\bm_\be instead of writing them to  the  standard
-              output.   When  using  the  -\b-F\bF  or -\b-C\bC options, the various shell
-              variables set by the programmable completion  facilities,  while
+              array  variable  _\bv_\ba_\br_\bn_\ba_\bm_\be instead of writing them to the standard
+              output.  When using the -\b-F\bF or  -\b-C\bC  options,  the  various  shell
+              variables  set  by the programmable completion facilities, while
               available, will not have useful values.
 
               The matches will be generated in the same way as if the program-
               mable completion code had generated them directly from a comple-
-              tion  specification  with the same flags.  If _\bw_\bo_\br_\bd is specified,
+              tion specification with the same flags.  If _\bw_\bo_\br_\bd  is  specified,
               only those completions matching _\bw_\bo_\br_\bd will be displayed.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               or no matches were generated.
 
        c\bco\bom\bmp\bpl\ble\bet\bte\be [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]
               [-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt] [-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-D\bDE\bEI\bI] [_\bn_\ba_\bm_\be ...]
-              Specify  how arguments to each _\bn_\ba_\bm_\be should be completed.  If the
-              -\b-p\boption is supplied, or if no options are  supplied,  existing
-              completion  specifications are printed in a way that allows them
+              Specify how arguments to each _\bn_\ba_\bm_\be should be completed.  If  the
+              -\b-p\b option  is supplied, or if no options are supplied, existing
+              completion specifications are printed in a way that allows  them
               to be reused as input.  The -\b-r\br option removes a completion spec-
-              ification  for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
+              ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all  com-
               pletion specifications.  The -\b-D\bD option indicates that other sup-
-              plied  options  and actions should apply to the ``default'' com-
-              mand completion; that is, completion attempted on a command  for
-              which  no completion has previously been defined.  The -\b-E\bE option
-              indicates that other supplied options and actions  should  apply
-              to  ``empty''  command completion; that is, completion attempted
-              on a blank line.  The -\b-I\bI option indicates  that  other  supplied
-              options  and  actions  should apply to completion on the initial
-              non-assignment word on the line, or after  a  command  delimiter
-              such  as  ;\b;  or |\b|, which is usually command name completion.  If
-              multiple options are supplied, the -\b-D\bD  option  takes  precedence
+              plied options and actions should apply to the  ``default''  com-
+              mand  completion; that is, completion attempted on a command for
+              which no completion has previously been defined.  The -\b-E\b option
+              indicates  that  other supplied options and actions should apply
+              to ``empty'' command completion; that is,  completion  attempted
+              on  a  blank  line.  The -\b-I\bI option indicates that other supplied
+              options and actions should apply to completion  on  the  initial
+              non-assignment  word  on  the line, or after a command delimiter
+              such as ;\b; or |\b|, which is usually command  name  completion.   If
+              multiple  options  are  supplied, the -\b-D\bD option takes precedence
               over -\b-E\bE, and both take precedence over -\b-I\bI.  If any of -\b-D\bD, -\b-E\bE, or
-              -\b-I\bare supplied, any other _\bn_\ba_\bm_\be  arguments  are  ignored;  these
+              -\b-I\b are  supplied,  any  other _\bn_\ba_\bm_\be arguments are ignored; these
               completions only apply to the case specified by the option.
 
-              The  process  of  applying  these completion specifications when
-              word completion is attempted is described above  under  P\bPr\bro\bog\bgr\bra\bam\bm-\b-
+              The process of applying  these  completion  specifications  when
+              word  completion  is attempted is described above under P\bPr\bro\bog\bgr\bra\bam\bm-\b-
               m\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other  options,  if specified, have the following meanings.  The
-              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
-              -\b-P\b and -\b-S\bS options) should be quoted to protect them from expan-
+              Other options, if specified, have the following  meanings.   The
+              arguments  to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
+              -\b-P\band -\b-S\bS options) should be quoted to protect them from  expan-
               sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
               -\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
-                      The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects  of  the  comp-
-                      spec's  behavior beyond the simple generation of comple-
+                      The  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn  controls  several aspects of the comp-
+                      spec's behavior beyond the simple generation of  comple-
                       tions.  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
                       b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
                               Perform the rest of the default b\bba\bas\bsh\bh completions
                               if the compspec generates no matches.
-                      d\bde\bef\bfa\bau\bul\blt\bt Use  readline's  default  filename completion if
+                      d\bde\bef\bfa\bau\bul\blt\bt Use readline's default  filename  completion  if
                               the compspec generates no matches.
                       d\bdi\bir\brn\bna\bam\bme\bes\bs
-                              Perform directory name completion if  the  comp-
+                              Perform  directory  name completion if the comp-
                               spec generates no matches.
                       f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
-                              Tell  readline that the compspec generates file-
-                              names, so it can perform  any  filename-specific
-                              processing  (like  adding  a  slash to directory
-                              names, quoting special characters, or  suppress-
-                              ing  trailing spaces).  Intended to be used with
+                              Tell readline that the compspec generates  file-
+                              names,  so  it can perform any filename-specific
+                              processing (like adding  a  slash  to  directory
+                              names,  quoting special characters, or suppress-
+                              ing trailing spaces).  Intended to be used  with
                               shell functions.
-                      n\bno\boq\bqu\buo\bot\bte\be Tell readline not to quote the  completed  words
-                              if  they are filenames (quoting filenames is the
+                      n\bno\boq\bqu\buo\bot\bte\be Tell  readline  not to quote the completed words
+                              if they are filenames (quoting filenames is  the
                               default).
-                      n\bno\bos\bso\bor\brt\bt  Tell readline not to sort the list  of  possible
+                      n\bno\bos\bso\bor\brt\bt  Tell  readline  not to sort the list of possible
                               completions alphabetically.
-                      n\bno\bos\bsp\bpa\bac\bce\be Tell  readline  not  to  append a space (the de-
-                              fault) to words completed  at  the  end  of  the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell readline not to append  a  space  (the  de-
+                              fault)  to  words  completed  at  the end of the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After  any  matches  defined by the compspec are
+                              After any matches defined by  the  compspec  are
                               generated,  directory  name  completion  is  at-
                               tempted and any matches are added to the results
                               of the other actions.
               -\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
-                      The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the  following  to  generate  a
+                      The  _\ba_\bc_\bt_\bi_\bo_\bn  may  be  one of the following to generate a
                       list of possible completions:
                       a\bal\bli\bia\bas\bs   Alias names.  May also be specified as -\b-a\ba.
                       a\bar\brr\bra\bay\byv\bva\bar\br
                               Array variable names.
                       b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
-                      b\bbu\bui\bil\blt\bti\bin\bn Names  of  shell  builtin commands.  May also be
+                      b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands.   May  also  be
                               specified as -\b-b\bb.
                       c\bco\bom\bmm\bma\ban\bnd\bd Command names.  May also be specified as -\b-c\bc.
                       d\bdi\bir\bre\bec\bct\bto\bor\bry\by
@@ -4792,7 +4825,7 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       d\bdi\bis\bsa\bab\bbl\ble\bed\bd
                               Names of disabled shell builtins.
                       e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
-                      e\bex\bxp\bpo\bor\brt\bt  Names of exported shell variables.  May also  be
+                      e\bex\bxp\bpo\bor\brt\bt  Names  of exported shell variables.  May also be
                               specified as -\b-e\be.
                       f\bfi\bil\ble\be    File names.  May also be specified as -\b-f\bf.
                       f\bfu\bun\bnc\bct\bti\bio\bon\bn
@@ -4801,17 +4834,17 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
                               Help topics as accepted by the h\bhe\bel\blp\bp builtin.
                       h\bho\bos\bst\btn\bna\bam\bme\be
-                              Hostnames,  as  taken from the file specified by
+                              Hostnames, as taken from the file  specified  by
                               the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
-                      j\bjo\bob\bb     Job names, if job control is active.   May  also
+                      j\bjo\bob\bb     Job  names,  if job control is active.  May also
                               be specified as -\b-j\bj.
-                      k\bke\bey\byw\bwo\bor\brd\bd Shell  reserved words.  May also be specified as
+                      k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words.  May also be specified  as
                               -\b-k\bk.
                       r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
                       s\bse\ber\brv\bvi\bic\bce\be Service names.  May also be specified as -\b-s\bs.
-                      s\bse\bet\bto\bop\bpt\bt  Valid arguments for the -\b-o\bo  option  to  the  s\bse\bet\bt
+                      s\bse\bet\bto\bop\bpt\bt  Valid  arguments  for  the  -\b-o\bo option to the s\bse\bet\bt
                               builtin.
-                      s\bsh\bho\bop\bpt\bt   Shell  option  names  as  accepted  by the s\bsh\bho\bop\bpt\bt
+                      s\bsh\bho\bop\bpt\bt   Shell option names  as  accepted  by  the  s\bsh\bho\bop\bpt\bt
                               builtin.
                       s\bsi\big\bgn\bna\bal\bl  Signal names.
                       s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
@@ -4820,198 +4853,198 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Names of all shell variables.  May also be spec-
                               ified as -\b-v\bv.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
-                      output is used as the possible  completions.   Arguments
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\bis executed in a subshell environment,  and  its
+                      output  is  used as the possible completions.  Arguments
                       are passed as with the -\b-F\bF option.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
-                      shell environment.  When the function is  executed,  the
+                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
+                      shell  environment.   When the function is executed, the
                       first argument ($\b$1\b1) is the name of the command whose ar-
                       guments are being completed, the second argument ($\b$2\b2) is
                       the word being completed, and the third argument ($\b$3\b3) is
-                      the word preceding the word being completed on the  cur-
-                      rent  command line.  When it finishes, the possible com-
-                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      the  word preceding the word being completed on the cur-
+                      rent command line.  When it finishes, the possible  com-
+                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The  pathname  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
+                      The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
                       generate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
+                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
-                      special  variable as delimiters, and each resultant word
-                      is expanded.  Shell quoting is honored within  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt,
+                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
+                      special variable as delimiters, and each resultant  word
+                      is  expanded.  Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt,
                       in order to provide a mechanism for the words to contain
-                      shell metacharacters or characters in the value of  I\bIF\bFS\bS.
-                      The  possible  completions are the members of the resul-
+                      shell  metacharacters or characters in the value of I\bIF\bFS\bS.
+                      The possible completions are the members of  the  resul-
                       tant list which match the word being completed.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
                       It is applied to the list of possible completions gener-
-                      ated by the preceding options and  arguments,  and  each
-                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
-                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
+                      ated  by  the  preceding options and arguments, and each
+                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
+                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
                       case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
 
-              The  return  value is true unless an invalid option is supplied,
+              The return value is true unless an invalid option  is  supplied,
               an option other than -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, or -\b-I\bI is supplied without a
-              _\bn_\ba_\bm_\b argument, an attempt is made to remove a completion speci-
+              _\bn_\ba_\bm_\bargument, an attempt is made to remove a completion  speci-
               fication for a _\bn_\ba_\bm_\be for which no specification exists, or an er-
               ror occurs adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
-              Modify  completion  options  for  each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
+              Modify completion options for each _\bn_\ba_\bm_\be  according  to  the  _\bo_\bp_\b-
               _\bt_\bi_\bo_\bns, or for the currently-executing completion if no _\bn_\ba_\bm_\bes are
-              supplied.   If  no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion op-
-              tions for each _\bn_\ba_\bm_\be or the  current  completion.   The  possible
-              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
-              scribed above.  The -\b-D\bD option indicates that other supplied  op-
-              tions  should  apply to the ``default'' command completion; that
-              is, completion attempted on a command for  which  no  completion
+              supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the  completion  op-
+              tions  for  each  _\bn_\ba_\bm_\be  or the current completion.  The possible
+              values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the  c\bco\bom\bmp\bpl\ble\bet\bte\be  builtin  de-
+              scribed  above.  The -\b-D\bD option indicates that other supplied op-
+              tions should apply to the ``default'' command  completion;  that
+              is,  completion  attempted  on a command for which no completion
               has previously been defined.  The -\b-E\bE option indicates that other
-              supplied options should apply to ``empty''  command  completion;
-              that  is,  completion  attempted on a blank line.  The -\b-I\bI option
+              supplied  options  should apply to ``empty'' command completion;
+              that is, completion attempted on a blank line.   The  -\b-I\b option
               indicates that other supplied options should apply to completion
-              on  the initial non-assignment word on the line, or after a com-
-              mand delimiter such as ;\b; or |\b|, which  is  usually  command  name
+              on the initial non-assignment word on the line, or after a  com-
+              mand  delimiter  such  as  ;\b; or |\b|, which is usually command name
               completion.
 
-              The  return  value is true unless an invalid option is supplied,
+              The return value is true unless an invalid option  is  supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
-              loop.   _\bn  must be >= 1.  If _\bn is greater than the number of en-
-              closing loops, the last enclosing loop (the ``top-level''  loop)
-              is  resumed.  The return value is 0 unless _\bn is not greater than
+              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
+              loop.  _\bn must be >= 1.  If _\bn is greater than the number  of  en-
+              closing  loops, the last enclosing loop (the ``top-level'' loop)
+              is resumed.  The return value is 0 unless _\bn is not greater  than
               or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
-              given  then display the values of variables.  The -\b-p\bp option will
+              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
+              given then display the values of variables.  The -\b-p\bp option  will
               display the attributes and values of each _\bn_\ba_\bm_\be.  When -\b-p\bp is used
-              with  _\bn_\ba_\bm_\be  arguments, additional options, other than -\b-f\bf and -\b-F\bF,
-              are ignored.  When -\b-p\bp is supplied  without  _\bn_\ba_\bm_\be  arguments,  it
-              will  display  the attributes and values of all variables having
+              with _\bn_\ba_\bm_\be arguments, additional options, other than -\b-f\bf  and  -\b-F\bF,
+              are  ignored.   When  -\b-p\bp  is supplied without _\bn_\ba_\bm_\be arguments, it
+              will display the attributes and values of all  variables  having
               the attributes specified by the additional options.  If no other
-              options  are  supplied  with  -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be  will display the at-
-              tributes and values of all shell variables.  The -\b-f\bf option  will
+              options are supplied with  -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be  will  display  the  at-
+              tributes  and values of all shell variables.  The -\b-f\bf option will
               restrict the display to shell functions.  The -\b-F\bF option inhibits
-              the display of function definitions; only the function name  and
+              the  display of function definitions; only the function name and
               attributes are printed.  If the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled
-              using s\bsh\bho\bop\bpt\bt, the source file name and  line  number  where  each
-              _\bn_\ba_\bm_\b is  defined  are displayed as well.  The -\b-F\bF option implies
+              using  s\bsh\bho\bop\bpt\bt,  the  source  file name and line number where each
+              _\bn_\ba_\bm_\bis defined are displayed as well.  The  -\b-F\bF  option  implies
               -\b-f\bf.  The -\b-g\bg option forces variables to be created or modified at
               the global scope, even when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell func-
-              tion.  It is ignored in all other cases.  The -\b-I\bI  option  causes
-              local  variables  to  inherit the attributes (except the _\bn_\ba_\bm_\be_\br_\be_\bf
+              tion.   It  is ignored in all other cases.  The -\b-I\bI option causes
+              local variables to inherit the attributes  (except  the  _\bn_\ba_\bm_\be_\br_\be_\bf
               attribute) and value of any existing variable with the same _\bn_\ba_\bm_\be
-              at  a  surrounding scope.  If there is no existing variable, the
+              at a surrounding scope.  If there is no existing  variable,  the
               local variable is initially unset.  The following options can be
-              used  to  restrict output to variables with the specified attri-
+              used to restrict output to variables with the  specified  attri-
               bute or to give variables attributes:
-              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
+                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
                      the variable is assigned a value.
-              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
-                     characters  are  converted to lower-case.  The upper-case
+              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
+                     characters are converted to lower-case.   The  upper-case
                      attribute is disabled.
-              -\b-n\bn     Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making  it  a  name
-                     reference  to  another  variable.  That other variable is
-                     defined by the value of _\bn_\ba_\bm_\be.   All  references,  assign-
-                     ments,  and attribute modifications to _\bn_\ba_\bm_\be, except those
-                     using or changing the -\b-n\bn attribute itself, are  performed
-                     on  the variable referenced by _\bn_\ba_\bm_\be's value.  The nameref
+              -\b-n\bn     Give  each  _\bn_\ba_\bm_\be  the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
+                     reference to another variable.  That  other  variable  is
+                     defined  by  the  value of _\bn_\ba_\bm_\be.  All references, assign-
+                     ments, and attribute modifications to _\bn_\ba_\bm_\be, except  those
+                     using  or changing the -\b-n\bn attribute itself, are performed
+                     on the variable referenced by _\bn_\ba_\bm_\be's value.  The  nameref
                      attribute cannot be applied to array variables.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
               -\b-t\bt     Give each _\bn_\ba_\bm_\be the _\bt_\br_\ba_\bc_\be attribute.  Traced functions in-
-                     herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling  shell.
+                     herit  the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
                      The trace attribute has no special meaning for variables.
-              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
-                     characters are converted to upper-case.   The  lower-case
+              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
+                     characters  are  converted to upper-case.  The lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes for export to subsequent commands via the en-
+              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export to subsequent commands via the  en-
                      vironment.
 
-              Using `+' instead of `-' turns off the attribute  instead,  with
-              the  exceptions  that +\b+a\ba and +\b+A\bA may not be used to destroy array
-              variables and +\b+r\br will not remove the readonly  attribute.   When
+              Using  `+'  instead of `-' turns off the attribute instead, with
+              the exceptions that +\b+a\ba and +\b+A\bA may not be used to  destroy  array
+              variables  and  +\b+r\br will not remove the readonly attribute.  When
               used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be local, as
-              with the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied.  If  a
-              variable  name  is followed by =_\bv_\ba_\bl_\bu_\be, the value of the variable
-              is set to _\bv_\ba_\bl_\bu_\be.  When using -\b-a\ba or -\b-A\bA and the  compound  assign-
-              ment  syntax to create array variables, additional attributes do
-              not take effect until subsequent assignments.  The return  value
+              with  the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied.  If a
+              variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of  the  variable
+              is  set  to _\bv_\ba_\bl_\bu_\be.  When using -\b-a\ba or -\b-A\bA and the compound assign-
+              ment syntax to create array variables, additional attributes  do
+              not  take effect until subsequent assignments.  The return value
               is 0 unless an invalid option is encountered, an attempt is made
               to define a function using ``-f foo=bar'', an attempt is made to
               assign a value to a readonly variable, an attempt is made to as-
               sign a value to an array variable without using the compound as-
-              signment  syntax  (see  A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs is not a
-              valid shell variable name, an attempt is made to turn off  read-
-              only  status for a readonly variable, an attempt is made to turn
+              signment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs  is  not  a
+              valid  shell variable name, an attempt is made to turn off read-
+              only status for a readonly variable, an attempt is made to  turn
               off array status for an array variable, or an attempt is made to
               display a non-existent function with -\b-f\bf.
 
        d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
-              Without  options,  displays the list of currently remembered di-
-              rectories.  The default display is on a single line with  direc-
-              tory  names  separated  by spaces.  Directories are added to the
-              list with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd  command  removes  entries
+              Without options, displays the list of currently  remembered  di-
+              rectories.   The default display is on a single line with direc-
+              tory names separated by spaces.  Directories are  added  to  the
+              list  with  the  p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes entries
               from the list.  The current directory is always the first direc-
               tory in the stack.
-              -\b-c\bc     Clears the directory stack by deleting  all  of  the  en-
+              -\b-c\bc     Clears  the  directory  stack  by deleting all of the en-
                      tries.
-              -\b-l\bl     Produces  a  listing  using  full  pathnames; the default
+              -\b-l\bl     Produces a listing  using  full  pathnames;  the  default
                      listing format uses a tilde to denote the home directory.
               -\b-p\bp     Print the directory stack with one entry per line.
-              -\b-v\bv     Print the directory stack with one entry per  line,  pre-
+              -\b-v\bv     Print  the  directory stack with one entry per line, pre-
                      fixing each entry with its index in the stack.
               +\b+_\bn     Displays the _\bnth entry counting from the left of the list
                      shown by d\bdi\bir\brs\bs when invoked without options, starting with
                      zero.
-              -\b-_\bn     Displays  the  _\bnth  entry  counting from the right of the
+              -\b-_\bn     Displays the _\bnth entry counting from  the  right  of  the
                      list shown by d\bdi\bir\brs\bs when invoked without options, starting
                      with zero.
 
-              The  return value is 0 unless an invalid option is supplied or _\bn
+              The return value is 0 unless an invalid option is supplied or  _\bn
               indexes beyond the end of the directory stack.
 
        d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ... | _\bp_\bi_\bd ... ]
-              Without options, remove each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the  table  of  active
-              jobs.   If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither the -\b-a\ba nor the -\b-r\br
-              option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the  -\b-h\b option
-              is  given,  each  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is not removed from the table, but is
-              marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if  the  shell  re-
+              Without  options,  remove  each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the table of active
+              jobs.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither the -\b-a\ba nor the  -\b-r\br
+              option  is  supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the -\b-h\bh option
+              is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from  the  table,  but  is
+              marked  so  that  S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell re-
               ceives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means
-              to remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\b ar-
+              to  remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc ar-
               gument restricts operation to running jobs.  The return value is
               0 unless a _\bj_\bo_\bb_\bs_\bp_\be_\bc does not specify a valid job.
 
        e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
-              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
-              The  return  status  is 0 unless a write error occurs.  If -\b-n\bn is
+              Output  the  _\ba_\br_\bgs,  separated  by spaces, followed by a newline.
+              The return status is 0 unless a write error occurs.   If  -\b-n\b is
               specified, the trailing newline is suppressed.  If the -\b-e\be option
-              is  given,  interpretation  of  the  following backslash-escaped
-              characters is enabled.  The -\b-E\bE option disables  the  interpreta-
-              tion  of these escape characters, even on systems where they are
-              interpreted by default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may  be  used
-              to  dynamically  determine whether or not e\bec\bch\bho\bo expands these es-
-              cape characters by default.  e\bec\bch\bho\bo does not interpret -\b--\b- to  mean
-              the  end  of  options.  e\bec\bch\bho\bo interprets the following escape se-
+              is given,  interpretation  of  the  following  backslash-escaped
+              characters  is  enabled.  The -\b-E\bE option disables the interpreta-
+              tion of these escape characters, even on systems where they  are
+              interpreted  by  default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used
+              to dynamically determine whether or not e\bec\bch\bho\bo expands  these  es-
+              cape  characters by default.  e\bec\bch\bho\bo does not interpret -\b--\b- to mean
+              the end of options.  e\bec\bch\bho\bo interprets the  following  escape  se-
               quences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -5024,200 +5057,200 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
+              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
+              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the  Unicode (ISO/IEC 10646) character whose value is the
+                     the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable and disable builtin shell commands.  Disabling a  builtin
+              Enable  and disable builtin shell commands.  Disabling a builtin
               allows a disk command which has the same name as a shell builtin
-              to be executed without specifying a full pathname,  even  though
-              the  shell  normally searches for builtins before disk commands.
-              If -\b-n\bn is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs  are  en-
-              abled.   For  example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
-              instead of the shell builtin version, run  ``enable  -n  test''.
-              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
+              to  be  executed without specifying a full pathname, even though
+              the shell normally searches for builtins before  disk  commands.
+              If  -\b-n\bn  is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are en-
+              abled.  For example, to use the t\bte\bes\bst\bt binary found via  the  P\bPA\bAT\bTH\bH
+              instead  of  the  shell builtin version, run ``enable -n test''.
+              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
               Bash will use the value of the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a
               colon-separated list of directories in which to search for _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.   The  default  is  system-dependent.   The -\b-d\bd option will
-              delete a builtin previously loaded with -\b-f\bf.  If  no  _\bn_\ba_\bm_\b argu-
-              ments  are  given,  or  if  the -\b-p\bp option is supplied, a list of
-              shell builtins is printed.  With no other option arguments,  the
+              _\bn_\ba_\bm_\be.  The default is  system-dependent.   The  -\b-d\bd  option  will
+              delete  a  builtin  previously loaded with -\b-f\bf.  If no _\bn_\ba_\bm_\be argu-
+              ments are given, or if the -\b-p\bp option  is  supplied,  a  list  of
+              shell  builtins is printed.  With no other option arguments, the
               list consists of all enabled shell builtins.  If -\b-n\bn is supplied,
               only disabled builtins are printed.  If -\b-a\ba is supplied, the list
-              printed  includes all builtins, with an indication of whether or
-              not each is enabled.  If -\b-s\bs  is  supplied,  the  output  is  re-
-              stricted  to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  If no options are sup-
-              plied and a _\bn_\ba_\bm_\be is not a shell builtin, e\ben\bna\bab\bbl\ble\be will attempt  to
-              load  _\bn_\ba_\bm_\be  from  a  shared object named _\bn_\ba_\bm_\be, as if the command
-              were ``enable -f _\bn_\ba_\bm_\be _\bn_\ba_\bm_\be .  The return value  is  0  unless  a
-              _\bn_\ba_\bm_\b is  not a shell builtin or there is an error loading a new
+              printed includes all builtins, with an indication of whether  or
+              not  each  is  enabled.   If  -\b-s\bs  is supplied, the output is re-
+              stricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  If no options are  sup-
+              plied  and a _\bn_\ba_\bm_\be is not a shell builtin, e\ben\bna\bab\bbl\ble\be will attempt to
+              load _\bn_\ba_\bm_\be from a shared object named _\bn_\ba_\bm_\be,  as  if  the  command
+              were  ``enable  -f  _\bn_\ba_\bm_\be  _\bn_\ba_\bm_\be .  The return value is 0 unless a
+              _\bn_\ba_\bm_\bis not a shell builtin or there is an error loading  a  new
               builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
-              mand.   This command is then read and executed by the shell, and
-              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
+              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
+              mand.  This command is then read and executed by the shell,  and
+              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
-              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
+              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
+              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
               ning of the zeroth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what _\bl_\bo_\b-
-              _\bg_\bi_\bn(1)  does.   The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
-              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
+              _\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be  executed  with
+              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not be executed for some reason, a non-interactive shell  exits,
-              unless  the  e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that case, it
-              returns failure.  An interactive shell returns  failure  if  the
-              file  cannot  be  executed.  A subshell exits unconditionally if
-              e\bex\bxe\bec\bfails.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections  take
-              effect  in  the  current  shell, and the return status is 0.  If
+              not  be executed for some reason, a non-interactive shell exits,
+              unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that  case,  it
+              returns  failure.   An  interactive shell returns failure if the
+              file cannot be executed.  A subshell  exits  unconditionally  if
+              e\bex\bxe\bec\b fails.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections take
+              effect in the current shell, and the return  status  is  0.   If
               there is a redirection error, the return status is 1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
+              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the  envi-
-              ronment  of subsequently executed commands.  If the -\b-f\bf option is
-              given, the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given,  or
-              if  the  -\b-p\bp  option is supplied, a list of names of all exported
-              variables is printed.  The -\b-n\bn option causes the export  property
+              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+              ronment of subsequently executed commands.  If the -\b-f\bf option  is
+              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
+              if the -\b-p\bp option is supplied, a list of names  of  all  exported
+              variables  is printed.  The -\b-n\bn option causes the export property
               to be removed from each _\bn_\ba_\bm_\be.  If a variable name is followed by
               =_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd.  e\bex\bxp\bpo\bor\brt\bt returns
               an exit status of 0 unless an invalid option is encountered, one
-              of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf  is  sup-
+              of  the  _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is sup-
               plied with a _\bn_\ba_\bm_\be that is not a function.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              The  first  form  selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
-              from the history list and  displays  or  edits  and  re-executes
-              them.   _\bF_\bi_\br_\bs_\bt  and  _\bl_\ba_\bs_\bt may be specified as a string (to locate
-              the last command beginning with that string) or as a number  (an
-              index  into the history list, where a negative number is used as
-              an offset from the current command  number).   When  listing,  a
-              _\bf_\bi_\br_\bs_\b or  _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is equivalent to
-              the current command (usually the f\bfc\bc  command);  otherwise  0  is
-              equivalent  to  -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is not specified,
-              it is set to the current command for listing (so  that  ``fc  -l
-              -10''  prints  the last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If
-              _\bf_\bi_\br_\bs_\bis not specified, it is set to the  previous  command  for
+              The first form selects a range of commands from  _\bf_\bi_\br_\bs_\bt  to  _\bl_\ba_\bs_\bt
+              from  the  history  list  and  displays or edits and re-executes
+              them.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a  string  (to  locate
+              the  last command beginning with that string) or as a number (an
+              index into the history list, where a negative number is used  as
+              an  offset  from  the  current command number).  When listing, a
+              _\bf_\bi_\br_\bs_\bor _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is  equivalent  to
+              the  current  command  (usually  the f\bfc\bc command); otherwise 0 is
+              equivalent to -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is  not  specified,
+              it  is  set  to the current command for listing (so that ``fc -l
+              -10'' prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt  otherwise.   If
+              _\bf_\bi_\br_\bs_\b is  not  specified, it is set to the previous command for
               editing and -16 for listing.
 
-              The  -\b-n\bn option suppresses the command numbers when listing.  The
-              -\b-r\boption reverses the order of the commands.  If the -\b-l\b option
-              is  given,  the  commands are listed on standard output.  Other-
-              wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file  containing
-              those  commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
-              variable is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not  set.
-              If  neither  variable  is set, _\bv_\bi is used.  When editing is com-
+              The -\b-n\bn option suppresses the command numbers when listing.   The
+              -\b-r\b option reverses the order of the commands.  If the -\b-l\bl option
+              is given, the commands are listed on  standard  output.   Other-
+              wise,  the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
+              those commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the  F\bFC\bCE\bED\bDI\bIT\bT
+              variable  is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not set.
+              If neither variable is set, _\bv_\bi is used.  When  editing  is  com-
               plete, the edited commands are echoed and executed.
 
-              In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
-              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
-              _\bf_\bi_\br_\bs_\babove.  A useful alias to use with this is ``r="fc  -s"'',
-              so  that  typing  ``r  cc'' runs the last command beginning with
+              In  the  second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
+              of _\bp_\ba_\bt is replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the  same  as
+              _\bf_\bi_\br_\bs_\b above.  A useful alias to use with this is ``r="fc -s"'',
+              so that typing ``r cc'' runs the  last  command  beginning  with
               ``cc'' and typing ``r'' re-executes the last command.
 
-              If the first form is used, the return value is 0 unless  an  in-
-              valid  option  is  encountered  or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
-              lines out of range.  If the -\b-e\be option is  supplied,  the  return
+              If  the  first form is used, the return value is 0 unless an in-
+              valid option is encountered or _\bf_\bi_\br_\bs_\bt  or  _\bl_\ba_\bs_\bt  specify  history
+              lines  out  of  range.  If the -\b-e\be option is supplied, the return
               value is the value of the last command executed or failure if an
               error occurs with the temporary file of commands.  If the second
-              form  is  used, the return status is that of the command re-exe-
-              cuted, unless _\bc_\bm_\bd does not specify  a  valid  history  line,  in
+              form is used, the return status is that of the  command  re-exe-
+              cuted,  unless  _\bc_\bm_\bd  does  not  specify a valid history line, in
               which case f\bfc\bc returns failure.
 
        f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
-              Resume  _\bj_\bo_\bb_\bs_\bp_\be_\bc  in the foreground, and make it the current job.
+              Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the  current  job.
               If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
-              is  used.   The  return value is that of the command placed into
-              the foreground, or failure if run when job control  is  disabled
+              is used.  The return value is that of the  command  placed  into
+              the  foreground,  or failure if run when job control is disabled
               or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
-              ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies  a  job  that  was  started
+              ify  a  valid  job  or  _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
               without job control.
 
        g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg _\b._\b._\b.]
-              g\bge\bet\bto\bop\bpt\bts\b is used by shell procedures to parse positional parame-
-              ters.  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option  characters  to  be  recog-
-              nized;  if a character is followed by a colon, the option is ex-
+              g\bge\bet\bto\bop\bpt\bts\bis used by shell procedures to parse positional  parame-
+              ters.   _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  contains  the  option characters to be recog-
+              nized; if a character is followed by a colon, the option is  ex-
               pected to have an argument, which should be separated from it by
-              white  space.  The colon and question mark characters may not be
-              used as option characters.  Each time  it  is  invoked,  g\bge\bet\bto\bop\bpt\bts\bs
-              places  the next option in the shell variable _\bn_\ba_\bm_\be, initializing
+              white space.  The colon and question mark characters may not  be
+              used  as  option  characters.   Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs
+              places the next option in the shell variable _\bn_\ba_\bm_\be,  initializing
               _\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
               be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to
               1 each time the shell or a shell script is invoked.  When an op-
               tion requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into the
               variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically;
-              it  must  be  manually  reset  between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs
-              within the same shell invocation if a new set of  parameters  is
+              it must be manually reset  between  multiple  calls  to  g\bge\bet\bto\bop\bpt\bts\bs
+              within  the  same shell invocation if a new set of parameters is
               to be used.
 
               When the end of options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a re-
               turn value greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
               first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
-              arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses  those  in-
+              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
+              arguments  are  supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
               stead.
 
-              g\bge\bet\bto\bop\bpt\bts\b can  report errors in two ways.  If the first character
-              of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error  reporting  is  used.   In
-              normal  operation,  diagnostic messages are printed when invalid
-              options or missing option arguments  are  encountered.   If  the
-              variable  O\bOP\bPT\bTE\bER\bRR\bR  is  set  to  0, no error messages will be dis-
+              g\bge\bet\bto\bop\bpt\bts\bcan report errors in two ways.  If the  first  character
+              of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
+              normal operation, diagnostic messages are printed  when  invalid
+              options  or  missing  option  arguments are encountered.  If the
+              variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
 
               If an invalid option is seen, g\bge\bet\bto\bop\bpt\bts\bs places ? into _\bn_\ba_\bm_\be and, if
-              not  silent,  prints  an  error  message  and unsets O\bOP\bPT\bTA\bAR\bRG\bG.  If
-              g\bge\bet\bto\bop\bpt\bts\bis silent, the option character found is placed  in  O\bOP\bP-\b-
+              not silent, prints an  error  message  and  unsets  O\bOP\bPT\bTA\bAR\bRG\bG.   If
+              g\bge\bet\bto\bop\bpt\bts\b is  silent, the option character found is placed in O\bOP\bP-\b-
               T\bTA\bAR\bRG\bG and no diagnostic message is printed.
 
-              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
-              a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is  unset,  and  a
-              diagnostic  message  is  printed.   If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
-              colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG  is  set  to  the  option
+              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
+              a  question  mark  (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
+              diagnostic message is printed.  If g\bge\bet\bto\bop\bpt\bts\bs  is  silent,  then  a
+              colon  (:\b:)  is  placed  in  _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
+              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
               Each time h\bha\bas\bsh\bh is invoked, the full pathname of the command _\bn_\ba_\bm_\be
-              is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH  and  remem-
+              is  determined  by searching the directories in $\b$P\bPA\bAT\bTH\bH and remem-
               bered.  Any previously-remembered pathname is discarded.  If the
               -\b-p\bp option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              is  used  as  the  full  filename of the command.  The -\b-r\br option
+              is used as the full filename of  the  command.   The  -\b-r\b option
               causes the shell to forget all remembered locations.  The -\b-d\bd op-
-              tion  causes the shell to forget the remembered location of each
-              _\bn_\ba_\bm_\be.  If the -\b-t\bt option is supplied, the full pathname to  which
-              each  _\bn_\ba_\bm_\be  corresponds  is printed.  If multiple _\bn_\ba_\bm_\be arguments
+              tion causes the shell to forget the remembered location of  each
+              _\bn_\ba_\bm_\be.   If the -\b-t\bt option is supplied, the full pathname to which
+              each _\bn_\ba_\bm_\be corresponds is printed.  If  multiple  _\bn_\ba_\bm_\b arguments
               are supplied with -\b-t\bt, the _\bn_\ba_\bm_\be is printed before the hashed full
               pathname.  The -\b-l\bl option causes output to be displayed in a for-
-              mat that may be reused as input.  If no arguments are given,  or
+              mat  that may be reused as input.  If no arguments are given, or
               if only -\b-l\bl is supplied, information about remembered commands is
-              printed.  The return status is true unless a _\bn_\ba_\bm_\be is  not  found
+              printed.   The  return status is true unless a _\bn_\ba_\bm_\be is not found
               or an invalid option is supplied.
 
        h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
-              Display  helpful information about builtin commands.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is specified, h\bhe\bel\blp\bp gives detailed help on all commands  matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn;  otherwise  help for all the builtins and shell control
+              Display helpful information about builtin commands.  If  _\bp_\ba_\bt_\bt_\be_\br_\bn
+              is  specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
+              _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and  shell  control
               structures is printed.
               -\b-d\bd     Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
               -\b-m\bm     Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
@@ -5235,54 +5268,54 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg _\b._\b._\b.]
               With no options, display the command history list with line num-
               bers.  Lines listed with a *\b* have been modified.  An argument of
-              _\b lists only the last _\bn lines.  If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
-              F\bFO\bOR\bRM\bMA\bAT\bis set and not null, it is used as a  format  string  for
-              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  to display the time stamp associated with each dis-
-              played history entry.  No intervening blank is  printed  between
-              the  formatted  time stamp and the history line.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
-              supplied, it is used as the name of the history  file;  if  not,
-              the  value  of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied, have the
+              _\blists only the last _\bn lines.  If the shell variable  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+              F\bFO\bOR\bRM\bMA\bAT\b is  set  and not null, it is used as a format string for
+              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each  dis-
+              played  history  entry.  No intervening blank is printed between
+              the formatted time stamp and the history line.  If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b is
+              supplied,  it  is  used as the name of the history file; if not,
+              the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied,  have  the
               following meanings:
               -\b-c\bc     Clear the history list by deleting all the entries.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
-                     Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bo_\bf_\bf_\bs_\be_\bt
+                     Delete  the  history entry at position _\bo_\bf_\bf_\bs_\be_\bt.  If _\bo_\bf_\bf_\bs_\be_\bt
                      is negative, it is interpreted as relative to one greater
                      than the last history position, so negative indices count
-                     back  from  the  end  of  the history, and an index of -1
+                     back from the end of the history,  and  an  index  of  -1
                      refers to the current h\bhi\bis\bst\bto\bor\bry\by -\b-d\bd command.
               -\b-d\bd _\bs_\bt_\ba_\br_\bt-_\be_\bn_\bd
-                     Delete the range of  history  entries  between  positions
-                     _\bs_\bt_\ba_\br_\b and  _\be_\bn_\bd, inclusive.  Positive and negative values
+                     Delete  the  range  of  history entries between positions
+                     _\bs_\bt_\ba_\br_\band _\be_\bn_\bd, inclusive.  Positive and  negative  values
                      for _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd are interpreted as described above.
-              -\b-a\ba     Append the ``new'' history lines  to  the  history  file.
-                     These  are  history  lines entered since the beginning of
+              -\b-a\ba     Append  the  ``new''  history  lines to the history file.
+                     These are history lines entered since  the  beginning  of
                      the current b\bba\bas\bsh\bh session, but not already appended to the
                      history file.
-              -\b-n\bn     Read  the history lines not already read from the history
-                     file into the current history list.  These are lines  ap-
-                     pended  to  the  history  file since the beginning of the
+              -\b-n\bn     Read the history lines not already read from the  history
+                     file  into the current history list.  These are lines ap-
+                     pended to the history file since  the  beginning  of  the
                      current b\bba\bas\bsh\bh session.
-              -\b-r\br     Read the contents of the history file and append them  to
+              -\b-r\br     Read  the contents of the history file and append them to
                      the current history list.
               -\b-w\bw     Write the current history list to the history file, over-
                      writing the history file's contents.
-              -\b-p\bp     Perform history substitution on the  following  _\ba_\br_\bg_\b and
-                     display  the  result  on  the  standard output.  Does not
-                     store the results in the history list.  Each _\ba_\br_\bg must  be
+              -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
+                     display the result on  the  standard  output.   Does  not
+                     store  the results in the history list.  Each _\ba_\br_\bg must be
                      quoted to disable normal history expansion.
-              -\b-s\bs     Store  the  _\ba_\br_\bg_\bs  in  the history list as a single entry.
-                     The last command in the history list  is  removed  before
+              -\b-s\bs     Store the _\ba_\br_\bg_\bs in the history list  as  a  single  entry.
+                     The  last  command  in the history list is removed before
                      the _\ba_\br_\bg_\bs are added.
 
-              If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
-              tion associated with each history entry is written to  the  his-
-              tory  file, marked with the history comment character.  When the
-              history file is read, lines beginning with the  history  comment
-              character  followed  immediately  by  a digit are interpreted as
+              If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time  stamp  informa-
+              tion  associated  with each history entry is written to the his-
+              tory file, marked with the history comment character.  When  the
+              history  file  is read, lines beginning with the history comment
+              character followed immediately by a  digit  are  interpreted  as
               timestamps for the following history entry.  The return value is
               0 unless an invalid option is encountered, an error occurs while
-              reading or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt or  range
-              is  supplied as an argument to -\b-d\bd, or the history expansion sup-
+              reading  or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt or range
+              is supplied as an argument to -\b-d\bd, or the history expansion  sup-
               plied as an argument to -\b-p\bp fails.
 
        j\bjo\bob\bbs\bs [-\b-l\bln\bnp\bpr\brs\bs] [ _\bj_\bo_\bb_\bs_\bp_\be_\bc ... ]
@@ -5290,15 +5323,15 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-n\bn     Display  information  only  about  jobs that have changed
+              -\b-n\bn     Display information only about  jobs  that  have  changed
                      status since the user was last notified of their status.
-              -\b-p\bp     List only the process  ID  of  the  job's  process  group
+              -\b-p\bp     List  only  the  process  ID  of  the job's process group
                      leader.
               -\b-r\br     Display only running jobs.
               -\b-s\bs     Display only stopped jobs.
 
-              If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
-              that job.  The return status is 0 unless an  invalid  option  is
+              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to  information  about
+              that  job.   The  return status is 0 unless an invalid option is
               encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
 
               If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
@@ -5307,263 +5340,263 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
        k\bki\bil\bll\bl -\b-l\bl|-\b-L\bL [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
-              Send  the  signal  named  by  _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
-              named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either  a  case-insensitive
-              signal  name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
-              a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  not
-              present,  then  S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl lists the
-              signal names.  If any arguments are supplied when -\b-l\bl  is  given,
-              the  names  of  the  signals  corresponding to the arguments are
+              Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc  or  _\bs_\bi_\bg_\bn_\bu_\bm  to  the  processes
+              named  by  _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
+              signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix)  or
+              a  signal  number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
+              present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl  lists  the
+              signal  names.   If any arguments are supplied when -\b-l\bl is given,
+              the names of the signals  corresponding  to  the  arguments  are
               listed, and the return status is 0.  The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
-              -\b-l\b is  a  number  specifying either a signal number or the exit
-              status of a process terminated by a signal.  The  -\b-L\bL  option  is
-              equivalent  to -\b-l\bl.  k\bki\bil\bll\bl returns true if at least one signal was
+              -\b-l\bis a number specifying either a signal  number  or  the  exit
+              status  of  a  process terminated by a signal.  The -\b-L\bL option is
+              equivalent to -\b-l\bl.  k\bki\bil\bll\bl returns true if at least one signal  was
               successfully sent, or false if an error occurs or an invalid op-
               tion is encountered.
 
        l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
               Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).  If the last _\ba_\br_\bg evaluates  to  0,  l\ble\bet\bt
+              M\bME\bET\bTI\bIC\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  above).   If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
               returns 1; 0 is returned otherwise.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
-              For  each  argument, a local variable named _\bn_\ba_\bm_\be is created, and
-              assigned _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the  options  accepted
+              For each argument, a local variable named _\bn_\ba_\bm_\be is  created,  and
+              assigned  _\bv_\ba_\bl_\bu_\be.   The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
               by d\bde\bec\bcl\bla\bar\bre\be.  When l\blo\boc\bca\bal\bl is used within a function, it causes the
-              variable _\bn_\ba_\bm_\be to have a visible scope restricted to  that  func-
-              tion  and  its children.  If _\bn_\ba_\bm_\be is -, the set of shell options
-              is made local to the function in which l\blo\boc\bca\bal\bl is  invoked:  shell
-              options  changed using the s\bse\bet\bt builtin inside the function after
+              variable  _\bn_\ba_\bm_\be  to have a visible scope restricted to that func-
+              tion and its children.  If _\bn_\ba_\bm_\be is -, the set of  shell  options
+              is  made  local to the function in which l\blo\boc\bca\bal\bl is invoked: shell
+              options changed using the s\bse\bet\bt builtin inside the function  after
               the call to l\blo\boc\bca\bal\bl are restored to their original values when the
               function returns.  The restore is effected as if a series of s\bse\bet\bt
-              commands were executed to restore the values that were in  place
-              before  the  function.  With no operands, l\blo\boc\bca\bal\bl writes a list of
-              local variables to the standard output.  It is an error  to  use
+              commands  were executed to restore the values that were in place
+              before the function.  With no operands, l\blo\boc\bca\bal\bl writes a  list  of
+              local  variables  to the standard output.  It is an error to use
               l\blo\boc\bca\bal\bl when not within a function.  The return status is 0 unless
-              l\blo\boc\bca\bal\bis used outside a function, an invalid _\bn_\ba_\bm_\be  is  supplied,
+              l\blo\boc\bca\bal\b is  used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
               or _\bn_\ba_\bm_\be is a readonly variable.
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\b [-\b-d\bd  _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
+       m\bma\bap\bpf\bfi\bil\ble\b[-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu  _\bf_\bd]  [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
        r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-              Read  lines from the standard input into the indexed array vari-
-              able _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is  sup-
-              plied.   The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if
+              Read lines from the standard input into the indexed array  vari-
+              able  _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is sup-
+              plied.  The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options,  if
               supplied, have the following meanings:
-              -\b-d\bd     The first character of _\bd_\be_\bl_\bi_\bm is used  to  terminate  each
-                     input  line,  rather than newline.  If _\bd_\be_\bl_\bi_\bm is the empty
+              -\b-d\bd     The  first  character  of _\bd_\be_\bl_\bi_\bm is used to terminate each
+                     input line, rather than newline.  If _\bd_\be_\bl_\bi_\bm is  the  empty
                      string, m\bma\bap\bpf\bfi\bil\ble\be will terminate a line when it reads a NUL
                      character.
-              -\b-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
+              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
                      copied.
-              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
+              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
-              -\b-t\bt     Remove  a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
+              -\b-t\bt     Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each  line
                      read.
-              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
+              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
                      dard input.
-              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
+              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify the number of lines read  between  each  call  to
+              -\b-c\bc     Specify  the  number  of  lines read between each call to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
-              If  -\b-C\bC  is  specified  without  -\b-c\bc, the default quantum is 5000.
+              If -\b-C\bC is specified without -\b-c\bc,  the  default  quantum  is  5000.
               When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
               array element to be assigned and the line to be assigned to that
-              element as additional arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk  is  evaluated  after
+              element  as  additional  arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
               the line is read but before the array element is assigned.
 
-              If  not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
+              If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear  _\ba_\br_\b-
               _\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\breturns successfully unless an invalid option or  option
-              argument  is  supplied,  _\ba_\br_\br_\ba_\by is invalid or unassignable, or if
+              m\bma\bap\bpf\bfi\bil\ble\b returns successfully unless an invalid option or option
+              argument is supplied, _\ba_\br_\br_\ba_\by is invalid or  unassignable,  or  if
               _\ba_\br_\br_\ba_\by is not an indexed array.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
               Removes entries from the directory stack.  The elements are num-
-              bered  from  0  starting  at the first directory listed by d\bdi\bir\brs\bs.
-              With no arguments, p\bpo\bop\bpd\bd  removes  the  top  directory  from  the
+              bered from 0 starting at the first  directory  listed  by  d\bdi\bir\brs\bs.
+              With  no  arguments,  p\bpo\bop\bpd\bd  removes  the  top directory from the
               stack, and changes to the new top directory.  Arguments, if sup-
               plied, have the following meanings:
-              -\b-n\bn     Suppresses the normal change of directory  when  removing
+              -\b-n\bn     Suppresses  the  normal change of directory when removing
                      directories from the stack, so that only the stack is ma-
                      nipulated.
-              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero, from the stack.  For
-                     example: ``popd +0'' removes the first directory,  ``popd
+              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
+                     shown by d\bdi\bir\brs\bs, starting with zero, from the  stack.   For
+                     example:  ``popd +0'' removes the first directory, ``popd
                      +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
-                     -0''  removes the last directory, ``popd -1'' the next to
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+                     -0'' removes the last directory, ``popd -1'' the next  to
                      last.
 
-              If the top element of the directory stack is modified,  and  the
-              _\b-_\b option  was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
+              If  the  top element of the directory stack is modified, and the
+              _\b-_\boption was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin  to  change
               to the directory at the top of the stack.  If the c\bcd\bd fails, p\bpo\bop\bpd\bd
               returns a non-zero value.
 
-              Otherwise,  p\bpo\bop\bpd\bd  returns  false if an invalid option is encoun-
+              Otherwise, p\bpo\bop\bpd\bd returns false if an invalid  option  is  encoun-
               tered, the directory stack is empty, or a non-existent directory
               stack entry is specified.
 
-              If  the  p\bpo\bop\bpd\bd  command is successful, bash runs d\bdi\bir\brs\bs to show the
-              final contents of the directory stack, and the return status  is
+              If the p\bpo\bop\bpd\bd command is successful, bash runs d\bdi\bir\brs\bs  to  show  the
+              final  contents of the directory stack, and the return status is
               0.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
-              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the  output  to  be
-              assigned  to  the  variable _\bv_\ba_\br rather than being printed to the
+              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
+              control  of  the  _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the output to be
+              assigned to the variable _\bv_\ba_\br rather than being  printed  to  the
               standard output.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three  types  of
-              objects:  plain  characters, which are simply copied to standard
-              output, character escape  sequences,  which  are  converted  and
-              copied  to  the standard output, and format specifications, each
-              of which causes printing of the next  successive  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.   In
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is a character string which contains three types of
+              objects: plain characters, which are simply copied  to  standard
+              output,  character  escape  sequences,  which  are converted and
+              copied to the standard output, and format  specifications,  each
+              of  which  causes  printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In
               addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(3) format characters c\bcs\bsn\bnd\bdi\bio\bou\bux\bxX\bXe\be-\b-
               E\bEf\bfF\bFg\bgG\bGa\baA\bA, p\bpr\bri\bin\bnt\btf\bf interprets the following additional format spec-
               ifiers:
               %\b%b\bb     causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
                      corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in the same way as e\bec\bch\bho\bo -\b-e\be.
-              %\b%q\bq     causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt  in  a
-                     format  that can be reused as shell input.  %\b%q\bq and %\b%Q\bQ use
-                     the $\b$'\b''\b' quoting style if any characters in  the  argument
-                     string  require  it, and backslash quoting otherwise.  If
-                     the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate  form,  these
+              %\b%q\bq     causes  p\bpr\bri\bin\bnt\btf\bf  to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
+                     format that can be reused as shell input.  %\b%q\bq and %\b%Q\b use
+                     the  $\b$'\b''\b'  quoting style if any characters in the argument
+                     string require it, and backslash quoting  otherwise.   If
+                     the  format  string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
                      two  formats  quote  the  argument  string  using  single
                      quotes.
-              %\b%Q\bQ     like %\b%q\bq, but applies any supplied precision to the  _\ba_\br_\bg_\bu_\b-
+              %\b%Q\bQ     like  %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
                      _\bm_\be_\bn_\bt before quoting it.
               %\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
-                     causes  p\bpr\bri\bin\bnt\btf\bf  to  output the date-time string resulting
-                     from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format  string  for  _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+                     causes p\bpr\bri\bin\bnt\btf\bf to output the  date-time  string  resulting
+                     from  using  _\bd_\ba_\bt_\be_\bf_\bm_\bt  as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
                      The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
-                     number of seconds since the epoch.  Two special  argument
-                     values  may  be used: -1 represents the current time, and
-                     -2 represents the time the shell was invoked.  If no  ar-
+                     number  of seconds since the epoch.  Two special argument
+                     values may be used: -1 represents the current  time,  and
+                     -2  represents the time the shell was invoked.  If no ar-
                      gument is specified, conversion behaves as if -1 had been
-                     given.  This is an exception to the usual  p\bpr\bri\bin\bnt\btf\b behav-
+                     given.   This  is an exception to the usual p\bpr\bri\bin\bnt\btf\bf behav-
                      ior.
 
               The %b, %q, and %T format specifiers all use the field width and
               precision arguments from the format specification and write that
-              many  bytes from (or use that wide a field for) the expanded ar-
-              gument, which usually contains more characters than  the  origi-
+              many bytes from (or use that wide a field for) the expanded  ar-
+              gument,  which  usually contains more characters than the origi-
               nal.
 
               The %n format specifier accepts a corresponding argument that is
               treated as a shell variable name.
 
-              The %s and %c format specifiers accept  an  l  (long)  modifier,
+              The  %s  and  %c  format specifiers accept an l (long) modifier,
               which forces them to convert the argument string to a wide-char-
               acter string and apply any supplied field width and precision in
               terms of characters, not bytes.
 
-              Arguments  to non-string format specifiers are treated as C con-
+              Arguments to non-string format specifiers are treated as C  con-
               stants, except that a leading plus or minus sign is allowed, and
-              if  the leading character is a single or double quote, the value
+              if the leading character is a single or double quote, the  value
               is the ASCII value of the following character.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all  of  the  _\ba_\br_\bg_\bu_\b-
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is  reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
               _\bm_\be_\bn_\bt_\bs.  If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
-              the extra format specifications behave as if  a  zero  value  or
-              null  string,  as  appropriate,  had  been supplied.  The return
-              value is zero on success, non-zero if an invalid option is  sup-
+              the  extra  format  specifications  behave as if a zero value or
+              null string, as appropriate,  had  been  supplied.   The  return
+              value  is zero on success, non-zero if an invalid option is sup-
               plied or a write or assignment error occurs.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds  a  directory to the top of the directory stack, or rotates
-              the stack, making the new top of the stack the  current  working
-              directory.   With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
-              ments of the directory stack.  Arguments, if supplied, have  the
+              Adds a directory to the top of the directory stack,  or  rotates
+              the  stack,  making the new top of the stack the current working
+              directory.  With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two  ele-
+              ments  of the directory stack.  Arguments, if supplied, have the
               following meanings:
-              -\b-n\bn     Suppresses  the  normal change of directory when rotating
-                     or adding directories to the  stack,  so  that  only  the
+              -\b-n\bn     Suppresses the normal change of directory  when  rotating
+                     or  adding  directories  to  the  stack, so that only the
                      stack is manipulated.
-              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
+              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
-              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
+              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top
 
               After the stack has been modified, if the -\b-n\bn option was not sup-
-              plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the  directory  at
+              plied,  p\bpu\bus\bsh\bhd\bd  uses the c\bcd\bd builtin to change to the directory at
               the top of the stack.  If the c\bcd\bd fails, p\bpu\bus\bsh\bhd\bd returns a non-zero
               value.
 
-              Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0  unless
-              the  directory  stack  is  empty.   When  rotating the directory
-              stack, p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or  a
+              Otherwise,  if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0 unless
+              the directory stack  is  empty.   When  rotating  the  directory
+              stack,  p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or a
               non-existent directory stack element is specified.
 
-              If  the  p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to show the
+              If the p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to  show  the
               final contents of the directory stack.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print the absolute pathname of the  current  working  directory.
+              Print  the  absolute  pathname of the current working directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
-              contain symbolic links.  The return status is 0 unless an  error
+              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
+              contain  symbolic links.  The return status is 0 unless an error
               occurs while reading the name of the current directory or an in-
               valid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp
        _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One  line  is read from the standard input, or from the file de-
+              One line is read from the standard input, or from the  file  de-
               scriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, split into
-              words  as  described  above  under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and the first
-              word is assigned to the first _\bn_\ba_\bm_\be, the second word to the  sec-
-              ond  _\bn_\ba_\bm_\be,  and  so on.  If there are more words than names, the
+              words as described above under W\bWo\bor\brd\bd  S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg,  and  the  first
+              word  is assigned to the first _\bn_\ba_\bm_\be, the second word to the sec-
+              ond _\bn_\ba_\bm_\be, and so on.  If there are more words  than  names,  the
               remaining words and their intervening delimiters are assigned to
-              the  last  _\bn_\ba_\bm_\be.   If  there are fewer words read from the input
-              stream than names, the remaining names are assigned  empty  val-
-              ues.   The  characters  in  I\bIF\bFS\bS  are used to split the line into
-              words using the same rules the shell  uses  for  expansion  (de-
-              scribed  above  under  W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).  The backslash character
+              the last _\bn_\ba_\bm_\be.  If there are fewer words  read  from  the  input
+              stream  than  names, the remaining names are assigned empty val-
+              ues.  The characters in I\bIF\bFS\bS are used  to  split  the  line  into
+              words  using  the  same  rules the shell uses for expansion (de-
+              scribed above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).   The  backslash  character
               (\\b\) may be used to remove any special meaning for the next char-
-              acter  read  and  for  line continuation.  Options, if supplied,
+              acter read and for line  continuation.   Options,  if  supplied,
               have the following meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
                      variable _\ba_\bn_\ba_\bm_\be, starting at 0.  _\ba_\bn_\ba_\bm_\be is unset before any
-                     new values are assigned.  Other _\bn_\ba_\bm_\be  arguments  are  ig-
+                     new  values  are  assigned.  Other _\bn_\ba_\bm_\be arguments are ig-
                      nored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
                      The first character of _\bd_\be_\bl_\bi_\bm is used to terminate the in-
-                     put line, rather than newline.  If  _\bd_\be_\bl_\bi_\bm  is  the  empty
-                     string,  r\bre\bea\bad\bd  will  terminate a line when it reads a NUL
+                     put  line,  rather  than  newline.  If _\bd_\be_\bl_\bi_\bm is the empty
+                     string, r\bre\bea\bad\bd will terminate a line when it  reads  a  NUL
                      character.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
-                     (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  above) is used to obtain the line.  Read-
-                     line uses the current (or default, if  line  editing  was
-                     not  previously  active) editing settings, but uses read-
+                     (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the  line.   Read-
+                     line  uses  the  current (or default, if line editing was
+                     not previously active) editing settings, but  uses  read-
                      line's default filename completion.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
+                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
                      waiting for a complete line of input, but honors a delim-
-                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
+                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
-                     rather  than waiting for a complete line of input, unless
-                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
-                     ters  encountered  in the input are not treated specially
-                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
-                     are  read.   The result is not split on the characters in
-                     I\bIF\bFS\bS; the intent is that the variable is assigned  exactly
+                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
+                     rather than waiting for a complete line of input,  unless
+                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
+                     ters encountered in the input are not  treated  specially
+                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
+                     are read.  The result is not split on the  characters  in
+                     I\bIF\bFS\bS;  the intent is that the variable is assigned exactly
                      the characters read (with the exception of backslash; see
                      the -\b-r\br option below).
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
@@ -5571,133 +5604,133 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash  is considered to be part of the line.  In particu-
-                     lar, a backslash-newline pair may not then be used  as  a
+                     slash is considered to be part of the line.  In  particu-
+                     lar,  a  backslash-newline pair may not then be used as a
                      line continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
-                     line  of  input  (or a specified number of characters) is
-                     not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a  deci-
-                     mal  number with a fractional portion following the deci-
-                     mal point.  This option is  only  effective  if  r\bre\bea\bad\b is
-                     reading  input  from  a  terminal, pipe, or other special
-                     file; it has no effect when reading from  regular  files.
+                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
+                     line of input (or a specified number  of  characters)  is
+                     not  read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a deci-
+                     mal number with a fractional portion following the  deci-
+                     mal  point.   This  option  is  only effective if r\bre\bea\bad\bd is
+                     reading input from a terminal,  pipe,  or  other  special
+                     file;  it  has no effect when reading from regular files.
                      If r\bre\bea\bad\bd times out, r\bre\bea\bad\bd saves any partial input read into
-                     the specified variable _\bn_\ba_\bm_\be.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0,  r\bre\bea\bad\b re-
-                     turns  immediately, without trying to read any data.  The
-                     exit status is 0 if input is available on  the  specified
-                     file  descriptor,  or  the read will return EOF, non-zero
-                     otherwise.  The exit status is greater than  128  if  the
+                     the  specified  variable _\bn_\ba_\bm_\be.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd re-
+                     turns immediately, without trying to read any data.   The
+                     exit  status  is 0 if input is available on the specified
+                     file descriptor, or the read will  return  EOF,  non-zero
+                     otherwise.   The  exit  status is greater than 128 if the
                      timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
-              If  no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending de-
-              limiter but otherwise unmodified, is assigned  to  the  variable
-              R\bRE\bEP\bPL\bLY\bY.   The  exit status is zero, unless end-of-file is encoun-
-              tered, r\bre\bea\bad\bd times out (in which case the status is greater  than
-              128),  a variable assignment error (such as assigning to a read-
+              If no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending  de-
+              limiter  but  otherwise  unmodified, is assigned to the variable
+              R\bRE\bEP\bPL\bLY\bY.  The exit status is zero, unless end-of-file  is  encoun-
+              tered,  r\bre\bea\bad\bd times out (in which case the status is greater than
+              128), a variable assignment error (such as assigning to a  read-
               only variable) occurs, or an invalid file descriptor is supplied
               as the argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAf\bf] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
-              The  given  _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
-              may not be changed by subsequent assignment.  If the  -\b-f\b option
-              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
-              marked.  The -\b-a\ba option restricts the variables  to  indexed  ar-
-              rays;  the  -\b-A\bA option restricts the variables to associative ar-
+              The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of  these  _\bn_\ba_\bm_\be_\bs
+              may  not  be changed by subsequent assignment.  If the -\b-f\bf option
+              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
+              marked.   The  -\b-a\ba  option restricts the variables to indexed ar-
+              rays; the -\b-A\bA option restricts the variables to  associative  ar-
               rays.  If both options are supplied, -\b-A\bA takes precedence.  If no
-              _\bn_\ba_\bm_\b arguments  are  given,  or if the -\b-p\bp option is supplied, a
+              _\bn_\ba_\bm_\barguments are given, or if the -\b-p\bp  option  is  supplied,  a
               list of all readonly names is printed.  The other options may be
-              used  to  restrict the output to a subset of the set of readonly
-              names.  The -\b-p\bp option causes output to be displayed in a  format
-              that  may be reused as input.  If a variable name is followed by
-              =_\bw_\bo_\br_\bd, the value of the variable is set  to  _\bw_\bo_\br_\bd.   The  return
-              status  is 0 unless an invalid option is encountered, one of the
+              used to restrict the output to a subset of the set  of  readonly
+              names.   The -\b-p\bp option causes output to be displayed in a format
+              that may be reused as input.  If a variable name is followed  by
+              =_\bw_\bo_\br_\bd,  the  value  of  the variable is set to _\bw_\bo_\br_\bd.  The return
+              status is 0 unless an invalid option is encountered, one of  the
               _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is supplied with
               a _\bn_\ba_\bm_\be that is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes  a function to stop executing and return the value speci-
-              fied by _\bn to its caller.  If _\bn is omitted, the return status  is
-              that  of the last command executed in the function body.  If r\bre\be-\b-
+              Causes a function to stop executing and return the value  speci-
+              fied  by _\bn to its caller.  If _\bn is omitted, the return status is
+              that of the last command executed in the function body.  If  r\bre\be-\b-
               t\btu\bur\brn\bn is executed by a trap handler, the last command used to de-
-              termine  the status is the last command executed before the trap
-              handler.  If r\bre\bet\btu\bur\brn\bn is executed during a D\bDE\bEB\bBU\bUG\bG  trap,  the  last
-              command  used  to  determine the status is the last command exe-
-              cuted by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked.  If  r\bre\bet\btu\bur\brn\bn
-              is  used outside a function, but during execution of a script by
-              the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell to  stop  executing
-              that  script  and return either _\bn or the exit status of the last
-              command executed within the script as the  exit  status  of  the
+              termine the status is the last command executed before the  trap
+              handler.   If  r\bre\bet\btu\bur\brn\bn  is executed during a D\bDE\bEB\bBU\bUG\bG trap, the last
+              command used to determine the status is the  last  command  exe-
+              cuted  by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked.  If r\bre\bet\btu\bur\brn\bn
+              is used outside a function, but during execution of a script  by
+              the  .\b.   (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop executing
+              that script and return either _\bn or the exit status of  the  last
+              command  executed  within  the  script as the exit status of the
               script.  If _\bn is supplied, the return value is its least signif-
-              icant 8 bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn  is  sup-
-              plied  a non-numeric argument, or is used outside a function and
-              not during execution of a script by .\b. or  s\bso\bou\bur\brc\bce\be.   Any  command
+              icant  8  bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn is sup-
+              plied a non-numeric argument, or is used outside a function  and
+              not  during  execution  of a script by .\b. or s\bso\bou\bur\brc\bce\be.  Any command
               associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execution re-
               sumes after the function or script.
 
        s\bse\bet\bt [-\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
-              Without options, display the name and value of each shell  vari-
-              able  in a format that can be reused as input for setting or re-
+              Without  options, display the name and value of each shell vari-
+              able in a format that can be reused as input for setting or  re-
               setting the currently-set variables.  Read-only variables cannot
-              be  reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.  The
-              output is sorted according to the current locale.  When  options
-              are  specified,  they  set or unset shell attributes.  Any argu-
-              ments remaining after option processing are  treated  as  values
+              be reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.   The
+              output  is sorted according to the current locale.  When options
+              are specified, they set or unset shell  attributes.   Any  argu-
+              ments  remaining  after  option processing are treated as values
               for the positional parameters and are assigned, in order, to $\b$1\b1,
-              $\b$2\b2, .\b..\b..\b.  $\b$_\bn.  Options, if specified, have  the  following  mean-
+              $\b$2\b2,  .\b..\b..\b.   $\b$_\bn.   Options, if specified, have the following mean-
               ings:
               -\b-a\ba      Each variable or function that is created or modified is
-                      given the export attribute and marked for export to  the
+                      given  the export attribute and marked for export to the
                       environment of subsequent commands.
-              -\b-b\bb      Report  the status of terminated background jobs immedi-
+              -\b-b\bb      Report the status of terminated background jobs  immedi-
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
-              -\b-e\be      Exit  immediately  if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
-                      single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or  a  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+              -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
+                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
                       (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above), exits with a non-zero status.
-                      The shell does not exit if the  command  that  fails  is
-                      part  of  the command list immediately following a w\bwh\bhi\bil\ble\be
-                      or u\bun\bnt\bti\bil\bl keyword, part of the test following the  i\bif\b or
-                      e\bel\bli\bif\b reserved  words, part of any command executed in a
-                      &\b&&\bor |\b||\b| list except the command following the final  &\b&&\b&
+                      The  shell  does  not  exit if the command that fails is
+                      part of the command list immediately following  a  w\bwh\bhi\bil\ble\be
+                      or  u\bun\bnt\bti\bil\bl  keyword, part of the test following the i\bif\bf or
+                      e\bel\bli\bif\breserved words, part of any command executed  in  a
+                      &\b&&\b or |\b||\b| list except the command following the final &\b&&\b&
                       or |\b||\b|, any command in a pipeline but the last, or if the
-                      command's return value is being inverted with !\b!.   If  a
-                      compound  command  other  than a subshell returns a non-
-                      zero status because a command failed while -\b-e\be was  being
-                      ignored,  the  shell  does  not exit.  A trap on E\bER\bRR\bR, if
-                      set, is executed before the shell  exits.   This  option
+                      command's  return  value is being inverted with !\b!.  If a
+                      compound command other than a subshell  returns  a  non-
+                      zero  status because a command failed while -\b-e\be was being
+                      ignored, the shell does not exit.  A  trap  on  E\bER\bRR\bR,  if
+                      set,  is  executed  before the shell exits.  This option
                       applies to the shell environment and each subshell envi-
-                      ronment separately (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
                       above), and may cause subshells to exit before executing
                       all the commands in the subshell.
 
-                      If a compound command or shell function  executes  in  a
-                      context  where -\b-e\be is being ignored, none of the commands
-                      executed within the compound command  or  function  body
-                      will  be  affected  by the -\b-e\be setting, even if -\b-e\be is set
-                      and a command returns a failure status.  If  a  compound
-                      command  or  shell function sets -\b-e\be while executing in a
-                      context where -\b-e\be is ignored, that setting will not  have
-                      any  effect  until  the  compound command or the command
+                      If  a  compound  command or shell function executes in a
+                      context where -\b-e\be is being ignored, none of the  commands
+                      executed  within  the  compound command or function body
+                      will be affected by the -\b-e\be setting, even if  -\b-e\be  is  set
+                      and  a  command returns a failure status.  If a compound
+                      command or shell function sets -\b-e\be while executing  in  a
+                      context  where -\b-e\be is ignored, that setting will not have
+                      any effect until the compound  command  or  the  command
                       containing the function call completes.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember the location of commands as they are looked  up
+              -\b-h\bh      Remember  the location of commands as they are looked up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All  arguments  in the form of assignment statements are
-                      placed in the environment for a command, not just  those
+              -\b-k\bk      All arguments in the form of assignment  statements  are
+                      placed  in the environment for a command, not just those
                       that precede the command name.
-              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
-                      on by default for interactive  shells  on  systems  that
-                      support  it  (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All processes run
+              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
+                      on  by  default  for  interactive shells on systems that
+                      support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All  processes  run
                       in a separate process group.  When a background job com-
                       pletes, the shell prints a line containing its exit sta-
                       tus.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to  check a shell script for syntax errors.  This is ig-
+                      to check a shell script for syntax errors.  This is  ig-
                       nored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -5705,10 +5738,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
+                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
+                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -5722,8 +5755,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The effect is as  if  the  shell  command  ``IG-
-                              NOREEOF=10''  had been executed (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
+                              The  effect  is  as  if  the shell command ``IG-
+                              NOREEOF=10'' had been executed (see S\bSh\bhe\bel\bll\b V\bVa\bar\bri\bi-\b-
                               a\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -5738,176 +5771,176 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If set, the return value of a  pipeline  is  the
-                              value  of  the  last (rightmost) command to exit
-                              with a non-zero status, or zero if all  commands
-                              in  the pipeline exit successfully.  This option
+                              If  set,  the  return value of a pipeline is the
+                              value of the last (rightmost)  command  to  exit
+                              with  a non-zero status, or zero if all commands
+                              in the pipeline exit successfully.  This  option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
-                              operation  differs  from  the  POSIX standard to
-                              match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See  S\bSE\bEE\b A\bAL\bLS\bSO\bO
+                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
+                              operation differs from  the  POSIX  standard  to
+                              match  the  standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
                               below for a reference to a document that details
                               how posix mode affects bash's behavior.
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use a vi-style command line  editing  interface.
+                      v\bvi\bi      Use  a  vi-style command line editing interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current  options are printed.  If +\b+o\bo is supplied with no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
-                      current  option  settings  is  displayed on the standard
+                      current options are printed.  If +\b+o\bo is supplied with  no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
+                      current option settings is  displayed  on  the  standard
                       output.
-              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
-                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they ap-
-                      pear in the environment, are ignored.  If the  shell  is
-                      started  with the effective user (group) id not equal to
-                      the real user (group) id, and the -\b-p\bp option is not  sup-
+              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
+                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they  ap-
+                      pear  in  the environment, are ignored.  If the shell is
+                      started with the effective user (group) id not equal  to
+                      the  real user (group) id, and the -\b-p\bp option is not sup-
                       plied, these actions are taken and the effective user id
-                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
-                      plied  at  startup,  the effective user id is not reset.
-                      Turning this option off causes the  effective  user  and
+                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
+                      plied at startup, the effective user id  is  not  reset.
+                      Turning  this  option  off causes the effective user and
                       group ids to be set to the real user and group ids.
               -\b-r\br      Enable restricted shell mode.  This option cannot be un-
                       set once it has been set.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial  parameters  "@"  and  "*", or array variables sub-
-                      scripted with "@" or "*", as an  error  when  performing
-                      parameter  expansion.   If  expansion is attempted on an
-                      unset variable or parameter, the shell prints  an  error
-                      message,  and, if not interactive, exits with a non-zero
+                      cial parameters "@" and "*",  or  array  variables  sub-
+                      scripted  with  "@"  or "*", as an error when performing
+                      parameter expansion.  If expansion is  attempted  on  an
+                      unset  variable  or parameter, the shell prints an error
+                      message, and, if not interactive, exits with a  non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
+              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play the expanded value of P\bPS\bS4\b4, followed by the  command
-                      and  its  expanded arguments or associated word list, to
+                      play  the expanded value of P\bPS\bS4\b4, followed by the command
+                      and its expanded arguments or associated word  list,  to
                       standard error.
-              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
-                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
+              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
+                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command  substitutions,  and commands executed in a sub-
-                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
+                      command substitutions, and commands executed in  a  sub-
+                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If set, the shell does not resolve symbolic  links  when
-                      executing  commands  such  as c\bcd\bd that change the current
+              -\b-P\bP      If  set,  the shell does not resolve symbolic links when
+                      executing commands such as c\bcd\bd that  change  the  current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain of  directories  when  performing  commands  which
+                      chain  of  directories  when  performing  commands which
                       change the current directory.
-              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
                       shell functions, command substitutions, and commands ex-
-                      ecuted  in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+                      ecuted in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and  R\bRE\bET\bTU\bUR\bRN\bN
                       traps are normally not inherited in such cases.
-              -\b--\b-      If no arguments follow this option, then the  positional
+              -\b--\b-      If  no arguments follow this option, then the positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
+                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
                       with a -\b-.
-              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
+              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The options are off by default unless otherwise noted.  Using  +
-              rather  than  -  causes these options to be turned off.  The op-
+              The  options are off by default unless otherwise noted.  Using +
+              rather than - causes these options to be turned  off.   The  op-
               tions can also be specified as arguments to an invocation of the
-              shell.   The current set of options may be found in $\b$-\b-.  The re-
-              turn status is always true unless an invalid option  is  encoun-
+              shell.  The current set of options may be found in $\b$-\b-.  The  re-
+              turn  status  is always true unless an invalid option is encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
-              Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are  un-
-              set.   _\bn must be a non-negative number less than or equal to $\b$#\b#.
-              If _\bn is 0, no parameters are changed.  If _\bn is not given, it  is
+              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
+              Parameters  represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are un-
+              set.  _\bn must be a non-negative number less than or equal to  $\b$#\b#.
+              If  _\bn is 0, no parameters are changed.  If _\bn is not given, it is
               assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional param-
-              eters are not changed.  The return status is greater  than  zero
+              eters  are  not changed.  The return status is greater than zero
               if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
-              Toggle  the values of settings controlling optional shell behav-
-              ior.  The settings can be either those listed below, or, if  the
+              Toggle the values of settings controlling optional shell  behav-
+              ior.   The settings can be either those listed below, or, if the
               -\b-o\bo option is used, those available with the -\b-o\bo option to the s\bse\bet\bt
               builtin command.  With no options, or with the -\b-p\bp option, a list
-              of  all  settable  options  is  displayed, with an indication of
+              of all settable options is  displayed,  with  an  indication  of
               whether or not each is set; if _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output
-              is  restricted to those options.  The -\b-p\bp option causes output to
-              be displayed in a form that may be reused as input.   Other  op-
+              is restricted to those options.  The -\b-p\bp option causes output  to
+              be  displayed  in a form that may be reused as input.  Other op-
               tions have the following meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
+              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
-                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
+                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
+                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
                      wise.
-              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If either -\b-s\bs or -\b-u\bu is used  with  no  _\bo_\bp_\bt_\bn_\ba_\bm_\be  arguments,  s\bsh\bho\bop\bpt\bt
-              shows  only  those options which are set or unset, respectively.
-              Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are  disabled  (unset)
+              If  either  -\b-s\bs  or  -\b-u\bu  is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
+              shows only those options which are set or  unset,  respectively.
+              Unless  otherwise  noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
               by default.
 
-              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
-              are enabled, non-zero otherwise.  When setting or unsetting  op-
-              tions,  the  return  status  is  zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+              The return status when listing options is zero if  all  _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are  enabled, non-zero otherwise.  When setting or unsetting op-
+              tions, the return status is zero unless  an  _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
               a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
-                      If set, the shell suppresses multiple evaluation of  as-
-                      sociative  array subscripts during arithmetic expression
-                      evaluation, while executing builtins  that  can  perform
-                      variable  assignments, and while executing builtins that
+                      If  set, the shell suppresses multiple evaluation of as-
+                      sociative array subscripts during arithmetic  expression
+                      evaluation,  while  executing  builtins that can perform
+                      variable assignments, and while executing builtins  that
                       perform array dereferencing.
-              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
-                      is  executed  as  if it were the argument to the c\bcd\bd com-
+              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
+                      is executed as if it were the argument to  the  c\bcd\b com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If set, an argument to the c\bcd\bd builtin  command  that  is
-                      not  a directory is assumed to be the name of a variable
+                      If  set,  an  argument to the c\bcd\bd builtin command that is
+                      not a directory is assumed to be the name of a  variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
+                      ponent in a c\bcd\bd command will be  corrected.   The  errors
                       checked for are transposed characters, a missing charac-
-                      ter,  and  one  character  too many.  If a correction is
-                      found, the corrected filename is printed, and  the  com-
-                      mand  proceeds.  This option is only used by interactive
+                      ter, and one character too many.   If  a  correction  is
+                      found,  the  corrected filename is printed, and the com-
+                      mand proceeds.  This option is only used by  interactive
                       shells.
               c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
                       If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
-                      ble  exists  before  trying  to execute it.  If a hashed
-                      command no longer exists, a normal path search  is  per-
+                      ble exists before trying to execute  it.   If  a  hashed
+                      command  no  longer exists, a normal path search is per-
                       formed.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs before exiting an interactive shell.  If  any  jobs
+                      jobs  before  exiting an interactive shell.  If any jobs
                       are running, this causes the exit to be deferred until a
-                      second exit is attempted without an intervening  command
+                      second  exit is attempted without an intervening command
                       (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  The shell always postpones ex-
                       iting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If set, b\bba\bas\bsh\bh checks the window size after each  external
-                      (non-builtin)  command  and,  if  necessary, updates the
-                      values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS.  This option is enabled  by
+                      If  set, b\bba\bas\bsh\bh checks the window size after each external
+                      (non-builtin) command and,  if  necessary,  updates  the
+                      values  of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS.  This option is enabled by
                       default.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
-                      line command in the same  history  entry.   This  allows
-                      easy  re-editing of multi-line commands.  This option is
-                      enabled by default, but only has an  effect  if  command
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
+                      line  command  in  the  same history entry.  This allows
+                      easy re-editing of multi-line commands.  This option  is
+                      enabled  by  default,  but only has an effect if command
                       history is enabled, as described above under H\bHI\bIS\bST\bTO\bOR\bRY\bY.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
@@ -5917,122 +5950,122 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               c\bco\bom\bmp\bpa\bat\bt4\b43\b3
               c\bco\bom\bmp\bpa\bat\bt4\b44\b4
               c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-                      These  control aspects of the shell's compatibility mode
+                      These control aspects of the shell's compatibility  mode
                       (see S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below).
 
               c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
-                      If set, b\bba\bas\bsh\bh quotes all shell  metacharacters  in  file-
-                      names  and  directory  names when performing completion.
+                      If  set,  b\bba\bas\bsh\bh  quotes all shell metacharacters in file-
+                      names and directory names  when  performing  completion.
                       If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
-                      lar  sign from the set of characters that will be quoted
-                      in completed filenames when these metacharacters  appear
-                      in  shell  variable references in words to be completed.
-                      This means that dollar signs in variable names that  ex-
-                      pand  to  directories  will  not be quoted; however, any
-                      dollar signs appearing in filenames will not be  quoted,
-                      either.   This  is  active only when bash is using back-
-                      slashes to quote completed filenames.  This variable  is
-                      set  by  default,  which is the default bash behavior in
+                      lar sign from the set of characters that will be  quoted
+                      in  completed filenames when these metacharacters appear
+                      in shell variable references in words to  be  completed.
+                      This  means that dollar signs in variable names that ex-
+                      pand to directories will not  be  quoted;  however,  any
+                      dollar  signs appearing in filenames will not be quoted,
+                      either.  This is active only when bash  is  using  back-
+                      slashes  to quote completed filenames.  This variable is
+                      set by default, which is the default  bash  behavior  in
                       versions through 4.2.
 
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
-                      of  word  expansion when performing filename completion.
-                      This changes the contents of the readline  editing  buf-
-                      fer.   If  not  set,  b\bba\bas\bsh\bh attempts to preserve what the
+                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
+                      of word expansion when performing  filename  completion.
+                      This  changes  the contents of the readline editing buf-
+                      fer.  If not set, b\bba\bas\bsh\bh attempts  to  preserve  what  the
                       user typed.
 
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
-                      names  during word completion if the directory name ini-
+                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
+                      names during word completion if the directory name  ini-
                       tially supplied does not exist.
 
-              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
-                      the  results of pathname expansion.  The filenames `\b``\b`.\b.'\b''\b'
-                      and `\b``\b`.\b..\b.'\b''\b'  must always be matched explicitly,  even  if
+              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
+                      the results of pathname expansion.  The filenames  `\b``\b`.\b.'\b''\b'
+                      and  `\b``\b`.\b..\b.'\b''\b'   must always be matched explicitly, even if
                       d\bdo\bot\btg\bgl\blo\bob\bb is set.
 
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not execute the file specified as  an  argument  to  the
-                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
+                      not  execute  the  file  specified as an argument to the
+                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
                       exit if e\bex\bxe\bec\bc fails.
 
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If set, aliases are expanded as  described  above  under
+                      If  set,  aliases  are expanded as described above under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
 
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If set at shell invocation, or in a shell startup  file,
+                      If  set at shell invocation, or in a shell startup file,
                       arrange to execute the debugger profile before the shell
-                      starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set  af-
-                      ter  invocation,  behavior intended for use by debuggers
+                      starts,  identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set af-
+                      ter invocation, behavior intended for use  by  debuggers
                       is enabled:
 
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
 
-                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             non-zero  value,  the next command is skipped and
+                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             non-zero value, the next command is  skipped  and
                              not executed.
 
-                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             value  of 2, and the shell is executing in a sub-
-                             routine (a shell function or a shell script  exe-
-                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), the shell
+                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             value of 2, and the shell is executing in a  sub-
+                             routine  (a shell function or a shell script exe-
+                             cuted by the .\b. or  s\bso\bou\bur\brc\bce\be  builtins),  the  shell
                              simulates a call to r\bre\bet\btu\bur\brn\bn.
 
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
                              in their descriptions above).
 
-                      5\b5.\b.     Function  tracing  is  enabled: command substitu-
+                      5\b5.\b.     Function tracing is  enabled:  command  substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
 
-                      6\b6.\b.     Error  tracing  is enabled: command substitution,
-                             shell functions, and  subshells  invoked  with  (\b(
+                      6\b6.\b.     Error tracing is enabled:  command  substitution,
+                             shell  functions,  and  subshells  invoked with (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
 
               e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
                       above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
 
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
-                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
+                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
+                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
                       quotes.  This option is enabled by default.
 
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If set, patterns which fail to  match  filenames  during
+                      If  set,  patterns  which fail to match filenames during
                       pathname expansion result in an expansion error.
 
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
-                      variable cause words to be ignored when performing  word
+                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
+                      variable  cause words to be ignored when performing word
                       completion even if the ignored words are the only possi-
-                      ble completions.  See S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS above  for  a  de-
-                      scription  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option is enabled by de-
+                      ble  completions.   See  S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS above for a de-
+                      scription of F\bFI\bIG\bGN\bNO\bOR\bRE\bE.  This option  is  enabled  by  de-
                       fault.
 
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If set,  range  expressions  used  in  pattern  matching
-                      bracket  expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave
-                      as if in the traditional C locale when  performing  com-
-                      parisons.   That  is, the current locale's collating se-
-                      quence is not taken into account, so b\bb will not  collate
-                      between  A\bA  and  B\bB,  and upper-case and lower-case ASCII
+                      If  set,  range  expressions  used  in  pattern matching
+                      bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above)  behave
+                      as  if  in the traditional C locale when performing com-
+                      parisons.  That is, the current locale's  collating  se-
+                      quence  is not taken into account, so b\bb will not collate
+                      between A\bA and B\bB, and  upper-case  and  lower-case  ASCII
                       characters will collate together.
 
               g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
-                      If set, pathname expansion will never  match  the  file-
+                      If  set,  pathname  expansion will never match the file-
                       names `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b', even if the pattern begins with
                       a `\b``\b`.\b.'\b''\b'.  This option is enabled by default.
 
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text  will  match all files and zero or more directories
-                      and subdirectories.  If the pattern is followed by a  /\b/,
+                      text will match all files and zero or  more  directories
+                      and  subdirectories.  If the pattern is followed by a /\b/,
                       only directories and subdirectories match.
 
               g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
@@ -6040,25 +6073,25 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       GNU error message format.
 
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If set, the history list is appended to the  file  named
+                      If  set,  the history list is appended to the file named
                       by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell ex-
                       its, rather than overwriting the file.
 
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
                       opportunity to re-edit a failed history substitution.
 
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
-                      tory substitution are  not  immediately  passed  to  the
-                      shell  parser.   Instead,  the  resulting line is loaded
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
+                      tory  substitution  are  not  immediately  passed to the
+                      shell parser.  Instead, the  resulting  line  is  loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
 
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform hostname completion when a word containing  a  @\b@
-                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform  hostname  completion when a word containing a @\b@
+                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
 
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
@@ -6066,23 +6099,23 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       active login shell exits.
 
               i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt
-                      If  set,  command substitution inherits the value of the
-                      e\ber\brr\bre\bex\bxi\bit\boption, instead of unsetting it in the  subshell
-                      environment.   This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be is
+                      If set, command substitution inherits the value  of  the
+                      e\ber\brr\bre\bex\bxi\bit\b option, instead of unsetting it in the subshell
+                      environment.  This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\b is
                       enabled.
 
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and  all remaining characters on that line to be ignored
-                      in an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This  op-
+                      and all remaining characters on that line to be  ignored
+                      in  an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This op-
                       tion is enabled by default.
 
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If  set,  and  job control is not active, the shell runs
+                      If set, and job control is not active,  the  shell  runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
 
-              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
 
@@ -6093,54 +6126,54 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       tribute is not inherited.
 
               l\blo\boc\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt
-                      If set, calling u\bun\bns\bse\bet\bt on  local  variables  in  previous
-                      function  scopes  marks  them so subsequent lookups find
-                      them unset until that function returns. This is  identi-
-                      cal  to the behavior of unsetting local variables at the
+                      If  set,  calling  u\bun\bns\bse\bet\bt  on local variables in previous
+                      function scopes marks them so  subsequent  lookups  find
+                      them  unset until that function returns. This is identi-
+                      cal to the behavior of unsetting local variables at  the
                       current function scope.
 
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The shell sets this option if it is started as  a  login
-                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
+                      The  shell  sets this option if it is started as a login
+                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
                       changed.
 
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
-                      been  accessed  since  the last time it was checked, the
-                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
+                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
+                      been accessed since the last time it  was  checked,  the
+                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
                       played.
 
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will not at-
-                      tempt to search the P\bPA\bAT\bTH\bH for possible  completions  when
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh  will  not  at-
+                      tempt  to  search the P\bPA\bAT\bTH\bH for possible completions when
                       completion is attempted on an empty line.
 
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
+                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
+                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands, when performing pattern substi-
-                      tution word expansions, or when filtering possible  com-
+                      tution  word expansions, or when filtering possible com-
                       pletions as part of programmable completion.
 
               n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn
-                      If  set,  b\bba\bas\bsh\bh encloses the translated results of $"..."
-                      quoting in single quotes instead of double  quotes.   If
+                      If set, b\bba\bas\bsh\bh encloses the translated results  of  $"..."
+                      quoting  in  single quotes instead of double quotes.  If
                       the string is not translated, this has no effect.
 
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh allows patterns which match no files (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to  a  null  string,
+                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
+                      P\bPa\bat\bth\bhn\bna\bam\bme\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
                       rather than themselves.
 
               p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt
                       If set, b\bba\bas\bsh\bh expands occurrences of &\b& in the replacement
-                      string of pattern substitution to the  text  matched  by
-                      the  pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+                      string  of  pattern  substitution to the text matched by
+                      the pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above.  This option is enabled by default.
 
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
@@ -6149,69 +6182,69 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
 
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp_\b_a\bal\bli\bia\bas\bs
-                      If set, and programmable  completion  is  enabled,  b\bba\bas\bsh\bh
-                      treats  a command name that doesn't have any completions
-                      as a possible alias and attempts alias expansion. If  it
-                      has  an alias, b\bba\bas\bsh\bh attempts programmable completion us-
+                      If  set,  and  programmable  completion is enabled, b\bba\bas\bsh\bh
+                      treats a command name that doesn't have any  completions
+                      as  a possible alias and attempts alias expansion. If it
+                      has an alias, b\bba\bas\bsh\bh attempts programmable completion  us-
                       ing the command word resulting from the expanded alias.
 
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand  substitution,  arithmetic expansion, and quote re-
-                      moval after being expanded  as  described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand substitution, arithmetic expansion, and  quote  re-
+                      moval  after  being  expanded  as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
 
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets  this  option  if  it is started in re-
-                      stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).   The  value
-                      may  not be changed.  This is not reset when the startup
-                      files are executed, allowing the startup files  to  dis-
+                      The shell sets this option  if  it  is  started  in  re-
+                      stricted  mode  (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
+                      may not be changed.  This is not reset when the  startup
+                      files  are  executed, allowing the startup files to dis-
                       cover whether or not a shell is restricted.
 
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
                       the shift count exceeds the number of positional parame-
                       ters.
 
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the .\b. (s\bso\bou\bur\brc\bce\be) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find the directory containing the file  supplied  as  an
+                      find  the  directory  containing the file supplied as an
                       argument.  This option is enabled by default.
 
               v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be
-                      If  set, the shell automatically closes file descriptors
+                      If set, the shell automatically closes file  descriptors
                       assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see R\bRE\bE-\b-
-                      D\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\b above)  instead of leaving them open when the
+                      D\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\babove) instead of leaving them open  when  the
                       command completes.
 
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If set, the e\bec\bch\bho\bo builtin  expands  backslash-escape  se-
+                      If  set,  the  e\bec\bch\bho\bo builtin expands backslash-escape se-
                       quences by default.
 
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
-              signal.  A login shell, or a shell without job control  enabled,
-              cannot  be suspended; the -\b-f\bf option can be used to override this
-              and force the suspension.  The return status  is  0  unless  the
-              shell  is  a login shell or job control is not enabled and -\b-f\bf is
+              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              signal.   A login shell, or a shell without job control enabled,
+              cannot be suspended; the -\b-f\bf option can be used to override  this
+              and  force  the  suspension.   The return status is 0 unless the
+              shell is a login shell or job control is not enabled and  -\b-f\b is
               not supplied.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return a status of 0 (true) or 1 (false) depending on the evalu-
               ation of the conditional expression _\be_\bx_\bp_\br.  Each operator and op-
-              erand must be a separate argument.  Expressions are composed  of
-              the  primaries  described  above  under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
-              t\bte\bes\bst\bdoes not accept any options, nor does it accept and  ignore
+              erand  must be a separate argument.  Expressions are composed of
+              the primaries described  above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\b E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              t\bte\bes\bst\b does not accept any options, nor does it accept and ignore
               an argument of -\b--\b- as signifying the end of options.
 
-              Expressions  may  be  combined  using  the  following operators,
-              listed in decreasing order of precedence.   The  evaluation  de-
-              pends  on  the  number of arguments; see below.  Operator prece-
+              Expressions may  be  combined  using  the  following  operators,
+              listed  in  decreasing  order of precedence.  The evaluation de-
+              pends on the number of arguments; see  below.   Operator  prece-
               dence is used when there are five or more arguments.
               !\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
               (\b( _\be_\bx_\bp_\br )\b)
-                     Returns the value of _\be_\bx_\bp_\br.  This may be used to  override
+                     Returns  the value of _\be_\bx_\bp_\br.  This may be used to override
                      the normal precedence of operators.
               _\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
                      True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
@@ -6228,157 +6261,157 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      null.
               2 arguments
                      If the first argument is !\b!, the expression is true if and
-                     only if the second argument is null.  If the first  argu-
-                     ment  is  one  of  the unary conditional operators listed
-                     above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS,  the  expression  is
+                     only  if the second argument is null.  If the first argu-
+                     ment is one of the  unary  conditional  operators  listed
+                     above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL  E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
                      true if the unary test is true.  If the first argument is
                      not a valid unary conditional operator, the expression is
                      false.
               3 arguments
                      The following conditions are applied in the order listed.
-                     If the second argument is one of the  binary  conditional
+                     If  the  second argument is one of the binary conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using  the first and third arguments as operands.  The -\b-a\ba
-                     and -\b-o\bo operators are  considered  binary  operators  when
-                     there  are  three arguments.  If the first argument is !\b!,
-                     the value is the negation of the two-argument test  using
+                     using the first and third arguments as operands.  The  -\b-a\ba
+                     and  -\b-o\bo  operators  are  considered binary operators when
+                     there are three arguments.  If the first argument  is  !\b!,
+                     the  value is the negation of the two-argument test using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is  the one-argument test of the second argument.  Other-
+                     is the one-argument test of the second argument.   Other-
                      wise, the expression is false.
               4 arguments
                      The following conditions are applied in the order listed.
                      If the first argument is !\b!, the result is the negation of
-                     the three-argument expression composed of  the  remaining
-                     arguments.   the  two-argument  test using the second and
-                     third arguments.  If the first argument is exactly (\b and
-                     the  fourth argument is exactly )\b), the result is the two-
-                     argument test of the second and third arguments.   Other-
+                     the  three-argument  expression composed of the remaining
+                     arguments.  the two-argument test using  the  second  and
+                     third  arguments.  If the first argument is exactly (\b( and
+                     the fourth argument is exactly )\b), the result is the  two-
+                     argument  test of the second and third arguments.  Other-
                      wise, the expression is parsed and evaluated according to
                      precedence using the rules listed above.
               5 or more arguments
-                     The expression  is  parsed  and  evaluated  according  to
+                     The  expression  is  parsed  and  evaluated  according to
                      precedence using the rules listed above.
 
-              When  used  with  t\bte\bes\bst\bt  or [\b[, the <\b< and >\b> operators sort lexico-
+              When used with t\bte\bes\bst\bt or [\b[, the <\b< and  >\b>  operators  sort  lexico-
               graphically using ASCII ordering.
 
-       t\bti\bim\bme\bes\bs  Print the accumulated user and system times for  the  shell  and
+       t\bti\bim\bme\bes\bs  Print  the  accumulated  user and system times for the shell and
               for processes run from the shell.  The return status is 0.
 
        t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
               The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
               receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and there is a
-              single  _\bs_\bi_\bg_\bs_\bp_\be_\bc)  or  -\b-,  each  specified signal is reset to its
-              original disposition (the value it  had  upon  entrance  to  the
-              shell).   If  _\ba_\bc_\bt_\bi_\bo_\bn  is the null string the signal specified by
-              each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it  in-
+              single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified  signal  is  reset  to  its
+              original  disposition  (the  value  it  had upon entrance to the
+              shell).  If _\ba_\bc_\bt_\bi_\bo_\bn is the null string the  signal  specified  by
+              each  _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it in-
               vokes.
 
-              If  no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+              If no arguments are supplied, t\btr\bra\bap\bp displays the actions  associ-
               ated with each trapped signal as a set of t\btr\bra\bap\bp commands that can
-              be  reused as shell input to restore the current signal disposi-
-              tions.  If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is  not  present,  then  t\btr\bra\bap\bp
-              displays  the  actions  associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
+              be reused as shell input to restore the current signal  disposi-
+              tions.   If  -\b-p\bp  is  given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
+              displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc  or,  if  none
               are supplied, for all trapped signals, as a set of t\btr\bra\bap\bp commands
-              that  can be reused as shell input to restore the current signal
-              dispositions.  The -\b-P\bP option  behaves  similarly,  but  displays
-              only  the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  -\b-P\bP re-
-              quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  The -\b-P\bP or -\b-p\bp  options  to
-              t\btr\bra\bap\b may  be used in a subshell environment (e.g., command sub-
-              stitution) and, as long as they are used before t\btr\bra\bap\bp is used  to
-              change  a  signal's handling, will display the state of its par-
+              that can be reused as shell input to restore the current  signal
+              dispositions.   The  -\b-P\bP  option  behaves similarly, but displays
+              only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  -\b-P\b re-
+              quires  at  least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  The -\b-P\bP or -\b-p\bp options to
+              t\btr\bra\bap\bmay be used in a subshell environment (e.g.,  command  sub-
+              stitution)  and, as long as they are used before t\btr\bra\bap\bp is used to
+              change a signal's handling, will display the state of  its  par-
               ent's traps.
 
-              The -\b-l\bl option causes t\btr\bra\bap\bp to print a list of  signal  names  and
-              their  corresponding  numbers.   Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal
-              name defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal  number.   Signal  names
+              The  -\b-l\bl  option  causes t\btr\bra\bap\bp to print a list of signal names and
+              their corresponding numbers.  Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is  either  a  signal
+              name  defined  in  <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number.  Signal names
               are case insensitive and the S\bSI\bIG\bG prefix is optional.
 
-              If  a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit
-              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the  command  _\ba_\bc_\bt_\bi_\bo_\b is
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on  exit
+              from  the  shell.   If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\bc_\bt_\bi_\bo_\bn is
               executed before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
-              _\bs_\be_\bl_\be_\bc_\bcommand, (( arithmetic command, [[  conditional  command,
+              _\bs_\be_\bl_\be_\bc_\b command,  (( arithmetic command, [[ conditional command,
               arithmetic _\bf_\bo_\br command, and before the first command executes in
-              a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).  Refer  to  the  de-
-              scription  of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for de-
-              tails of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is  R\bRE\bET\bTU\bUR\bRN\bN,
-              the  command  _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function or a
-              script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins  finishes  execut-
+              a  shell  function  (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).  Refer to the de-
+              scription of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt  builtin  for  de-
+              tails  of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN,
+              the command _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function  or  a
+              script  executed  with the .\b. or s\bso\bou\bur\brc\bce\be builtins finishes execut-
               ing.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed  whenever  a
               pipeline (which may consist of a single simple command), a list,
               or a compound command returns a non-zero exit status, subject to
-              the following conditions.  The E\bER\bRR\bR trap is not executed  if  the
+              the  following  conditions.  The E\bER\bRR\bR trap is not executed if the
               failed command is part of the command list immediately following
-              a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an  _\bi_\b statement,
+              a  w\bwh\bhi\bil\ble\be  or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
               part of a command executed in a &\b&&\b& or |\b||\b| list except the command
-              following the final &\b&&\b& or |\b||\b|, any command in a pipeline but  the
-              last,  or  if the command's return value is being inverted using
+              following  the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+              last, or if the command's return value is being  inverted  using
               !\b!.  These are the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) op-
               tion.
 
               When the shell is not interactive, signals ignored upon entry to
               the shell cannot be trapped or reset.  Interactive shells permit
               trapping signals ignored on entry.  Trapped signals that are not
-              being ignored are reset to their original values in  a  subshell
-              or  subshell environment when one is created.  The return status
+              being  ignored  are reset to their original values in a subshell
+              or subshell environment when one is created.  The return  status
               is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
-              With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted  if
+              With  no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
               used as a command name.  If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
-              string which is one of _\ba_\bl_\bi_\ba_\bs,  _\bk_\be_\by_\bw_\bo_\br_\bd,  _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn,  _\bb_\bu_\bi_\bl_\bt_\bi_\bn,  or
-              _\bf_\bi_\bl_\b if  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word, function,
-              builtin, or executable disk file, respectively.  If the _\bn_\ba_\bm_\b is
-              not  found, then nothing is printed, and t\bty\byp\bpe\be returns a non-zero
-              exit status.  If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns  the
-              name  of  the  executable  file that would be found by searching
-              $\b$P\bPA\bAT\bTH\bif _\bn_\ba_\bm_\be were specified as a command name,  or  nothing  if
-              ``type  -t name'' would not return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a
-              P\bPA\bAT\bTH\bsearch for each _\bn_\ba_\bm_\be, even if ``type -t  name''  would  not
+              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
+              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
+              builtin,  or executable disk file, respectively.  If the _\bn_\ba_\bm_\be is
+              not found, then nothing is printed, and t\bty\byp\bpe\be returns a  non-zero
+              exit  status.  If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the
+              name of the executable file that would  be  found  by  searching
+              $\b$P\bPA\bAT\bTH\b if  _\bn_\ba_\bm_\be  were specified as a command name, or nothing if
+              ``type -t name'' would not return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces  a
+              P\bPA\bAT\bTH\b search  for  each _\bn_\ba_\bm_\be, even if ``type -t name'' would not
               return _\bf_\bi_\bl_\be.  If a command is hashed, -\b-p\bp and -\b-P\bP print the hashed
-              value, which is not necessarily the file that appears  first  in
-              P\bPA\bAT\bTH\bH.   If  the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of the places
-              that contain a command named _\bn_\ba_\bm_\be.  This includes  aliases,  re-
-              served  words,  functions, and builtins, but the path search op-
+              value,  which  is not necessarily the file that appears first in
+              P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of  the  places
+              that  contain  a command named _\bn_\ba_\bm_\be.  This includes aliases, re-
+              served words, functions, and builtins, but the path  search  op-
               tions (-\b-p\bp and -\b-P\bP) can be supplied to restrict the output to exe-
-              cutable  files.   t\bty\byp\bpe\be does not consult the table of hashed com-
+              cutable files.  t\bty\byp\bpe\be does not consult the table of  hashed  com-
               mands when using -\b-a\ba with -\b-p\bp, and only performs a P\bPA\bAT\bTH\bH search for
-              _\bn_\ba_\bm_\be.   The  -\b-f\bf option suppresses shell function lookup, as with
-              the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true if all of the  arguments
+              _\bn_\ba_\bm_\be.  The -\b-f\bf option suppresses shell function lookup,  as  with
+              the  c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true if all of the arguments
               are found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
-              Provides  control  over the resources available to the shell and
-              to processes started by it, on systems that allow such  control.
+              Provides control over the resources available to the  shell  and
+              to  processes started by it, on systems that allow such control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for the given resource.  A hard limit cannot be increased  by  a
-              non-root  user  once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              for  the  given resource.  A hard limit cannot be increased by a
+              non-root user once it is set; a soft limit may be  increased  up
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current hard limit, the current soft limit, and  no  limit,  re-
-              spectively.   If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
+              current  hard  limit,  the current soft limit, and no limit, re-
+              spectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the  soft
               limit of the resource is printed, unless the -\b-H\bH option is given.
-              When  more  than  one  resource is specified, the limit name and
-              unit, if appropriate, are printed before the value.   Other  op-
+              When more than one resource is specified,  the  limit  name  and
+              unit,  if  appropriate, are printed before the value.  Other op-
               tions are interpreted as follows:
               -\b-a\ba     All current limits are reported; no limits are set
               -\b-b\bb     The maximum socket buffer size
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-k\bk     The maximum number of kqueues that may be allocated
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -6387,134 +6420,134 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The maximum number of processes  available  to  a  single
+              -\b-u\bu     The  maximum  number  of  processes available to a single
                      user
-              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
+              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-P\bP     The maximum number of pseudoterminals
-              -\b-R\bR     The maximum time  a  real-time  process  can  run  before
+              -\b-R\bR     The  maximum  time  a  real-time  process  can run before
                      blocking, in microseconds
               -\b-T\bT     The maximum number of threads
 
-              If  _\bl_\bi_\bm_\bi_\bt  is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
-              new value of the specified resource.  If  no  option  is  given,
-              then  -\b-f\bf is assumed.  Values are in 1024-byte increments, except
-              for -\b-t\bt, which is in seconds; -\b-R\bR, which is in  microseconds;  -\b-p\bp,
-              which  is  in  units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
-              -\b-u\bu, which are unscaled values; and, when in posix mode,  -\b-c\b and
-              -\b-f\bf,  which  are  in 512-byte increments.  The return status is 0
-              unless an invalid option or argument is supplied,  or  an  error
+              If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt  is  the
+              new  value  of  the  specified resource.  If no option is given,
+              then -\b-f\bf is assumed.  Values are in 1024-byte increments,  except
+              for  -\b-t\bt,  which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
+              which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb,  -\b-k\bk,  -\b-n\bn,  and
+              -\b-u\bu,  which  are unscaled values; and, when in posix mode, -\b-c\bc and
+              -\b-f\bf, which are in 512-byte increments.  The return  status  is  0
+              unless  an  invalid  option or argument is supplied, or an error
               occurs while setting a new limit.
 
        u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
               The user file-creation mask is set to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with
-              a digit, it is interpreted as an octal number; otherwise  it  is
-              interpreted  as a symbolic mode mask similar to that accepted by
-              _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, the current value of the mask  is
-              printed.   The  -\b-S\bS  option causes the mask to be printed in sym-
-              bolic form; the default output is an octal number.   If  the  -\b-p\bp
+              a  digit,  it is interpreted as an octal number; otherwise it is
+              interpreted as a symbolic mode mask similar to that accepted  by
+              _\bc_\bh_\bm_\bo_\bd(1).   If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+              printed.  The -\b-S\bS option causes the mask to be  printed  in  sym-
+              bolic  form;  the  default output is an octal number.  If the -\b-p\bp
               option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
               that may be reused as input.  The return status is 0 if the mode
-              was  successfully  changed  or if no _\bm_\bo_\bd_\be argument was supplied,
+              was successfully changed or if no _\bm_\bo_\bd_\be  argument  was  supplied,
               and false otherwise.
 
        u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
-              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
-              supplied,  all  alias definitions are removed.  The return value
+              Remove  each  _\bn_\ba_\bm_\be  from  the list of defined aliases.  If -\b-a\ba is
+              supplied, all alias definitions are removed.  The  return  value
               is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
 
        u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
-              For each _\bn_\ba_\bm_\be, remove the corresponding  variable  or  function.
+              For  each  _\bn_\ba_\bm_\be,  remove the corresponding variable or function.
               If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
-              and that variable is removed.  Read-only variables  may  not  be
-              unset.   If  -\b-f\bf  is specified, each _\bn_\ba_\bm_\be refers to a shell func-
-              tion, and the function definition is removed.  If the -\b-n\b option
-              is  supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
-              _\bn_\ba_\bm_\bwill be unset rather than the variable it  references.   -\b-n\bn
-              has  no  effect if the -\b-f\bf option is supplied.  If no options are
-              supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is  no  vari-
-              able  by that name, a function with that name, if any, is unset.
-              Each unset variable or function is removed from the  environment
-              passed   to   subsequent  commands.   If  any  of  B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
+              and  that  variable  is removed.  Read-only variables may not be
+              unset.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to  a  shell  func-
+              tion,  and the function definition is removed.  If the -\b-n\bn option
+              is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\b attribute,
+              _\bn_\ba_\bm_\b will  be unset rather than the variable it references.  -\b-n\bn
+              has no effect if the -\b-f\bf option is supplied.  If no  options  are
+              supplied,  each  _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+              able by that name, a function with that name, if any, is  unset.
+              Each  unset variable or function is removed from the environment
+              passed  to  subsequent  commands.   If  any   of   B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
               B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0,  B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS,  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD,  B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL,  B\bBA\bAS\bSH\bHP\bPI\bID\bD,
-              C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,  E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
-              N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or  S\bSR\bRA\bAN\bND\bDO\bOM\b are
+              C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,  E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS,  F\bFU\bUN\bNC\bC-\b-
+              N\bNA\bAM\bME\bE,  G\bGR\bRO\bOU\bUP\bPS\bS,  H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
               unset, they lose their special properties, even if they are sub-
               sequently reset.  The exit status is true unless a _\bn_\ba_\bm_\be is read-
               only or may not be unset.
 
        w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd _\b._\b._\b.]
               Wait for each specified child process and return its termination
-              status.  Each _\bi_\bd may be a process ID or a job specification;  if
-              a  job  spec  is given, all processes in that job's pipeline are
-              waited for.  If _\bi_\bd is not given,  w\bwa\bai\bit\bt  waits  for  all  running
-              background  jobs  and the last-executed process substitution, if
+              status.   Each _\bi_\bd may be a process ID or a job specification; if
+              a job spec is given, all processes in that  job's  pipeline  are
+              waited  for.   If  _\bi_\bd  is  not given, w\bwa\bai\bit\bt waits for all running
+              background jobs and the last-executed process  substitution,  if
               its process id is the same as $\b$!\b!, and the return status is zero.
-              If  the  -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
+              If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single  job  from
               the list of _\bi_\bds or, if no _\bi_\bds are supplied, any job, to complete
-              and  returns its exit status.  If none of the supplied arguments
+              and returns its exit status.  If none of the supplied  arguments
               is a child of the shell, or if no arguments are supplied and the
-              shell  has no unwaited-for children, the exit status is 127.  If
-              the -\b-p\bp option is supplied, the process or job identifier of  the
-              job  for  which  the  exit status is returned is assigned to the
-              variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the  option  argument.   The  variable
-              will  be unset initially, before any assignment.  This is useful
-              only when the -\b-n\bn option is supplied.  Supplying the  -\b-f\b option,
-              when  job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
+              shell has no unwaited-for children, the exit status is 127.   If
+              the  -\b-p\bp option is supplied, the process or job identifier of the
+              job for which the exit status is returned  is  assigned  to  the
+              variable  _\bv_\ba_\br_\bn_\ba_\bm_\be  named  by  the option argument.  The variable
+              will be unset initially, before any assignment.  This is  useful
+              only  when  the -\b-n\bn option is supplied.  Supplying the -\b-f\bf option,
+              when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to  ter-
               minate before returning its status, instead of returning when it
-              changes  status.  If _\bi_\bd specifies a non-existent process or job,
-              the return status is 127.  If w\bwa\bai\bit\bt is interrupted by  a  signal,
-              the  return  status will be greater than 128, as described under
-              S\bSI\bIG\bGN\bNA\bAL\bLS\babove.  Otherwise, the return status is the exit  status
+              changes status.  If _\bi_\bd specifies a non-existent process or  job,
+              the  return  status is 127.  If w\bwa\bai\bit\bt is interrupted by a signal,
+              the return status will be greater than 128, as  described  under
+              S\bSI\bIG\bGN\bNA\bAL\bLS\b above.  Otherwise, the return status is the exit status
               of the last process or job waited for.
 
 S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
-       Bash-4.0  introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
-       fied as a set of options to the shopt  builtin  (  c\bco\bom\bmp\bpa\bat\bt3\b31\b1,  c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
-       c\bco\bom\bmp\bpa\bat\bt4\b40\b0,  c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one current compatibil-
-       ity level -- each option  is  mutually  exclusive.   The  compatibility
-       level  is intended to allow users to select behavior from previous ver-
-       sions that is incompatible  with  newer  versions  while  they  migrate
-       scripts  to  use  current  features and behavior. It's intended to be a
+       Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl,  speci-
+       fied  as  a  set  of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
+       c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one current  compatibil-
+       ity  level  --  each  option  is mutually exclusive.  The compatibility
+       level is intended to allow users to select behavior from previous  ver-
+       sions  that  is  incompatible  with  newer  versions while they migrate
+       scripts to use current features and behavior. It's  intended  to  be  a
        temporary solution.
 
-       This section does not mention behavior that is standard for a  particu-
-       lar  version  (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
-       regexp matching operator quotes special regexp characters in the  word,
+       This  section does not mention behavior that is standard for a particu-
+       lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs  of  the
+       regexp  matching operator quotes special regexp characters in the word,
        which is default behavior in bash-3.2 and subsequent versions).
 
-       If  a  user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
-       compatibility levels up to  and  including  the  current  compatibility
-       level.   The  idea  is  that each compatibility level controls behavior
-       that changed in that version of b\bba\bas\bsh\bh, but that behavior may  have  been
-       present  in  earlier versions.  For instance, the change to use locale-
-       based comparisons with the [\b[[\b[ command came  in  bash-4.1,  and  earlier
+       If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior  of  other
+       compatibility  levels  up  to  and  including the current compatibility
+       level.  The idea is that each  compatibility  level  controls  behavior
+       that  changed  in that version of b\bba\bas\bsh\bh, but that behavior may have been
+       present in earlier versions.  For instance, the change to  use  locale-
+       based  comparisons  with  the  [\b[[\b[ command came in bash-4.1, and earlier
        versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
-       ASCII-based comparisons as well.  That granularity may  not  be  suffi-
-       cient  for  all uses, and as a result users should employ compatibility
-       levels carefully.  Read the documentation for a particular  feature  to
+       ASCII-based  comparisons  as  well.  That granularity may not be suffi-
+       cient for all uses, and as a result users should  employ  compatibility
+       levels  carefully.   Read the documentation for a particular feature to
        find out the current behavior.
 
-       Bash-4.3  introduced  a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The value as-
+       Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The  value  as-
        signed to this variable (a decimal version number like 4.2, or an inte-
-       ger  corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+       ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the  com-
        patibility level.
 
-       Starting with bash-4.4, Bash has begun deprecating older  compatibility
-       levels.   Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
+       Starting  with bash-4.4, Bash has begun deprecating older compatibility
+       levels.  Eventually, the options will be removed in favor of  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
        P\bPA\bAT\bT.
 
-       Bash-5.0 is the final version for which there  will  be  an  individual
-       shopt  option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
+       Bash-5.0  is  the  final  version for which there will be an individual
+       shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\b on
        bash-5.0 and later versions.
 
-       The following table describes the behavior changes controlled  by  each
+       The  following  table describes the behavior changes controlled by each
        compatibility level setting.  The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
        setting the compatibility level to _\bN_\bN using one of the following mecha-
-       nisms.   For versions prior to bash-5.0, the compatibility level may be
-       set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.   For  bash-4.3  and
-       later  versions,  the  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+       nisms.  For versions prior to bash-5.0, the compatibility level may  be
+       set  using  the  corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.  For bash-4.3 and
+       later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and  it  is  re-
        quired for bash-5.1 and later versions.
 
        c\bco\bom\bmp\bpa\bat\bt3\b31\b1
@@ -6522,114 +6555,114 @@ S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
                      ator (=~) has no special effect
 
        c\bco\bom\bmp\bpa\bat\bt3\b32\b2
-              +\bo      interrupting  a  command  list such as "a ; b ; c" causes
-                     the execution  of  the  next  command  in  the  list  (in
-                     bash-4.0  and later versions, the shell acts as if it re-
-                     ceived the interrupt, so interrupting one  command  in  a
+              +\bo      interrupting a command list such as "a ; b  ;  c"  causes
+                     the  execution  of  the  next  command  in  the  list (in
+                     bash-4.0 and later versions, the shell acts as if it  re-
+                     ceived  the  interrupt,  so interrupting one command in a
                      list aborts the execution of the entire list)
 
        c\bco\bom\bmp\bpa\bat\bt4\b40\b0
-              +\bo      the  <\b<  and >\b> operators to the [\b[[\b[ command do not consider
+              +\bo      the <\b< and >\b> operators to the [\b[[\b[ command do  not  consider
                      the current locale when comparing strings; they use ASCII
                      ordering.  Bash versions prior to bash-4.1 use ASCII col-
-                     lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the  current
+                     lation  and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
                      locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
 
        c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-              +\bo      in  _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+              +\bo      in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and  still
                      be recognized as a reserved word (this is POSIX interpre-
                      tation 267)
               +\bo      in _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
-                     single quotes occur in the  _\bw_\bo_\br_\bd  portion  of  a  double-
-                     quoted  parameter expansion and treats them specially, so
-                     that characters within the single quotes  are  considered
+                     single  quotes  occur  in  the  _\bw_\bo_\br_\bd portion of a double-
+                     quoted parameter expansion and treats them specially,  so
+                     that  characters  within the single quotes are considered
                      quoted (this is POSIX interpretation 221)
 
        c\bco\bom\bmp\bpa\bat\bt4\b42\b2
               +\bo      the replacement string in double-quoted pattern substitu-
-                     tion does not undergo quote removal, as it does  in  ver-
+                     tion  does  not undergo quote removal, as it does in ver-
                      sions after bash-4.2
-              +\bo      in  posix mode, single quotes are considered special when
-                     expanding the _\bw_\bo_\br_\bd portion of a  double-quoted  parameter
-                     expansion  and  can  be  used to quote a closing brace or
-                     other special character (this is part of POSIX  interpre-
-                     tation  221);  in  later  versions, single quotes are not
+              +\bo      in posix mode, single quotes are considered special  when
+                     expanding  the  _\bw_\bo_\br_\bd portion of a double-quoted parameter
+                     expansion and can be used to quote  a  closing  brace  or
+                     other  special character (this is part of POSIX interpre-
+                     tation 221); in later versions,  single  quotes  are  not
                      special within double-quoted word expansions
 
        c\bco\bom\bmp\bpa\bat\bt4\b43\b3
-              +\bo      the shell does not print a warning message if an  attempt
-                     is  made  to use a quoted compound assignment as an argu-
-                     ment to declare (e.g., declare  -a  foo='(1  2)').  Later
+              +\bo      the  shell does not print a warning message if an attempt
+                     is made to use a quoted compound assignment as  an  argu-
+                     ment  to  declare  (e.g.,  declare -a foo='(1 2)'). Later
                      versions warn that this usage is deprecated
-              +\bo      word  expansion  errors  are  considered non-fatal errors
-                     that cause the current command to  fail,  even  in  posix
-                     mode  (the  default behavior is to make them fatal errors
+              +\bo      word expansion errors  are  considered  non-fatal  errors
+                     that  cause  the  current  command to fail, even in posix
+                     mode (the default behavior is to make them  fatal  errors
                      that cause the shell to exit)
-              +\bo      when  executing  a  shell  function,   the   loop   state
+              +\bo      when   executing   a   shell  function,  the  loop  state
                      (while/until/etc.)  is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
                      that function will break or continue loops in the calling
-                     context.  Bash-4.4 and later reset the loop state to pre-
+                     context. Bash-4.4 and later reset the loop state to  pre-
                      vent this
 
        c\bco\bom\bmp\bpa\bat\bt4\b44\b4
-              +\bo      the shell sets  up  the  values  used  by  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\b and
-                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b so  they  can expand to the shell's positional
+              +\bo      the  shell  sets  up  the  values  used  by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bso they can expand to  the  shell's  positional
                      parameters even if extended debugging mode is not enabled
-              +\bo      a subshell inherits loops from  its  parent  context,  so
-                     b\bbr\bre\bea\bak\b or  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to exit.
-                     Bash-5.0 and later reset the loop state  to  prevent  the
+              +\bo      a  subshell  inherits  loops  from its parent context, so
+                     b\bbr\bre\bea\bak\bor  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to  exit.
+                     Bash-5.0  and  later  reset the loop state to prevent the
                      exit
-              +\bo      variable  assignments  preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+              +\bo      variable assignments preceding builtins like  e\bex\bxp\bpo\bor\brt\b and
                      r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
                      with the same name in the calling environment even if the
                      shell is not in posix mode
 
        c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-              +\bo      Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated  to  intro-
+              +\bo      Bash-5.1  changed  the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
                      duce slightly more randomness. If the shell compatibility
-                     level is set to 50 or lower, it  reverts  to  the  method
-                     from  bash-5.0 and previous versions, so seeding the ran-
-                     dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\b will
+                     level  is  set  to  50 or lower, it reverts to the method
+                     from bash-5.0 and previous versions, so seeding the  ran-
+                     dom  number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
                      produce the same sequence as in bash-5.0
-              +\bo      If  the  command hash table is empty, bash versions prior
-                     to bash-5.1 printed an informational message to that  ef-
-                     fect,  even  when  producing output that can be reused as
-                     input. Bash-5.1 suppresses that message when the  -\b-l\b op-
+              +\bo      If the command hash table is empty, bash  versions  prior
+                     to  bash-5.1 printed an informational message to that ef-
+                     fect, even when producing output that can  be  reused  as
+                     input.  Bash-5.1  suppresses that message when the -\b-l\bl op-
                      tion is supplied.
 
        c\bco\bom\bmp\bpa\bat\bt5\b51\b1
-              +\bo      The  u\bun\bns\bse\bet\bt  builtin  treats  attempts to unset array sub-
-                     scripts @\b@ and *\b* differently depending on whether the  ar-
-                     ray  is  indexed  or associative, and differently than in
+              +\bo      The u\bun\bns\bse\bet\bt builtin treats attempts  to  unset  array  sub-
+                     scripts  @\b@ and *\b* differently depending on whether the ar-
+                     ray is indexed or associative, and  differently  than  in
                      previous versions.
 
 R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
-       invocation,  the  shell becomes restricted.  A restricted shell is used
-       to set up an environment more controlled than the standard  shell.   It
-       behaves  identically  to b\bba\bas\bsh\bh with the exception that the following are
+       invocation, the shell becomes restricted.  A restricted shell  is  used
+       to  set  up an environment more controlled than the standard shell.  It
+       behaves identically to b\bba\bas\bsh\bh with the exception that the  following  are
        disallowed or not performed:
 
        +\bo      changing directories with c\bcd\bd
 
-       +\bo      setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH,  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE,  E\bEN\bNV\bV,
+       +\bo      setting  or  unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
               or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying  a  filename  containing  a /\b/ as an argument to the .\b.
+       +\bo      specifying a filename containing a /\b/ as an  argument  to  the  .\b.
               builtin command
 
-       +\bo      specifying a filename containing a slash as an argument  to  the
+       +\bo      specifying  a  filename containing a slash as an argument to the
               h\bhi\bis\bst\bto\bor\bry\by builtin command
 
-       +\bo      specifying  a  filename containing a slash as an argument to the
+       +\bo      specifying a filename containing a slash as an argument  to  the
               -\b-p\bp option to the h\bha\bas\bsh\bh builtin command
 
-       +\bo      importing function definitions from  the  shell  environment  at
+       +\bo      importing  function  definitions  from  the shell environment at
               startup
 
-       +\bo      parsing  the  value  of  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+       +\bo      parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from  the  shell  environment  at
               startup
 
        +\bo      redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -6638,28 +6671,28 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
 
-       +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b options
+       +\bo      adding  or  deleting builtin commands with the -\b-f\bf and -\b-d\bd options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
+       +\bo      using the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled  shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
 
-       +\bo      turning off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\b r\bre\be-\b-
+       +\bo      turning  off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\bu r\bre\be-\b-
               s\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl.
 
        These restrictions are enforced after any startup files are read.
 
        When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\bE\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions  in  the  shell
+       M\bMA\bAN\bND\b E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN  above),  r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
        spawned to execute the script.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
        _\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
-       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg  _\bS_\by_\bs_\bt_\be_\bm  _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
+       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b_\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b:  _\bS_\bh_\be_\bl_\bl  _\ba_\bn_\b _\bU_\bt_\bi_\bl_\bi_\b-
        _\bt_\bi_\be_\bs, IEEE --
               http://pubs.opengroup.org/onlinepubs/9699919799/
        http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode
@@ -6677,10 +6710,10 @@ F\bFI\bIL\bLE\bES\bS
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
               The individual per-interactive-shell startup file
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
-              The individual login shell cleanup file, executed when  a  login
+              The  individual  login shell cleanup file, executed when a login
               shell exits
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by
-              The  default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
+              The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves  the
               command history
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -6694,15 +6727,15 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        If you find a bug in b\bba\bas\bsh\bh,\b, you should report it.  But first, you should
-       make  sure  that  it really is a bug, and that it appears in the latest
-       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
+       make sure that it really is a bug, and that it appears  in  the  latest
+       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/          and          _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bg_\bi_\bt_\b._\bs_\ba_\bv_\ba_\bn_\b-
        _\bn_\ba_\bh_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bc_\bg_\bi_\bt_\b/_\bb_\ba_\bs_\bh_\b._\bg_\bi_\bt_\b/_\bs_\bn_\ba_\bp_\bs_\bh_\bo_\bt_\b/_\bb_\ba_\bs_\bh_\b-_\bm_\ba_\bs_\bt_\be_\br_\b._\bt_\ba_\br_\b._\bg_\bz.
 
-       Once you have determined that a bug actually exists,  use  the  _\bb_\ba_\bs_\bh_\bb_\bu_\bg
-       command  to submit a bug report.  If you have a fix, you are encouraged
-       to mail that as well!  Suggestions and `philosophical' bug reports  may
-       be  mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet newsgroup
+       Once  you  have  determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+       command to submit a bug report.  If you have a fix, you are  encouraged
+       to  mail that as well!  Suggestions and `philosophical' bug reports may
+       be mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet  newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        ALL bug reports should include:
@@ -6713,7 +6746,7 @@ B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        A description of the bug behaviour
        A short script or `recipe' which exercises the bug
 
-       _\bb_\ba_\bs_\bh_\bb_\bu_\binserts the first three items automatically into  the  template
+       _\bb_\ba_\bs_\bh_\bb_\bu_\b inserts  the first three items automatically into the template
        it provides for filing a bug report.
 
        Comments and bug reports concerning this manual page should be directed
@@ -6730,10 +6763,10 @@ B\bBU\bUG\bGS\bS
        Shell builtin commands and functions are not stoppable/restartable.
 
        Compound commands and command sequences of the form `a ; b ; c' are not
-       handled gracefully  when  process  suspension  is  attempted.   When  a
-       process  is stopped, the shell immediately executes the next command in
-       the sequence.  It suffices to place the sequence  of  commands  between
-       parentheses  to  force  it  into  a subshell, which may be stopped as a
+       handled  gracefully  when  process  suspension  is  attempted.   When a
+       process is stopped, the shell immediately executes the next command  in
+       the  sequence.   It  suffices to place the sequence of commands between
+       parentheses to force it into a subshell, which  may  be  stopped  as  a
        unit.
 
        Array variables may not (yet) be exported.
@@ -6742,4 +6775,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash 5.2                     2023 April 17                         BASH(1)
+GNU Bash 5.2                      2023 May 14                          BASH(1)
index 06408e0c72761897f8085705b6bb69add839c5f9..1948773dbf99394cd9c6c827c327d3e5c566b16a 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Mon Apr 17 10:35:39 EDT 2023
+.\"    Last Change: Sun May 14 15:32:59 EDT 2023
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2023 April 17" "GNU Bash 5.2"
+.TH BASH 1 "2023 May 14" "GNU Bash 5.2"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -3581,14 +3581,15 @@ expansion as described below.
 .RE
 .SS Command Substitution
 \fICommand substitution\fP allows the output of a command to replace
-the command name.  There are two forms:
+the command itself.
+There are two standard forms:
 .RS
 .PP
 \fB$(\fP\fIcommand\fP\|\fB)\fP
 .RE
-or
+or (deprecated)
 .RS
-\fB\`\fP\fIcommand\fP\fB\`\fP
+\fB\`\fP\fIcommand\fP\fB\`\fP.
 .RE
 .PP
 .B Bash
@@ -3600,7 +3601,7 @@ word splitting.
 The command substitution \fB$(cat \fIfile\fP)\fR can be replaced by
 the equivalent but faster \fB$(< \fIfile\fP)\fR.
 .PP
-When the old-style backquote form of substitution is used,
+With the old-style backquote form of substitution,
 backslash retains its literal meaning except when followed by
 .BR $ ,
 .BR \` ,
@@ -3611,11 +3612,52 @@ command substitution.
 When using the $(\^\fIcommand\fP\|) form, all characters between the
 parentheses make up the command; none are treated specially.
 .PP
+There is an alternate form of command substitution:
+.RS
+.PP
+\fB${\fP\fIC\fP \fIcommand\fP\fB;\fP\|\fB}\fP
+.RE
+.PP
+which executes \fIcommand\fP in the current execution environment.
+This means that side effects of \fIcommand\fP take effect immediately
+in the current execution environment and persist in the current 
+environment after the command completes (e.g., the \fBexit\fP builtin
+will exit the shell).
+.PP
+The character \fIC\fP following the open brace must be a space, tab,
+newline, \fB(\fP, or \fB|\fP, 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).
+\fBBash\fP allows the close brace to be joined to the remaining characters in
+the word without being followed by a shell metacharacter as a reserved
+word would usually require.
+.PP
+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 \fBreturn\fP builtin forces
+\fIcommand\fP to complete;
+however, the rest of the execution environment,
+including the positional parameters, is shared with the caller.
+.PP
+If the first character following the open brace is a \fB(\fP,
+\fIcommand\fP is executed in a subshell, and \fIcommand\fP must be
+terminated by a \fB)\fP. This is similar to the \fB(\fP compound
+command (see \fBCompound Commands\fP above).
+If the first character is a \fB|\fP, the construct expands to the
+value of the \fBREPLY\fP shell variable after \fIcommand\fP executes,
+without removing any trailing newlines,
+and the standard output of \fIcommand\fP remains the same as in the
+calling shell.
+\fBBash\fP creates \fBREPLY\fP as an initially-unset local variable when
+\fIcommand\fP executes, and restores \fBREPLY\fP to the value it had
+before the command substitution after \fIcommand\fP completes,
+as with any local variable.
+.PP
 Command substitutions may be nested.  To nest when using the backquoted form,
 escape the inner backquotes with backslashes.
 .PP
-If the substitution appears within double quotes, word splitting and
-pathname expansion are not performed on the results.
+If the substitution appears within double quotes, \fBbash\fP does not perform
+word splitting and pathname expansion on the results.
 .SS Arithmetic Expansion
 Arithmetic expansion allows the evaluation of an arithmetic expression
 and the substitution of the result.  The format for arithmetic expansion is:
index b3738b574a09204cd764551e437b8f248307ec42..287ac3a3eaa50cd36182dd5d1e1233fc29f32e57 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 April 17<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 May 14<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -2869,8 +2869,10 @@ and
 
 which sort the files on name, file size, modification time, access time,
 inode change time, and number of blocks, respectively.
-For example, a value of <B>-mtime</B> sorts the results in descending
+For example, a value of <I>-mtime</I> sorts the results in descending
 order by modification time (newest first).
+A sort specifier of <I>nosort</I> disables sorting completely; the results
+are returned in the order they are read from the file system,.
 If the sort specifier is missing, it defaults to <I>name</I>,
 so a value of <I>+</I> is equivalent to the null string,
 and a value of <I>-</I> sorts by name in descending order.
@@ -4463,16 +4465,17 @@ expansion as described below.
 <H4>Command Substitution</H4>
 
 <I>Command substitution</I> allows the output of a command to replace
-the command name.  There are two forms:
+the command itself.
+There are two standard forms:
 <DL COMPACT><DT><DD>
 <P>
 
 <B>$(</B><I>command</I><B>)</B>
 </DL>
 
-or
+or (deprecated)
 <DL COMPACT><DT><DD>
-<B>`</B><I>command</I><B>`</B>
+<B>`</B><I>command</I><B>`</B>.
 </DL>
 
 <P>
@@ -4488,7 +4491,7 @@ The command substitution <B>$(cat </B><I>file</I>) can be replaced by
 the equivalent but faster <B>$(&lt; </B><I>file</I>).
 <P>
 
-When the old-style backquote form of substitution is used,
+With the old-style backquote form of substitution,
 backslash retains its literal meaning except when followed by
 <B>$</B>,
 
@@ -4503,12 +4506,60 @@ When using the $(<I>command</I>) form, all characters between the
 parentheses make up the command; none are treated specially.
 <P>
 
+There is an alternate form of command substitution:
+<DL COMPACT><DT><DD>
+<P>
+
+<B>${</B><I>C</I> <I>command</I><B>;</B><B>}</B>
+</DL>
+
+<P>
+
+which executes <I>command</I> in the current execution environment.
+This means that side effects of <I>command</I> take effect immediately
+in the current execution environment and persist in the current 
+environment after the command completes (e.g., the <B>exit</B> builtin
+will exit the shell).
+<P>
+
+The character <I>C</I> following the open brace must be a space, tab,
+newline, <B>(</B>, or <B>|</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>Bash</B> allows the close brace to be joined to the remaining characters in
+the word without being followed by a shell metacharacter as a reserved
+word would usually require.
+<P>
+
+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 <B>return</B> builtin forces
+<I>command</I> to complete;
+however, the rest of the execution environment,
+including the positional parameters, is shared with the caller.
+<P>
+
+If the first character following the open brace is a <B>(</B>,
+<I>command</I> is executed in a subshell, and <I>command</I> must be
+terminated by a <B>)</B>. This is similar to the <B>(</B> compound
+command (see <B>Compound Commands</B> above).
+If the first character is a <B>|</B>, the construct expands to the
+value of the <B>REPLY</B> shell variable after <I>command</I> executes,
+without removing any trailing newlines,
+and the standard output of <I>command</I> remains the same as in the
+calling shell.
+<B>Bash</B> creates <B>REPLY</B> as an initially-unset local variable when
+<I>command</I> executes, and restores <B>REPLY</B> to the value it had
+before the command substitution after <I>command</I> completes,
+as with any local variable.
+<P>
+
 Command substitutions may be nested.  To nest when using the backquoted form,
 escape the inner backquotes with backslashes.
 <P>
 
-If the substitution appears within double quotes, word splitting and
-pathname expansion are not performed on the results.
+If the substitution appears within double quotes, <B>bash</B> does not perform
+word splitting and pathname expansion on the results.
 <A NAME="lbBD">&nbsp;</A>
 <H4>Arithmetic Expansion</H4>
 
@@ -11999,7 +12050,7 @@ in the same way as <B>echo -e</B>.
 <DD>
 causes <B>printf</B> to output the corresponding
 <I>argument</I> in a format that can be reused as shell input.
-<B>%q</B> and <B>%Q</B> use the <B>$''</B> quoting style if any characters
+<B>%q</B> and <B>%Q</B> use the <B>$aqaq</B> quoting style if any characters
 in the argument string require it, and backslash quoting otherwise.
 If the format string uses the <I>printf</I> alternate form, these two
 formats quote the argument string using single quotes.
@@ -14944,7 +14995,7 @@ There may be only one active coprocess at a time.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2023 April 17<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2023 May 14<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -15050,7 +15101,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 bash.1.<BR>
-Time: 18 April 2023 10:26:09 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20230509/doc/bash.1.<BR>
+Time: 14 May 2023 15:37:14 EDT
 </BODY>
 </HTML>
index 67fb0cb61cd524a6b48e5ca297ae2d0a73382389..4c9909dc842d3bab64451642796013b851bb958e 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.2, 20 April 2023).
+Bash shell (version 5.2, 14 May 2023).
 
-   This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 14 May 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    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.2, 20 April 2023).  The Bash home page is
+Bash shell (version 5.2, 14 May 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 14 May 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    Bash contains features that appear in other popular shells, and some
@@ -418,8 +418,8 @@ File: bash.info,  Node: ANSI-C Quoting,  Next: Locale Translation,  Prev: Double
 3.1.2.4 ANSI-C Quoting
 ......................
 
-Character sequences of the form $'STRING' are treated as a special kind
-of single quotes.  The sequence expands to STRING, with
+Character sequences of the form '$'STRING'' are treated as a special
+kind of single quotes.  The sequence expands to STRING, with
 backslash-escaped characters in STRING replaced as specified by the ANSI
 C standard.  Backslash escape sequences, if present, are decoded as
 follows:
@@ -2239,11 +2239,11 @@ File: bash.info,  Node: Command Substitution,  Next: Arithmetic Expansion,  Prev
 --------------------------
 
 Command substitution allows the output of a command to replace the
-command itself.  Command substitution occurs when a command is enclosed
-as follows:
+command itself.  The standard form of command substitution occurs when a
+command is enclosed as follows:
      $(COMMAND)
-or
-     `COMMAND`
+or (deprecated)
+     `COMMAND`.
 
 Bash performs the expansion by executing COMMAND in a subshell
 environment and replacing the command substitution with the standard
@@ -2252,17 +2252,64 @@ newlines are not deleted, but they may be removed during word splitting.
 The command substitution '$(cat FILE)' can be replaced by the equivalent
 but faster '$(< FILE)'.
 
-   When the old-style backquote form of substitution is used, backslash
-retains its literal meaning except when followed by '$', '`', or '\'.
-The first backquote not preceded by a backslash terminates the command
+   With the old-style backquote form of substitution, backslash retains
+its literal meaning except when followed by '$', '`', or '\'.  The first
+backquote not preceded by a backslash terminates the command
 substitution.  When using the '$(COMMAND)' form, all characters between
 the parentheses make up the command; none are treated specially.
 
+   There is an alternate form of command substitution:
+
+     ${C COMMAND; }
+
+which executes COMMAND in the current execution environment.  This means
+that side effects of COMMAND take effect immediately in the current
+execution environment and persist in the current environment after the
+command completes (e.g., the 'exit' builtin will exit the shell).
+
+   The character C following the open brace must be a space, tab,
+newline, '(', or '|', 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).  Bash allows the close brace to be joined to the remaining
+characters in the word without being followed by a shell metacharacter
+as a reserved word would usually require.
+
+   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 'return' builtin forces COMMAND to
+complete; 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 '(', COMMAND is
+executed in a subshell, and COMMAND must be terminated by a ')'.  This
+is similar to the '(' compound command (*note Command Grouping::).  If
+the first character is a '|', the construct expands to the value of the
+'REPLY' shell variable after COMMAND executes, without removing any
+trailing newlines, and the standard output of COMMAND remains the same
+as in the calling shell.  Bash creates 'REPLY' as an initially-unset
+local variable when COMMAND executes, and restores 'REPLY' to the value
+it had before the command substitution after COMMAND completes, as with
+any local variable.
+
+   For example, this construct expands to '12345', and leaves the shell
+variable 'X' unchanged in the current execution environment:
+
+     ${ local X=12345 ; echo $X; }
+
+(not declaring 'X' as local would modify its value in the current
+environment, as with normal shell function execution), while this
+construct does not require any output to expand to '12345':
+
+     ${| REPLY=12345; }
+
+and restores 'REPLY' to the value it had before the command
+substitution.
+
    Command substitutions may be nested.  To nest when using the
 backquoted form, escape the inner backquotes with backslashes.
 
-   If the substitution appears within double quotes, word splitting and
-filename expansion are not performed on the results.
+   If the substitution appears within double quotes, Bash does not
+perform word splitting and filename expansion on the results.
 
 \1f
 File: bash.info,  Node: Arithmetic Expansion,  Next: Process Substitution,  Prev: Command Substitution,  Up: Shell Expansions
@@ -12706,138 +12753,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f888
-Node: Introduction\7f2799
-Node: What is Bash?\7f3012
-Node: What is a shell?\7f4123
-Node: Definitions\7f6658
-Node: Basic Shell Features\7f9606
-Node: Shell Syntax\7f10822
-Node: Shell Operation\7f11845
-Node: Quoting\7f13135
-Node: Escape Character\7f14436
-Node: Single Quotes\7f14918
-Node: Double Quotes\7f15263
-Node: ANSI-C Quoting\7f16538
-Node: Locale Translation\7f17845
-Node: Creating Internationalized Scripts\7f19153
-Node: Comments\7f23267
-Node: Shell Commands\7f23882
-Node: Reserved Words\7f24817
-Node: Simple Commands\7f25570
-Node: Pipelines\7f26221
-Node: Lists\7f29217
-Node: Compound Commands\7f31009
-Node: Looping Constructs\7f32018
-Node: Conditional Constructs\7f34510
-Node: Command Grouping\7f48995
-Node: Coprocesses\7f50470
-Node: GNU Parallel\7f53130
-Node: Shell Functions\7f54044
-Node: Shell Parameters\7f61926
-Node: Positional Parameters\7f66311
-Node: Special Parameters\7f67210
-Node: Shell Expansions\7f70421
-Node: Brace Expansion\7f72545
-Node: Tilde Expansion\7f75276
-Node: Shell Parameter Expansion\7f77894
-Node: Command Substitution\7f96293
-Node: Arithmetic Expansion\7f97645
-Node: Process Substitution\7f98610
-Node: Word Splitting\7f99727
-Node: Filename Expansion\7f101772
-Node: Pattern Matching\7f104702
-Node: Quote Removal\7f109701
-Node: Redirections\7f109993
-Node: Executing Commands\7f119683
-Node: Simple Command Expansion\7f120350
-Node: Command Search and Execution\7f122457
-Node: Command Execution Environment\7f124841
-Node: Environment\7f127873
-Node: Exit Status\7f129533
-Node: Signals\7f131314
-Node: Shell Scripts\7f134760
-Node: Shell Builtin Commands\7f137784
-Node: Bourne Shell Builtins\7f139819
-Node: Bash Builtins\7f162015
-Node: Modifying Shell Behavior\7f194011
-Node: The Set Builtin\7f194353
-Node: The Shopt Builtin\7f204948
-Node: Special Builtins\7f220857
-Node: Shell Variables\7f221833
-Node: Bourne Shell Variables\7f222267
-Node: Bash Variables\7f224368
-Node: Bash Features\7f258430
-Node: Invoking Bash\7f259440
-Node: Bash Startup Files\7f265450
-Node: Interactive Shells\7f270578
-Node: What is an Interactive Shell?\7f270986
-Node: Is this Shell Interactive?\7f271632
-Node: Interactive Shell Behavior\7f272444
-Node: Bash Conditional Expressions\7f276070
-Node: Shell Arithmetic\7f280709
-Node: Aliases\7f283667
-Node: Arrays\7f286558
-Node: The Directory Stack\7f293118
-Node: Directory Stack Builtins\7f293899
-Node: Controlling the Prompt\7f298156
-Node: The Restricted Shell\7f301118
-Node: Bash POSIX Mode\7f303725
-Node: Shell Compatibility Mode\7f319515
-Node: Job Control\7f327756
-Node: Job Control Basics\7f328213
-Node: Job Control Builtins\7f333212
-Node: Job Control Variables\7f339004
-Node: Command Line Editing\7f340157
-Node: Introduction and Notation\7f341825
-Node: Readline Interaction\7f343445
-Node: Readline Bare Essentials\7f344633
-Node: Readline Movement Commands\7f346419
-Node: Readline Killing Commands\7f347376
-Node: Readline Arguments\7f349294
-Node: Searching\7f350335
-Node: Readline Init File\7f352518
-Node: Readline Init File Syntax\7f353776
-Node: Conditional Init Constructs\7f377564
-Node: Sample Init File\7f381757
-Node: Bindable Readline Commands\7f384878
-Node: Commands For Moving\7f386079
-Node: Commands For History\7f388127
-Node: Commands For Text\7f393118
-Node: Commands For Killing\7f396764
-Node: Numeric Arguments\7f399794
-Node: Commands For Completion\7f400930
-Node: Keyboard Macros\7f405118
-Node: Miscellaneous Commands\7f405803
-Node: Readline vi Mode\7f411838
-Node: Programmable Completion\7f412742
-Node: Programmable Completion Builtins\7f420519
-Node: A Programmable Completion Example\7f431504
-Node: Using History Interactively\7f436749
-Node: Bash History Facilities\7f437430
-Node: Bash History Builtins\7f440432
-Node: History Interaction\7f445453
-Node: Event Designators\7f449070
-Node: Word Designators\7f450421
-Node: Modifiers\7f452178
-Node: Installing Bash\7f453983
-Node: Basic Installation\7f455117
-Node: Compilers and Options\7f458836
-Node: Compiling For Multiple Architectures\7f459574
-Node: Installation Names\7f461263
-Node: Specifying the System Type\7f463369
-Node: Sharing Defaults\7f464083
-Node: Operation Controls\7f464753
-Node: Optional Features\7f465708
-Node: Reporting Bugs\7f476924
-Node: Major Differences From The Bourne Shell\7f478255
-Node: GNU Free Documentation License\7f495101
-Node: Indexes\7f520275
-Node: Builtin Index\7f520726
-Node: Reserved Word Index\7f527550
-Node: Variable Index\7f529995
-Node: Function Index\7f546980
-Node: Concept Index\7f560761
+Node: Top\7f884
+Node: Introduction\7f2791
+Node: What is Bash?\7f3004
+Node: What is a shell?\7f4115
+Node: Definitions\7f6650
+Node: Basic Shell Features\7f9598
+Node: Shell Syntax\7f10814
+Node: Shell Operation\7f11837
+Node: Quoting\7f13127
+Node: Escape Character\7f14428
+Node: Single Quotes\7f14910
+Node: Double Quotes\7f15255
+Node: ANSI-C Quoting\7f16530
+Node: Locale Translation\7f17839
+Node: Creating Internationalized Scripts\7f19147
+Node: Comments\7f23261
+Node: Shell Commands\7f23876
+Node: Reserved Words\7f24811
+Node: Simple Commands\7f25564
+Node: Pipelines\7f26215
+Node: Lists\7f29211
+Node: Compound Commands\7f31003
+Node: Looping Constructs\7f32012
+Node: Conditional Constructs\7f34504
+Node: Command Grouping\7f48989
+Node: Coprocesses\7f50464
+Node: GNU Parallel\7f53124
+Node: Shell Functions\7f54038
+Node: Shell Parameters\7f61920
+Node: Positional Parameters\7f66305
+Node: Special Parameters\7f67204
+Node: Shell Expansions\7f70415
+Node: Brace Expansion\7f72539
+Node: Tilde Expansion\7f75270
+Node: Shell Parameter Expansion\7f77888
+Node: Command Substitution\7f96287
+Node: Arithmetic Expansion\7f99876
+Node: Process Substitution\7f100841
+Node: Word Splitting\7f101958
+Node: Filename Expansion\7f104003
+Node: Pattern Matching\7f106933
+Node: Quote Removal\7f111932
+Node: Redirections\7f112224
+Node: Executing Commands\7f121914
+Node: Simple Command Expansion\7f122581
+Node: Command Search and Execution\7f124688
+Node: Command Execution Environment\7f127072
+Node: Environment\7f130104
+Node: Exit Status\7f131764
+Node: Signals\7f133545
+Node: Shell Scripts\7f136991
+Node: Shell Builtin Commands\7f140015
+Node: Bourne Shell Builtins\7f142050
+Node: Bash Builtins\7f164246
+Node: Modifying Shell Behavior\7f196242
+Node: The Set Builtin\7f196584
+Node: The Shopt Builtin\7f207179
+Node: Special Builtins\7f223088
+Node: Shell Variables\7f224064
+Node: Bourne Shell Variables\7f224498
+Node: Bash Variables\7f226599
+Node: Bash Features\7f260661
+Node: Invoking Bash\7f261671
+Node: Bash Startup Files\7f267681
+Node: Interactive Shells\7f272809
+Node: What is an Interactive Shell?\7f273217
+Node: Is this Shell Interactive?\7f273863
+Node: Interactive Shell Behavior\7f274675
+Node: Bash Conditional Expressions\7f278301
+Node: Shell Arithmetic\7f282940
+Node: Aliases\7f285898
+Node: Arrays\7f288789
+Node: The Directory Stack\7f295349
+Node: Directory Stack Builtins\7f296130
+Node: Controlling the Prompt\7f300387
+Node: The Restricted Shell\7f303349
+Node: Bash POSIX Mode\7f305956
+Node: Shell Compatibility Mode\7f321746
+Node: Job Control\7f329987
+Node: Job Control Basics\7f330444
+Node: Job Control Builtins\7f335443
+Node: Job Control Variables\7f341235
+Node: Command Line Editing\7f342388
+Node: Introduction and Notation\7f344056
+Node: Readline Interaction\7f345676
+Node: Readline Bare Essentials\7f346864
+Node: Readline Movement Commands\7f348650
+Node: Readline Killing Commands\7f349607
+Node: Readline Arguments\7f351525
+Node: Searching\7f352566
+Node: Readline Init File\7f354749
+Node: Readline Init File Syntax\7f356007
+Node: Conditional Init Constructs\7f379795
+Node: Sample Init File\7f383988
+Node: Bindable Readline Commands\7f387109
+Node: Commands For Moving\7f388310
+Node: Commands For History\7f390358
+Node: Commands For Text\7f395349
+Node: Commands For Killing\7f398995
+Node: Numeric Arguments\7f402025
+Node: Commands For Completion\7f403161
+Node: Keyboard Macros\7f407349
+Node: Miscellaneous Commands\7f408034
+Node: Readline vi Mode\7f414069
+Node: Programmable Completion\7f414973
+Node: Programmable Completion Builtins\7f422750
+Node: A Programmable Completion Example\7f433735
+Node: Using History Interactively\7f438980
+Node: Bash History Facilities\7f439661
+Node: Bash History Builtins\7f442663
+Node: History Interaction\7f447684
+Node: Event Designators\7f451301
+Node: Word Designators\7f452652
+Node: Modifiers\7f454409
+Node: Installing Bash\7f456214
+Node: Basic Installation\7f457348
+Node: Compilers and Options\7f461067
+Node: Compiling For Multiple Architectures\7f461805
+Node: Installation Names\7f463494
+Node: Specifying the System Type\7f465600
+Node: Sharing Defaults\7f466314
+Node: Operation Controls\7f466984
+Node: Optional Features\7f467939
+Node: Reporting Bugs\7f479155
+Node: Major Differences From The Bourne Shell\7f480486
+Node: GNU Free Documentation License\7f497332
+Node: Indexes\7f522506
+Node: Builtin Index\7f522957
+Node: Reserved Word Index\7f529781
+Node: Variable Index\7f532226
+Node: Function Index\7f549211
+Node: Concept Index\7f562992
 \1f
 End Tag Table
 
index ab1a5113a749a8ea7e48a46f8fe563fe329834cc..b289c0ad860fd8e250efb9d60bd27443a9abf8b6 100644 (file)
 @xrdef{Shell Parameter Expansion-pg}{26}
 @xrdef{Command Substitution-title}{Command Substitution}
 @xrdef{Command Substitution-snt}{Section@tie 3.5.4}
+@xrdef{Command Substitution-pg}{34}
 @xrdef{Arithmetic Expansion-title}{Arithmetic Expansion}
 @xrdef{Arithmetic Expansion-snt}{Section@tie 3.5.5}
-@xrdef{Command Substitution-pg}{34}
-@xrdef{Arithmetic Expansion-pg}{34}
 @xrdef{Process Substitution-title}{Process Substitution}
 @xrdef{Process Substitution-snt}{Section@tie 3.5.6}
+@xrdef{Arithmetic Expansion-pg}{35}
+@xrdef{Process Substitution-pg}{35}
 @xrdef{Word Splitting-title}{Word Splitting}
 @xrdef{Word Splitting-snt}{Section@tie 3.5.7}
 @xrdef{Filename Expansion-title}{Filename Expansion}
 @xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
-@xrdef{Process Substitution-pg}{35}
-@xrdef{Word Splitting-pg}{35}
+@xrdef{Word Splitting-pg}{36}
+@xrdef{Filename Expansion-pg}{36}
 @xrdef{Pattern Matching-title}{Pattern Matching}
 @xrdef{Pattern Matching-snt}{Section@tie 3.5.8.1}
-@xrdef{Filename Expansion-pg}{36}
-@xrdef{Pattern Matching-pg}{36}
+@xrdef{Pattern Matching-pg}{37}
 @xrdef{Quote Removal-title}{Quote Removal}
 @xrdef{Quote Removal-snt}{Section@tie 3.5.9}
 @xrdef{Redirections-title}{Redirections}
 @xrdef{Redirections-snt}{Section@tie 3.6}
-@xrdef{Quote Removal-pg}{38}
-@xrdef{Redirections-pg}{38}
+@xrdef{Quote Removal-pg}{39}
+@xrdef{Redirections-pg}{39}
 @xrdef{Executing Commands-title}{Executing Commands}
 @xrdef{Executing Commands-snt}{Section@tie 3.7}
 @xrdef{Simple Command Expansion-title}{Simple Command Expansion}
 @xrdef{Simple Command Expansion-snt}{Section@tie 3.7.1}
 @xrdef{Command Search and Execution-title}{Command Search and Execution}
 @xrdef{Command Search and Execution-snt}{Section@tie 3.7.2}
-@xrdef{Executing Commands-pg}{42}
-@xrdef{Simple Command Expansion-pg}{42}
-@xrdef{Command Search and Execution-pg}{42}
+@xrdef{Executing Commands-pg}{43}
+@xrdef{Simple Command Expansion-pg}{43}
+@xrdef{Command Search and Execution-pg}{43}
 @xrdef{Command Execution Environment-title}{Command Execution Environment}
 @xrdef{Command Execution Environment-snt}{Section@tie 3.7.3}
-@xrdef{Command Execution Environment-pg}{43}
+@xrdef{Command Execution Environment-pg}{44}
 @xrdef{Environment-title}{Environment}
 @xrdef{Environment-snt}{Section@tie 3.7.4}
-@xrdef{Environment-pg}{44}
 @xrdef{Exit Status-title}{Exit Status}
 @xrdef{Exit Status-snt}{Section@tie 3.7.5}
+@xrdef{Environment-pg}{45}
+@xrdef{Exit Status-pg}{45}
 @xrdef{Signals-title}{Signals}
 @xrdef{Signals-snt}{Section@tie 3.7.6}
-@xrdef{Exit Status-pg}{45}
-@xrdef{Signals-pg}{45}
+@xrdef{Signals-pg}{46}
 @xrdef{Shell Scripts-title}{Shell Scripts}
 @xrdef{Shell Scripts-snt}{Section@tie 3.8}
-@xrdef{Shell Scripts-pg}{46}
+@xrdef{Shell Scripts-pg}{47}
 @xrdef{Shell Builtin Commands-title}{Shell Builtin Commands}
 @xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
 @xrdef{Bourne Shell Builtins-title}{Bourne Shell Builtins}
 @xrdef{Bourne Shell Builtins-snt}{Section@tie 4.1}
-@xrdef{Shell Builtin Commands-pg}{48}
-@xrdef{Bourne Shell Builtins-pg}{48}
+@xrdef{Shell Builtin Commands-pg}{49}
+@xrdef{Bourne Shell Builtins-pg}{49}
 @xrdef{Bash Builtins-title}{Bash Builtin Commands}
 @xrdef{Bash Builtins-snt}{Section@tie 4.2}
-@xrdef{Bash Builtins-pg}{56}
+@xrdef{Bash Builtins-pg}{57}
 @xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior}
 @xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3}
 @xrdef{The Set Builtin-title}{The Set Builtin}
 @xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
-@xrdef{Modifying Shell Behavior-pg}{67}
-@xrdef{The Set Builtin-pg}{67}
+@xrdef{Modifying Shell Behavior-pg}{68}
+@xrdef{The Set Builtin-pg}{68}
 @xrdef{The Shopt Builtin-title}{The Shopt Builtin}
 @xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
-@xrdef{The Shopt Builtin-pg}{71}
+@xrdef{The Shopt Builtin-pg}{72}
 @xrdef{Special Builtins-title}{Special Builtins}
 @xrdef{Special Builtins-snt}{Section@tie 4.4}
-@xrdef{Special Builtins-pg}{78}
+@xrdef{Special Builtins-pg}{79}
 @xrdef{Shell Variables-title}{Shell Variables}
 @xrdef{Shell Variables-snt}{Chapter@tie 5}
 @xrdef{Bourne Shell Variables-title}{Bourne Shell Variables}
 @xrdef{Bourne Shell Variables-snt}{Section@tie 5.1}
 @xrdef{Bash Variables-title}{Bash Variables}
 @xrdef{Bash Variables-snt}{Section@tie 5.2}
-@xrdef{Shell Variables-pg}{79}
-@xrdef{Bourne Shell Variables-pg}{79}
-@xrdef{Bash Variables-pg}{79}
+@xrdef{Shell Variables-pg}{80}
+@xrdef{Bourne Shell Variables-pg}{80}
+@xrdef{Bash Variables-pg}{80}
 @xrdef{Bash Features-title}{Bash Features}
 @xrdef{Bash Features-snt}{Chapter@tie 6}
 @xrdef{Invoking Bash-title}{Invoking Bash}
 @xrdef{Invoking Bash-snt}{Section@tie 6.1}
-@xrdef{Bash Features-pg}{92}
-@xrdef{Invoking Bash-pg}{92}
+@xrdef{Bash Features-pg}{93}
+@xrdef{Invoking Bash-pg}{93}
 @xrdef{Bash Startup Files-title}{Bash Startup Files}
 @xrdef{Bash Startup Files-snt}{Section@tie 6.2}
-@xrdef{Bash Startup Files-pg}{94}
+@xrdef{Bash Startup Files-pg}{95}
 @xrdef{Interactive Shells-title}{Interactive Shells}
 @xrdef{Interactive Shells-snt}{Section@tie 6.3}
 @xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?}
 @xrdef{What is an Interactive Shell?-snt}{Section@tie 6.3.1}
-@xrdef{Interactive Shells-pg}{95}
+@xrdef{Interactive Shells-pg}{96}
 @xrdef{Is this Shell Interactive?-title}{Is this Shell Interactive?}
 @xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2}
 @xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior}
 @xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3}
-@xrdef{What is an Interactive Shell?-pg}{96}
-@xrdef{Is this Shell Interactive?-pg}{96}
-@xrdef{Interactive Shell Behavior-pg}{96}
+@xrdef{What is an Interactive Shell?-pg}{97}
+@xrdef{Is this Shell Interactive?-pg}{97}
+@xrdef{Interactive Shell Behavior-pg}{97}
 @xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions}
 @xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4}
-@xrdef{Bash Conditional Expressions-pg}{97}
+@xrdef{Bash Conditional Expressions-pg}{98}
 @xrdef{Shell Arithmetic-title}{Shell Arithmetic}
 @xrdef{Shell Arithmetic-snt}{Section@tie 6.5}
-@xrdef{Shell Arithmetic-pg}{99}
+@xrdef{Shell Arithmetic-pg}{100}
 @xrdef{Aliases-title}{Aliases}
 @xrdef{Aliases-snt}{Section@tie 6.6}
 @xrdef{Arrays-title}{Arrays}
 @xrdef{Arrays-snt}{Section@tie 6.7}
-@xrdef{Aliases-pg}{101}
-@xrdef{Arrays-pg}{101}
+@xrdef{Aliases-pg}{102}
+@xrdef{Arrays-pg}{102}
 @xrdef{The Directory Stack-title}{The Directory Stack}
 @xrdef{The Directory Stack-snt}{Section@tie 6.8}
-@xrdef{The Directory Stack-pg}{103}
+@xrdef{The Directory Stack-pg}{104}
 @xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
 @xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
-@xrdef{Directory Stack Builtins-pg}{104}
+@xrdef{Directory Stack Builtins-pg}{105}
 @xrdef{Controlling the Prompt-title}{Controlling the Prompt}
 @xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
-@xrdef{Controlling the Prompt-pg}{105}
+@xrdef{Controlling the Prompt-pg}{106}
 @xrdef{The Restricted Shell-title}{The Restricted Shell}
 @xrdef{The Restricted Shell-snt}{Section@tie 6.10}
 @xrdef{Bash POSIX Mode-title}{Bash and POSIX}
 @xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
-@xrdef{The Restricted Shell-pg}{107}
-@xrdef{Bash POSIX Mode-pg}{107}
+@xrdef{The Restricted Shell-pg}{108}
+@xrdef{Bash POSIX Mode-pg}{108}
 @xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode}
 @xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12}
-@xrdef{Shell Compatibility Mode-pg}{112}
+@xrdef{Shell Compatibility Mode-pg}{113}
 @xrdef{Job Control-title}{Job Control}
 @xrdef{Job Control-snt}{Chapter@tie 7}
 @xrdef{Job Control Basics-title}{Job Control Basics}
 @xrdef{Job Control Basics-snt}{Section@tie 7.1}
-@xrdef{Job Control-pg}{116}
-@xrdef{Job Control Basics-pg}{116}
+@xrdef{Job Control-pg}{117}
+@xrdef{Job Control Basics-pg}{117}
 @xrdef{Job Control Builtins-title}{Job Control Builtins}
 @xrdef{Job Control Builtins-snt}{Section@tie 7.2}
-@xrdef{Job Control Builtins-pg}{117}
+@xrdef{Job Control Builtins-pg}{118}
 @xrdef{Job Control Variables-title}{Job Control Variables}
 @xrdef{Job Control Variables-snt}{Section@tie 7.3}
-@xrdef{Job Control Variables-pg}{119}
+@xrdef{Job Control Variables-pg}{120}
 @xrdef{Command Line Editing-title}{Command Line Editing}
 @xrdef{Command Line Editing-snt}{Chapter@tie 8}
 @xrdef{Introduction and Notation-title}{Introduction to Line Editing}
 @xrdef{Readline Interaction-snt}{Section@tie 8.2}
 @xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
 @xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1}
-@xrdef{Command Line Editing-pg}{120}
-@xrdef{Introduction and Notation-pg}{120}
-@xrdef{Readline Interaction-pg}{120}
+@xrdef{Command Line Editing-pg}{121}
+@xrdef{Introduction and Notation-pg}{121}
+@xrdef{Readline Interaction-pg}{121}
 @xrdef{Readline Movement Commands-title}{Readline Movement Commands}
 @xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2}
 @xrdef{Readline Killing Commands-title}{Readline Killing Commands}
 @xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3}
-@xrdef{Readline Bare Essentials-pg}{121}
-@xrdef{Readline Movement Commands-pg}{121}
+@xrdef{Readline Bare Essentials-pg}{122}
+@xrdef{Readline Movement Commands-pg}{122}
 @xrdef{Readline Arguments-title}{Readline Arguments}
 @xrdef{Readline Arguments-snt}{Section@tie 8.2.4}
 @xrdef{Searching-title}{Searching for Commands in the History}
 @xrdef{Searching-snt}{Section@tie 8.2.5}
-@xrdef{Readline Killing Commands-pg}{122}
-@xrdef{Readline Arguments-pg}{122}
-@xrdef{Searching-pg}{122}
+@xrdef{Readline Killing Commands-pg}{123}
+@xrdef{Readline Arguments-pg}{123}
+@xrdef{Searching-pg}{123}
 @xrdef{Readline Init File-title}{Readline Init File}
 @xrdef{Readline Init File-snt}{Section@tie 8.3}
 @xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
 @xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1}
-@xrdef{Readline Init File-pg}{123}
-@xrdef{Readline Init File Syntax-pg}{123}
+@xrdef{Readline Init File-pg}{124}
+@xrdef{Readline Init File Syntax-pg}{124}
 @xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
 @xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
-@xrdef{Conditional Init Constructs-pg}{132}
+@xrdef{Conditional Init Constructs-pg}{133}
 @xrdef{Sample Init File-title}{Sample Init File}
 @xrdef{Sample Init File-snt}{Section@tie 8.3.3}
-@xrdef{Sample Init File-pg}{133}
+@xrdef{Sample Init File-pg}{134}
 @xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
 @xrdef{Bindable Readline Commands-snt}{Section@tie 8.4}
 @xrdef{Commands For Moving-title}{Commands For Moving}
 @xrdef{Commands For Moving-snt}{Section@tie 8.4.1}
-@xrdef{Bindable Readline Commands-pg}{136}
-@xrdef{Commands For Moving-pg}{136}
+@xrdef{Bindable Readline Commands-pg}{137}
+@xrdef{Commands For Moving-pg}{137}
 @xrdef{Commands For History-title}{Commands For Manipulating The History}
 @xrdef{Commands For History-snt}{Section@tie 8.4.2}
-@xrdef{Commands For History-pg}{137}
+@xrdef{Commands For History-pg}{138}
 @xrdef{Commands For Text-title}{Commands For Changing Text}
 @xrdef{Commands For Text-snt}{Section@tie 8.4.3}
-@xrdef{Commands For Text-pg}{139}
+@xrdef{Commands For Text-pg}{140}
 @xrdef{Commands For Killing-title}{Killing And Yanking}
 @xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
-@xrdef{Commands For Killing-pg}{140}
+@xrdef{Commands For Killing-pg}{141}
 @xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
 @xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
-@xrdef{Numeric Arguments-pg}{141}
+@xrdef{Numeric Arguments-pg}{142}
 @xrdef{Commands For Completion-title}{Letting Readline Type For You}
 @xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
-@xrdef{Commands For Completion-pg}{142}
+@xrdef{Commands For Completion-pg}{143}
 @xrdef{Keyboard Macros-title}{Keyboard Macros}
 @xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
-@xrdef{Keyboard Macros-pg}{143}
+@xrdef{Keyboard Macros-pg}{144}
 @xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
 @xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
-@xrdef{Miscellaneous Commands-pg}{144}
+@xrdef{Miscellaneous Commands-pg}{145}
 @xrdef{Readline vi Mode-title}{Readline vi Mode}
 @xrdef{Readline vi Mode-snt}{Section@tie 8.5}
 @xrdef{Programmable Completion-title}{Programmable Completion}
 @xrdef{Programmable Completion-snt}{Section@tie 8.6}
-@xrdef{Readline vi Mode-pg}{146}
-@xrdef{Programmable Completion-pg}{146}
+@xrdef{Readline vi Mode-pg}{147}
+@xrdef{Programmable Completion-pg}{147}
 @xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
 @xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
-@xrdef{Programmable Completion Builtins-pg}{149}
+@xrdef{Programmable Completion Builtins-pg}{150}
 @xrdef{A Programmable Completion Example-title}{A Programmable Completion Example}
 @xrdef{A Programmable Completion Example-snt}{Section@tie 8.8}
-@xrdef{A Programmable Completion Example-pg}{153}
+@xrdef{A Programmable Completion Example-pg}{154}
 @xrdef{Using History Interactively-title}{Using History Interactively}
 @xrdef{Using History Interactively-snt}{Chapter@tie 9}
 @xrdef{Bash History Facilities-title}{Bash History Facilities}
 @xrdef{Bash History Facilities-snt}{Section@tie 9.1}
 @xrdef{Bash History Builtins-title}{Bash History Builtins}
 @xrdef{Bash History Builtins-snt}{Section@tie 9.2}
-@xrdef{Using History Interactively-pg}{155}
-@xrdef{Bash History Facilities-pg}{155}
-@xrdef{Bash History Builtins-pg}{155}
+@xrdef{Using History Interactively-pg}{156}
+@xrdef{Bash History Facilities-pg}{156}
+@xrdef{Bash History Builtins-pg}{156}
 @xrdef{History Interaction-title}{History Expansion}
 @xrdef{History Interaction-snt}{Section@tie 9.3}
-@xrdef{History Interaction-pg}{157}
+@xrdef{History Interaction-pg}{158}
 @xrdef{Event Designators-title}{Event Designators}
 @xrdef{Event Designators-snt}{Section@tie 9.3.1}
-@xrdef{Event Designators-pg}{158}
+@xrdef{Event Designators-pg}{159}
 @xrdef{Word Designators-title}{Word Designators}
 @xrdef{Word Designators-snt}{Section@tie 9.3.2}
 @xrdef{Modifiers-title}{Modifiers}
 @xrdef{Modifiers-snt}{Section@tie 9.3.3}
-@xrdef{Word Designators-pg}{159}
-@xrdef{Modifiers-pg}{159}
+@xrdef{Word Designators-pg}{160}
+@xrdef{Modifiers-pg}{160}
 @xrdef{Installing Bash-title}{Installing Bash}
 @xrdef{Installing Bash-snt}{Chapter@tie 10}
 @xrdef{Basic Installation-title}{Basic Installation}
 @xrdef{Basic Installation-snt}{Section@tie 10.1}
-@xrdef{Installing Bash-pg}{161}
-@xrdef{Basic Installation-pg}{161}
+@xrdef{Installing Bash-pg}{162}
+@xrdef{Basic Installation-pg}{162}
 @xrdef{Compilers and Options-title}{Compilers and Options}
 @xrdef{Compilers and Options-snt}{Section@tie 10.2}
 @xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures}
 @xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3}
 @xrdef{Installation Names-title}{Installation Names}
 @xrdef{Installation Names-snt}{Section@tie 10.4}
-@xrdef{Compilers and Options-pg}{162}
-@xrdef{Compiling For Multiple Architectures-pg}{162}
+@xrdef{Compilers and Options-pg}{163}
+@xrdef{Compiling For Multiple Architectures-pg}{163}
 @xrdef{Specifying the System Type-title}{Specifying the System Type}
 @xrdef{Specifying the System Type-snt}{Section@tie 10.5}
 @xrdef{Sharing Defaults-title}{Sharing Defaults}
 @xrdef{Sharing Defaults-snt}{Section@tie 10.6}
 @xrdef{Operation Controls-title}{Operation Controls}
 @xrdef{Operation Controls-snt}{Section@tie 10.7}
-@xrdef{Installation Names-pg}{163}
-@xrdef{Specifying the System Type-pg}{163}
-@xrdef{Sharing Defaults-pg}{163}
+@xrdef{Installation Names-pg}{164}
+@xrdef{Specifying the System Type-pg}{164}
+@xrdef{Sharing Defaults-pg}{164}
 @xrdef{Optional Features-title}{Optional Features}
 @xrdef{Optional Features-snt}{Section@tie 10.8}
-@xrdef{Operation Controls-pg}{164}
-@xrdef{Optional Features-pg}{164}
+@xrdef{Operation Controls-pg}{165}
+@xrdef{Optional Features-pg}{165}
 @xrdef{Reporting Bugs-title}{Reporting Bugs}
 @xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
-@xrdef{Reporting Bugs-pg}{170}
+@xrdef{Reporting Bugs-pg}{171}
 @xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell}
 @xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}}
-@xrdef{Major Differences From The Bourne Shell-pg}{171}
+@xrdef{Major Differences From The Bourne Shell-pg}{172}
 @xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
 @xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}}
-@xrdef{GNU Free Documentation License-pg}{177}
+@xrdef{GNU Free Documentation License-pg}{178}
 @xrdef{Indexes-title}{Indexes}
 @xrdef{Indexes-snt}{Appendix@tie @char68{}}
 @xrdef{Builtin Index-title}{Index of Shell Builtin Commands}
 @xrdef{Builtin Index-snt}{Section@tie @char68.1}
-@xrdef{Indexes-pg}{185}
-@xrdef{Builtin Index-pg}{185}
+@xrdef{Indexes-pg}{186}
+@xrdef{Builtin Index-pg}{186}
 @xrdef{Reserved Word Index-title}{Index of Shell Reserved Words}
 @xrdef{Reserved Word Index-snt}{Section@tie @char68.2}
 @xrdef{Variable Index-title}{Parameter and Variable Index}
 @xrdef{Variable Index-snt}{Section@tie @char68.3}
-@xrdef{Reserved Word Index-pg}{186}
-@xrdef{Variable Index-pg}{187}
+@xrdef{Reserved Word Index-pg}{187}
+@xrdef{Variable Index-pg}{188}
 @xrdef{Function Index-title}{Function Index}
 @xrdef{Function Index-snt}{Section@tie @char68.4}
-@xrdef{Function Index-pg}{189}
+@xrdef{Function Index-pg}{190}
 @xrdef{Concept Index-title}{Concept Index}
 @xrdef{Concept Index-snt}{Section@tie @char68.5}
-@xrdef{Concept Index-pg}{191}
+@xrdef{Concept Index-pg}{192}
index 5bc36aa43878e371e2d9284d75c486e4ddd53684..ac196e84a469148777fdbc67db34ab581b63a034 100644 (file)
@@ -1,59 +1,59 @@
-\entry{:}{48}{\code {:}}
-\entry{.}{48}{\code {.}}
-\entry{break}{49}{\code {break}}
-\entry{cd}{49}{\code {cd}}
-\entry{continue}{49}{\code {continue}}
-\entry{eval}{49}{\code {eval}}
-\entry{exec}{50}{\code {exec}}
-\entry{exit}{50}{\code {exit}}
-\entry{export}{50}{\code {export}}
-\entry{getopts}{50}{\code {getopts}}
-\entry{hash}{51}{\code {hash}}
-\entry{pwd}{51}{\code {pwd}}
-\entry{readonly}{52}{\code {readonly}}
-\entry{return}{52}{\code {return}}
-\entry{shift}{52}{\code {shift}}
-\entry{test}{52}{\code {test}}
-\entry{[}{52}{\code {[}}
-\entry{times}{54}{\code {times}}
-\entry{trap}{54}{\code {trap}}
-\entry{umask}{55}{\code {umask}}
-\entry{unset}{55}{\code {unset}}
-\entry{alias}{56}{\code {alias}}
-\entry{bind}{56}{\code {bind}}
-\entry{builtin}{57}{\code {builtin}}
-\entry{caller}{57}{\code {caller}}
-\entry{command}{57}{\code {command}}
-\entry{declare}{58}{\code {declare}}
-\entry{echo}{59}{\code {echo}}
-\entry{enable}{60}{\code {enable}}
-\entry{help}{61}{\code {help}}
-\entry{let}{61}{\code {let}}
-\entry{local}{61}{\code {local}}
-\entry{logout}{61}{\code {logout}}
-\entry{mapfile}{62}{\code {mapfile}}
-\entry{printf}{62}{\code {printf}}
-\entry{read}{63}{\code {read}}
-\entry{readarray}{65}{\code {readarray}}
-\entry{source}{65}{\code {source}}
-\entry{type}{65}{\code {type}}
-\entry{typeset}{66}{\code {typeset}}
-\entry{ulimit}{66}{\code {ulimit}}
-\entry{unalias}{67}{\code {unalias}}
-\entry{set}{67}{\code {set}}
-\entry{shopt}{71}{\code {shopt}}
-\entry{dirs}{104}{\code {dirs}}
-\entry{popd}{104}{\code {popd}}
-\entry{pushd}{104}{\code {pushd}}
-\entry{bg}{117}{\code {bg}}
-\entry{fg}{117}{\code {fg}}
-\entry{jobs}{117}{\code {jobs}}
-\entry{kill}{118}{\code {kill}}
-\entry{wait}{118}{\code {wait}}
-\entry{disown}{119}{\code {disown}}
-\entry{suspend}{119}{\code {suspend}}
-\entry{compgen}{149}{\code {compgen}}
-\entry{complete}{149}{\code {complete}}
-\entry{compopt}{152}{\code {compopt}}
-\entry{fc}{156}{\code {fc}}
-\entry{history}{156}{\code {history}}
+\entry{:}{49}{\code {:}}
+\entry{.}{49}{\code {.}}
+\entry{break}{50}{\code {break}}
+\entry{cd}{50}{\code {cd}}
+\entry{continue}{50}{\code {continue}}
+\entry{eval}{50}{\code {eval}}
+\entry{exec}{51}{\code {exec}}
+\entry{exit}{51}{\code {exit}}
+\entry{export}{51}{\code {export}}
+\entry{getopts}{51}{\code {getopts}}
+\entry{hash}{52}{\code {hash}}
+\entry{pwd}{52}{\code {pwd}}
+\entry{readonly}{53}{\code {readonly}}
+\entry{return}{53}{\code {return}}
+\entry{shift}{53}{\code {shift}}
+\entry{test}{53}{\code {test}}
+\entry{[}{53}{\code {[}}
+\entry{times}{55}{\code {times}}
+\entry{trap}{55}{\code {trap}}
+\entry{umask}{56}{\code {umask}}
+\entry{unset}{56}{\code {unset}}
+\entry{alias}{57}{\code {alias}}
+\entry{bind}{57}{\code {bind}}
+\entry{builtin}{58}{\code {builtin}}
+\entry{caller}{58}{\code {caller}}
+\entry{command}{58}{\code {command}}
+\entry{declare}{59}{\code {declare}}
+\entry{echo}{60}{\code {echo}}
+\entry{enable}{61}{\code {enable}}
+\entry{help}{62}{\code {help}}
+\entry{let}{62}{\code {let}}
+\entry{local}{62}{\code {local}}
+\entry{logout}{62}{\code {logout}}
+\entry{mapfile}{63}{\code {mapfile}}
+\entry{printf}{63}{\code {printf}}
+\entry{read}{64}{\code {read}}
+\entry{readarray}{66}{\code {readarray}}
+\entry{source}{66}{\code {source}}
+\entry{type}{66}{\code {type}}
+\entry{typeset}{67}{\code {typeset}}
+\entry{ulimit}{67}{\code {ulimit}}
+\entry{unalias}{68}{\code {unalias}}
+\entry{set}{68}{\code {set}}
+\entry{shopt}{72}{\code {shopt}}
+\entry{dirs}{105}{\code {dirs}}
+\entry{popd}{105}{\code {popd}}
+\entry{pushd}{105}{\code {pushd}}
+\entry{bg}{118}{\code {bg}}
+\entry{fg}{118}{\code {fg}}
+\entry{jobs}{118}{\code {jobs}}
+\entry{kill}{119}{\code {kill}}
+\entry{wait}{119}{\code {wait}}
+\entry{disown}{120}{\code {disown}}
+\entry{suspend}{120}{\code {suspend}}
+\entry{compgen}{150}{\code {compgen}}
+\entry{complete}{150}{\code {complete}}
+\entry{compopt}{153}{\code {compopt}}
+\entry{fc}{157}{\code {fc}}
+\entry{history}{157}{\code {history}}
index 196587e606c8175efb1b469e866a33d707f2f070..388747c981587027df33be4ddfba17f2e2a4b3fb 100644 (file)
@@ -1,80 +1,80 @@
 \initial {.}
-\entry{\code {.}}{48}
+\entry{\code {.}}{49}
 \initial {:}
-\entry{\code {:}}{48}
+\entry{\code {:}}{49}
 \initial {[}
-\entry{\code {[}}{52}
+\entry{\code {[}}{53}
 \initial {A}
-\entry{\code {alias}}{56}
+\entry{\code {alias}}{57}
 \initial {B}
-\entry{\code {bg}}{117}
-\entry{\code {bind}}{56}
-\entry{\code {break}}{49}
-\entry{\code {builtin}}{57}
+\entry{\code {bg}}{118}
+\entry{\code {bind}}{57}
+\entry{\code {break}}{50}
+\entry{\code {builtin}}{58}
 \initial {C}
-\entry{\code {caller}}{57}
-\entry{\code {cd}}{49}
-\entry{\code {command}}{57}
-\entry{\code {compgen}}{149}
-\entry{\code {complete}}{149}
-\entry{\code {compopt}}{152}
-\entry{\code {continue}}{49}
+\entry{\code {caller}}{58}
+\entry{\code {cd}}{50}
+\entry{\code {command}}{58}
+\entry{\code {compgen}}{150}
+\entry{\code {complete}}{150}
+\entry{\code {compopt}}{153}
+\entry{\code {continue}}{50}
 \initial {D}
-\entry{\code {declare}}{58}
-\entry{\code {dirs}}{104}
-\entry{\code {disown}}{119}
+\entry{\code {declare}}{59}
+\entry{\code {dirs}}{105}
+\entry{\code {disown}}{120}
 \initial {E}
-\entry{\code {echo}}{59}
-\entry{\code {enable}}{60}
-\entry{\code {eval}}{49}
-\entry{\code {exec}}{50}
-\entry{\code {exit}}{50}
-\entry{\code {export}}{50}
+\entry{\code {echo}}{60}
+\entry{\code {enable}}{61}
+\entry{\code {eval}}{50}
+\entry{\code {exec}}{51}
+\entry{\code {exit}}{51}
+\entry{\code {export}}{51}
 \initial {F}
-\entry{\code {fc}}{156}
-\entry{\code {fg}}{117}
+\entry{\code {fc}}{157}
+\entry{\code {fg}}{118}
 \initial {G}
-\entry{\code {getopts}}{50}
+\entry{\code {getopts}}{51}
 \initial {H}
-\entry{\code {hash}}{51}
-\entry{\code {help}}{61}
-\entry{\code {history}}{156}
+\entry{\code {hash}}{52}
+\entry{\code {help}}{62}
+\entry{\code {history}}{157}
 \initial {J}
-\entry{\code {jobs}}{117}
+\entry{\code {jobs}}{118}
 \initial {K}
-\entry{\code {kill}}{118}
+\entry{\code {kill}}{119}
 \initial {L}
-\entry{\code {let}}{61}
-\entry{\code {local}}{61}
-\entry{\code {logout}}{61}
+\entry{\code {let}}{62}
+\entry{\code {local}}{62}
+\entry{\code {logout}}{62}
 \initial {M}
-\entry{\code {mapfile}}{62}
+\entry{\code {mapfile}}{63}
 \initial {P}
-\entry{\code {popd}}{104}
-\entry{\code {printf}}{62}
-\entry{\code {pushd}}{104}
-\entry{\code {pwd}}{51}
+\entry{\code {popd}}{105}
+\entry{\code {printf}}{63}
+\entry{\code {pushd}}{105}
+\entry{\code {pwd}}{52}
 \initial {R}
-\entry{\code {read}}{63}
-\entry{\code {readarray}}{65}
-\entry{\code {readonly}}{52}
-\entry{\code {return}}{52}
+\entry{\code {read}}{64}
+\entry{\code {readarray}}{66}
+\entry{\code {readonly}}{53}
+\entry{\code {return}}{53}
 \initial {S}
-\entry{\code {set}}{67}
-\entry{\code {shift}}{52}
-\entry{\code {shopt}}{71}
-\entry{\code {source}}{65}
-\entry{\code {suspend}}{119}
+\entry{\code {set}}{68}
+\entry{\code {shift}}{53}
+\entry{\code {shopt}}{72}
+\entry{\code {source}}{66}
+\entry{\code {suspend}}{120}
 \initial {T}
-\entry{\code {test}}{52}
-\entry{\code {times}}{54}
-\entry{\code {trap}}{54}
-\entry{\code {type}}{65}
-\entry{\code {typeset}}{66}
+\entry{\code {test}}{53}
+\entry{\code {times}}{55}
+\entry{\code {trap}}{55}
+\entry{\code {type}}{66}
+\entry{\code {typeset}}{67}
 \initial {U}
-\entry{\code {ulimit}}{66}
-\entry{\code {umask}}{55}
-\entry{\code {unalias}}{67}
-\entry{\code {unset}}{55}
+\entry{\code {ulimit}}{67}
+\entry{\code {umask}}{56}
+\entry{\code {unalias}}{68}
+\entry{\code {unset}}{56}
 \initial {W}
-\entry{\code {wait}}{118}
+\entry{\code {wait}}{119}
index ddc4142b3050f5e9500692e20431ba06e6369471..9d9d73de418a388485e4a8a45d362166707805f5 100644 (file)
 \entry{parameter expansion}{26}{parameter expansion}
 \entry{expansion, parameter}{26}{expansion, parameter}
 \entry{command substitution}{34}{command substitution}
-\entry{expansion, arithmetic}{34}{expansion, arithmetic}
-\entry{arithmetic expansion}{34}{arithmetic expansion}
+\entry{expansion, arithmetic}{35}{expansion, arithmetic}
+\entry{arithmetic expansion}{35}{arithmetic expansion}
 \entry{process substitution}{35}{process substitution}
-\entry{word splitting}{35}{word splitting}
+\entry{word splitting}{36}{word splitting}
 \entry{expansion, filename}{36}{expansion, filename}
 \entry{expansion, pathname}{36}{expansion, pathname}
 \entry{filename expansion}{36}{filename expansion}
 \entry{pathname expansion}{36}{pathname expansion}
-\entry{pattern matching}{36}{pattern matching}
-\entry{matching, pattern}{36}{matching, pattern}
-\entry{redirection}{38}{redirection}
-\entry{command expansion}{42}{command expansion}
-\entry{command execution}{42}{command execution}
-\entry{command search}{42}{command search}
-\entry{execution environment}{43}{execution environment}
-\entry{environment}{44}{environment}
+\entry{pattern matching}{37}{pattern matching}
+\entry{matching, pattern}{37}{matching, pattern}
+\entry{redirection}{39}{redirection}
+\entry{command expansion}{43}{command expansion}
+\entry{command execution}{43}{command execution}
+\entry{command search}{43}{command search}
+\entry{execution environment}{44}{execution environment}
+\entry{environment}{45}{environment}
 \entry{exit status}{45}{exit status}
-\entry{signal handling}{45}{signal handling}
-\entry{shell script}{46}{shell script}
-\entry{special builtin}{78}{special builtin}
-\entry{login shell}{94}{login shell}
-\entry{interactive shell}{94}{interactive shell}
-\entry{startup files}{94}{startup files}
+\entry{signal handling}{46}{signal handling}
+\entry{shell script}{47}{shell script}
+\entry{special builtin}{79}{special builtin}
+\entry{login shell}{95}{login shell}
 \entry{interactive shell}{95}{interactive shell}
-\entry{shell, interactive}{95}{shell, interactive}
-\entry{expressions, conditional}{97}{expressions, conditional}
-\entry{arithmetic, shell}{99}{arithmetic, shell}
-\entry{shell arithmetic}{99}{shell arithmetic}
-\entry{expressions, arithmetic}{99}{expressions, arithmetic}
-\entry{evaluation, arithmetic}{99}{evaluation, arithmetic}
-\entry{arithmetic evaluation}{99}{arithmetic evaluation}
-\entry{arithmetic operators}{99}{arithmetic operators}
-\entry{unary arithmetic operators}{99}{unary arithmetic operators}
-\entry{binary arithmetic operators}{99}{binary arithmetic operators}
-\entry{conditional arithmetic operator}{99}{conditional arithmetic operator}
-\entry{bitwise arithmetic operators}{99}{bitwise arithmetic operators}
-\entry{alias expansion}{101}{alias expansion}
-\entry{arrays}{101}{arrays}
-\entry{directory stack}{103}{directory stack}
-\entry{prompting}{105}{prompting}
-\entry{restricted shell}{107}{restricted shell}
-\entry{POSIX description}{107}{POSIX description}
-\entry{POSIX Mode}{108}{POSIX Mode}
-\entry{Compatibility Level}{112}{Compatibility Level}
-\entry{Compatibility Mode}{112}{Compatibility Mode}
-\entry{job control}{116}{job control}
-\entry{foreground}{116}{foreground}
-\entry{background}{116}{background}
-\entry{suspending jobs}{116}{suspending jobs}
-\entry{Readline, how to use}{119}{Readline, how to use}
-\entry{interaction, readline}{120}{interaction, readline}
-\entry{notation, readline}{121}{notation, readline}
-\entry{command editing}{121}{command editing}
-\entry{editing command lines}{121}{editing command lines}
-\entry{killing text}{122}{killing text}
-\entry{yanking text}{122}{yanking text}
-\entry{kill ring}{122}{kill ring}
-\entry{initialization file, readline}{123}{initialization file, readline}
-\entry{variables, readline}{124}{variables, readline}
-\entry{programmable completion}{146}{programmable completion}
-\entry{completion builtins}{149}{completion builtins}
-\entry{History, how to use}{154}{History, how to use}
-\entry{command history}{155}{command history}
-\entry{history list}{155}{history list}
-\entry{history builtins}{155}{history builtins}
-\entry{history expansion}{157}{history expansion}
-\entry{event designators}{158}{event designators}
-\entry{history events}{158}{history events}
-\entry{installation}{161}{installation}
-\entry{configuration}{161}{configuration}
-\entry{Bash installation}{161}{Bash installation}
-\entry{Bash configuration}{161}{Bash configuration}
+\entry{startup files}{95}{startup files}
+\entry{interactive shell}{96}{interactive shell}
+\entry{shell, interactive}{96}{shell, interactive}
+\entry{expressions, conditional}{98}{expressions, conditional}
+\entry{arithmetic, shell}{100}{arithmetic, shell}
+\entry{shell arithmetic}{100}{shell arithmetic}
+\entry{expressions, arithmetic}{100}{expressions, arithmetic}
+\entry{evaluation, arithmetic}{100}{evaluation, arithmetic}
+\entry{arithmetic evaluation}{100}{arithmetic evaluation}
+\entry{arithmetic operators}{100}{arithmetic operators}
+\entry{unary arithmetic operators}{100}{unary arithmetic operators}
+\entry{binary arithmetic operators}{100}{binary arithmetic operators}
+\entry{conditional arithmetic operator}{100}{conditional arithmetic operator}
+\entry{bitwise arithmetic operators}{100}{bitwise arithmetic operators}
+\entry{alias expansion}{102}{alias expansion}
+\entry{arrays}{102}{arrays}
+\entry{directory stack}{104}{directory stack}
+\entry{prompting}{106}{prompting}
+\entry{restricted shell}{108}{restricted shell}
+\entry{POSIX description}{108}{POSIX description}
+\entry{POSIX Mode}{109}{POSIX Mode}
+\entry{Compatibility Level}{113}{Compatibility Level}
+\entry{Compatibility Mode}{113}{Compatibility Mode}
+\entry{job control}{117}{job control}
+\entry{foreground}{117}{foreground}
+\entry{background}{117}{background}
+\entry{suspending jobs}{117}{suspending jobs}
+\entry{Readline, how to use}{120}{Readline, how to use}
+\entry{interaction, readline}{121}{interaction, readline}
+\entry{notation, readline}{122}{notation, readline}
+\entry{command editing}{122}{command editing}
+\entry{editing command lines}{122}{editing command lines}
+\entry{killing text}{123}{killing text}
+\entry{yanking text}{123}{yanking text}
+\entry{kill ring}{123}{kill ring}
+\entry{initialization file, readline}{124}{initialization file, readline}
+\entry{variables, readline}{125}{variables, readline}
+\entry{programmable completion}{147}{programmable completion}
+\entry{completion builtins}{150}{completion builtins}
+\entry{History, how to use}{155}{History, how to use}
+\entry{command history}{156}{command history}
+\entry{history list}{156}{history list}
+\entry{history builtins}{156}{history builtins}
+\entry{history expansion}{158}{history expansion}
+\entry{event designators}{159}{event designators}
+\entry{history events}{159}{history events}
+\entry{installation}{162}{installation}
+\entry{configuration}{162}{configuration}
+\entry{Bash installation}{162}{Bash installation}
+\entry{Bash configuration}{162}{Bash configuration}
index 4085c27674f24fa874a97a3271396634f579429d..82252e2e309d22b62f95c09590216050ec8f0937 100644 (file)
@@ -1,25 +1,25 @@
 \initial {A}
-\entry{alias expansion}{101}
-\entry{arithmetic evaluation}{99}
-\entry{arithmetic expansion}{34}
-\entry{arithmetic operators}{99}
-\entry{arithmetic, shell}{99}
-\entry{arrays}{101}
+\entry{alias expansion}{102}
+\entry{arithmetic evaluation}{100}
+\entry{arithmetic expansion}{35}
+\entry{arithmetic operators}{100}
+\entry{arithmetic, shell}{100}
+\entry{arrays}{102}
 \initial {B}
-\entry{background}{116}
-\entry{Bash configuration}{161}
-\entry{Bash installation}{161}
-\entry{binary arithmetic operators}{99}
-\entry{bitwise arithmetic operators}{99}
+\entry{background}{117}
+\entry{Bash configuration}{162}
+\entry{Bash installation}{162}
+\entry{binary arithmetic operators}{100}
+\entry{bitwise arithmetic operators}{100}
 \entry{Bourne shell}{5}
 \entry{brace expansion}{24}
 \entry{builtin}{3}
 \initial {C}
-\entry{command editing}{121}
-\entry{command execution}{42}
-\entry{command expansion}{42}
-\entry{command history}{155}
-\entry{command search}{42}
+\entry{command editing}{122}
+\entry{command execution}{43}
+\entry{command expansion}{43}
+\entry{command history}{156}
+\entry{command search}{43}
 \entry{command substitution}{34}
 \entry{command timing}{10}
 \entry{commands, compound}{11}
 \entry{commands, shell}{9}
 \entry{commands, simple}{9}
 \entry{comments, shell}{9}
-\entry{Compatibility Level}{112}
-\entry{Compatibility Mode}{112}
-\entry{completion builtins}{149}
-\entry{conditional arithmetic operator}{99}
-\entry{configuration}{161}
+\entry{Compatibility Level}{113}
+\entry{Compatibility Mode}{113}
+\entry{completion builtins}{150}
+\entry{conditional arithmetic operator}{100}
+\entry{configuration}{162}
 \entry{control operator}{3}
 \entry{coprocess}{18}
 \initial {D}
-\entry{directory stack}{103}
+\entry{directory stack}{104}
 \initial {E}
-\entry{editing command lines}{121}
-\entry{environment}{44}
-\entry{evaluation, arithmetic}{99}
-\entry{event designators}{158}
-\entry{execution environment}{43}
+\entry{editing command lines}{122}
+\entry{environment}{45}
+\entry{evaluation, arithmetic}{100}
+\entry{event designators}{159}
+\entry{execution environment}{44}
 \entry{exit status}{3, 45}
 \entry{expansion}{24}
-\entry{expansion, arithmetic}{34}
+\entry{expansion, arithmetic}{35}
 \entry{expansion, brace}{24}
 \entry{expansion, filename}{36}
 \entry{expansion, parameter}{26}
 \entry{expansion, pathname}{36}
 \entry{expansion, tilde}{25}
-\entry{expressions, arithmetic}{99}
-\entry{expressions, conditional}{97}
+\entry{expressions, arithmetic}{100}
+\entry{expressions, conditional}{98}
 \initial {F}
 \entry{field}{3}
 \entry{filename}{3}
 \entry{filename expansion}{36}
-\entry{foreground}{116}
+\entry{foreground}{117}
 \entry{functions, shell}{19}
 \initial {H}
-\entry{history builtins}{155}
-\entry{history events}{158}
-\entry{history expansion}{157}
-\entry{history list}{155}
-\entry{History, how to use}{154}
+\entry{history builtins}{156}
+\entry{history events}{159}
+\entry{history expansion}{158}
+\entry{history list}{156}
+\entry{History, how to use}{155}
 \initial {I}
 \entry{identifier}{3}
-\entry{initialization file, readline}{123}
-\entry{installation}{161}
-\entry{interaction, readline}{120}
-\entry{interactive shell}{94, 95}
+\entry{initialization file, readline}{124}
+\entry{installation}{162}
+\entry{interaction, readline}{121}
+\entry{interactive shell}{95, 96}
 \entry{internationalization}{7}
 \entry{internationalized scripts}{7}
 \initial {J}
 \entry{job}{3}
-\entry{job control}{3, 116}
+\entry{job control}{3, 117}
 \initial {K}
-\entry{kill ring}{122}
-\entry{killing text}{122}
+\entry{kill ring}{123}
+\entry{killing text}{123}
 \initial {L}
 \entry{localization}{7}
-\entry{login shell}{94}
+\entry{login shell}{95}
 \initial {M}
-\entry{matching, pattern}{36}
+\entry{matching, pattern}{37}
 \entry{metacharacter}{3}
 \initial {N}
 \entry{name}{3}
 \entry{native languages}{7}
-\entry{notation, readline}{121}
+\entry{notation, readline}{122}
 \initial {O}
 \entry{operator, shell}{3}
 \initial {P}
 \entry{parameters, positional}{23}
 \entry{parameters, special}{23}
 \entry{pathname expansion}{36}
-\entry{pattern matching}{36}
+\entry{pattern matching}{37}
 \entry{pipeline}{10}
 \entry{POSIX}{3}
-\entry{POSIX description}{107}
-\entry{POSIX Mode}{108}
+\entry{POSIX description}{108}
+\entry{POSIX Mode}{109}
 \entry{process group}{3}
 \entry{process group ID}{3}
 \entry{process substitution}{35}
-\entry{programmable completion}{146}
-\entry{prompting}{105}
+\entry{programmable completion}{147}
+\entry{prompting}{106}
 \initial {Q}
 \entry{quoting}{6}
 \entry{quoting, ANSI}{6}
 \initial {R}
-\entry{Readline, how to use}{119}
-\entry{redirection}{38}
+\entry{Readline, how to use}{120}
+\entry{redirection}{39}
 \entry{reserved word}{3}
 \entry{reserved words}{9}
-\entry{restricted shell}{107}
+\entry{restricted shell}{108}
 \entry{return status}{4}
 \initial {S}
-\entry{shell arithmetic}{99}
+\entry{shell arithmetic}{100}
 \entry{shell function}{19}
-\entry{shell script}{46}
+\entry{shell script}{47}
 \entry{shell variable}{21}
-\entry{shell, interactive}{95}
+\entry{shell, interactive}{96}
 \entry{signal}{4}
-\entry{signal handling}{45}
-\entry{special builtin}{4, 78}
-\entry{startup files}{94}
+\entry{signal handling}{46}
+\entry{special builtin}{4, 79}
+\entry{startup files}{95}
 \entry{string translations}{7}
-\entry{suspending jobs}{116}
+\entry{suspending jobs}{117}
 \initial {T}
 \entry{tilde expansion}{25}
 \entry{token}{4}
 \entry{translation, native languages}{7}
 \initial {U}
-\entry{unary arithmetic operators}{99}
+\entry{unary arithmetic operators}{100}
 \initial {V}
 \entry{variable, shell}{21}
-\entry{variables, readline}{124}
+\entry{variables, readline}{125}
 \initial {W}
 \entry{word}{4}
-\entry{word splitting}{35}
+\entry{word splitting}{36}
 \initial {Y}
-\entry{yanking text}{122}
+\entry{yanking text}{123}
index 71f7d44bd1902cce5a587c4ae0ce4e6333c13dcd..173c0d419693dc3b33c23871c4b7ed6ae77ef07e 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index a1c9c6f6322e59db50ad917256482a58f2849bb9..09df67ab36d800accd28d21b2030efc8bd7c0fbd 100644 (file)
-\entry{beginning-of-line (C-a)}{136}{\code {beginning-of-line (C-a)}}
-\entry{end-of-line (C-e)}{136}{\code {end-of-line (C-e)}}
-\entry{forward-char (C-f)}{136}{\code {forward-char (C-f)}}
-\entry{backward-char (C-b)}{136}{\code {backward-char (C-b)}}
-\entry{forward-word (M-f)}{136}{\code {forward-word (M-f)}}
-\entry{backward-word (M-b)}{136}{\code {backward-word (M-b)}}
-\entry{shell-forward-word (M-C-f)}{136}{\code {shell-forward-word (M-C-f)}}
-\entry{shell-backward-word (M-C-b)}{136}{\code {shell-backward-word (M-C-b)}}
-\entry{previous-screen-line ()}{136}{\code {previous-screen-line ()}}
-\entry{next-screen-line ()}{137}{\code {next-screen-line ()}}
-\entry{clear-display (M-C-l)}{137}{\code {clear-display (M-C-l)}}
-\entry{clear-screen (C-l)}{137}{\code {clear-screen (C-l)}}
-\entry{redraw-current-line ()}{137}{\code {redraw-current-line ()}}
-\entry{accept-line (Newline or Return)}{137}{\code {accept-line (Newline or Return)}}
-\entry{previous-history (C-p)}{137}{\code {previous-history (C-p)}}
-\entry{next-history (C-n)}{137}{\code {next-history (C-n)}}
-\entry{beginning-of-history (M-<)}{137}{\code {beginning-of-history (M-<)}}
-\entry{end-of-history (M->)}{137}{\code {end-of-history (M->)}}
-\entry{reverse-search-history (C-r)}{137}{\code {reverse-search-history (C-r)}}
-\entry{forward-search-history (C-s)}{137}{\code {forward-search-history (C-s)}}
-\entry{non-incremental-reverse-search-history (M-p)}{137}{\code {non-incremental-reverse-search-history (M-p)}}
-\entry{non-incremental-forward-search-history (M-n)}{138}{\code {non-incremental-forward-search-history (M-n)}}
-\entry{history-search-forward ()}{138}{\code {history-search-forward ()}}
-\entry{history-search-backward ()}{138}{\code {history-search-backward ()}}
-\entry{history-substring-search-forward ()}{138}{\code {history-substring-search-forward ()}}
-\entry{history-substring-search-backward ()}{138}{\code {history-substring-search-backward ()}}
-\entry{yank-nth-arg (M-C-y)}{138}{\code {yank-nth-arg (M-C-y)}}
-\entry{yank-last-arg (M-. or M-_)}{138}{\code {yank-last-arg (M-. or M-_)}}
-\entry{operate-and-get-next (C-o)}{138}{\code {operate-and-get-next (C-o)}}
-\entry{fetch-history ()}{139}{\code {fetch-history ()}}
-\entry{end-of-file (usually C-d)}{139}{\code {\i {end-of-file} (usually C-d)}}
-\entry{delete-char (C-d)}{139}{\code {delete-char (C-d)}}
-\entry{backward-delete-char (Rubout)}{139}{\code {backward-delete-char (Rubout)}}
-\entry{forward-backward-delete-char ()}{139}{\code {forward-backward-delete-char ()}}
-\entry{quoted-insert (C-q or C-v)}{139}{\code {quoted-insert (C-q or C-v)}}
-\entry{self-insert (a, b, A, 1, !, ...{})}{139}{\code {self-insert (a, b, A, 1, !, \dots {})}}
-\entry{bracketed-paste-begin ()}{139}{\code {bracketed-paste-begin ()}}
-\entry{transpose-chars (C-t)}{139}{\code {transpose-chars (C-t)}}
-\entry{transpose-words (M-t)}{140}{\code {transpose-words (M-t)}}
-\entry{upcase-word (M-u)}{140}{\code {upcase-word (M-u)}}
-\entry{downcase-word (M-l)}{140}{\code {downcase-word (M-l)}}
-\entry{capitalize-word (M-c)}{140}{\code {capitalize-word (M-c)}}
-\entry{overwrite-mode ()}{140}{\code {overwrite-mode ()}}
-\entry{kill-line (C-k)}{140}{\code {kill-line (C-k)}}
-\entry{backward-kill-line (C-x Rubout)}{140}{\code {backward-kill-line (C-x Rubout)}}
-\entry{unix-line-discard (C-u)}{140}{\code {unix-line-discard (C-u)}}
-\entry{kill-whole-line ()}{140}{\code {kill-whole-line ()}}
-\entry{kill-word (M-d)}{140}{\code {kill-word (M-d)}}
-\entry{backward-kill-word (M-DEL)}{140}{\code {backward-kill-word (M-\key {DEL})}}
-\entry{shell-kill-word (M-C-d)}{141}{\code {shell-kill-word (M-C-d)}}
-\entry{shell-backward-kill-word ()}{141}{\code {shell-backward-kill-word ()}}
-\entry{shell-transpose-words (M-C-t)}{141}{\code {shell-transpose-words (M-C-t)}}
-\entry{unix-word-rubout (C-w)}{141}{\code {unix-word-rubout (C-w)}}
-\entry{unix-filename-rubout ()}{141}{\code {unix-filename-rubout ()}}
-\entry{delete-horizontal-space ()}{141}{\code {delete-horizontal-space ()}}
-\entry{kill-region ()}{141}{\code {kill-region ()}}
-\entry{copy-region-as-kill ()}{141}{\code {copy-region-as-kill ()}}
-\entry{copy-backward-word ()}{141}{\code {copy-backward-word ()}}
-\entry{copy-forward-word ()}{141}{\code {copy-forward-word ()}}
-\entry{yank (C-y)}{141}{\code {yank (C-y)}}
-\entry{yank-pop (M-y)}{141}{\code {yank-pop (M-y)}}
-\entry{digit-argument (M-0, M-1, ...{} M--)}{141}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
-\entry{universal-argument ()}{142}{\code {universal-argument ()}}
-\entry{complete (TAB)}{142}{\code {complete (\key {TAB})}}
-\entry{possible-completions (M-?)}{142}{\code {possible-completions (M-?)}}
-\entry{insert-completions (M-*)}{142}{\code {insert-completions (M-*)}}
-\entry{menu-complete ()}{142}{\code {menu-complete ()}}
-\entry{menu-complete-backward ()}{142}{\code {menu-complete-backward ()}}
-\entry{delete-char-or-list ()}{142}{\code {delete-char-or-list ()}}
-\entry{complete-filename (M-/)}{142}{\code {complete-filename (M-/)}}
-\entry{possible-filename-completions (C-x /)}{143}{\code {possible-filename-completions (C-x /)}}
-\entry{complete-username (M-~)}{143}{\code {complete-username (M-~)}}
-\entry{possible-username-completions (C-x ~)}{143}{\code {possible-username-completions (C-x ~)}}
-\entry{complete-variable (M-$)}{143}{\code {complete-variable (M-$)}}
-\entry{possible-variable-completions (C-x $)}{143}{\code {possible-variable-completions (C-x $)}}
-\entry{complete-hostname (M-@)}{143}{\code {complete-hostname (M-@)}}
-\entry{possible-hostname-completions (C-x @)}{143}{\code {possible-hostname-completions (C-x @)}}
-\entry{complete-command (M-!)}{143}{\code {complete-command (M-!)}}
-\entry{possible-command-completions (C-x !)}{143}{\code {possible-command-completions (C-x !)}}
-\entry{dynamic-complete-history (M-TAB)}{143}{\code {dynamic-complete-history (M-\key {TAB})}}
-\entry{dabbrev-expand ()}{143}{\code {dabbrev-expand ()}}
-\entry{complete-into-braces (M-{\indexlbrace })}{143}{\code {complete-into-braces (M-{\tt \char 123})}}
-\entry{start-kbd-macro (C-x ()}{143}{\code {start-kbd-macro (C-x ()}}
-\entry{end-kbd-macro (C-x ))}{143}{\code {end-kbd-macro (C-x ))}}
-\entry{call-last-kbd-macro (C-x e)}{144}{\code {call-last-kbd-macro (C-x e)}}
-\entry{print-last-kbd-macro ()}{144}{\code {print-last-kbd-macro ()}}
-\entry{re-read-init-file (C-x C-r)}{144}{\code {re-read-init-file (C-x C-r)}}
-\entry{abort (C-g)}{144}{\code {abort (C-g)}}
-\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{144}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
-\entry{prefix-meta (ESC)}{144}{\code {prefix-meta (\key {ESC})}}
-\entry{undo (C-_ or C-x C-u)}{144}{\code {undo (C-_ or C-x C-u)}}
-\entry{revert-line (M-r)}{144}{\code {revert-line (M-r)}}
-\entry{tilde-expand (M-&)}{144}{\code {tilde-expand (M-&)}}
-\entry{set-mark (C-@)}{144}{\code {set-mark (C-@)}}
-\entry{exchange-point-and-mark (C-x C-x)}{144}{\code {exchange-point-and-mark (C-x C-x)}}
-\entry{character-search (C-])}{144}{\code {character-search (C-])}}
-\entry{character-search-backward (M-C-])}{144}{\code {character-search-backward (M-C-])}}
-\entry{skip-csi-sequence ()}{144}{\code {skip-csi-sequence ()}}
-\entry{insert-comment (M-#)}{145}{\code {insert-comment (M-#)}}
-\entry{dump-functions ()}{145}{\code {dump-functions ()}}
-\entry{dump-variables ()}{145}{\code {dump-variables ()}}
-\entry{dump-macros ()}{145}{\code {dump-macros ()}}
-\entry{spell-correct-word (C-x s)}{145}{\code {spell-correct-word (C-x s)}}
-\entry{glob-complete-word (M-g)}{145}{\code {glob-complete-word (M-g)}}
-\entry{glob-expand-word (C-x *)}{145}{\code {glob-expand-word (C-x *)}}
-\entry{glob-list-expansions (C-x g)}{145}{\code {glob-list-expansions (C-x g)}}
-\entry{display-shell-version (C-x C-v)}{146}{\code {display-shell-version (C-x C-v)}}
-\entry{shell-expand-line (M-C-e)}{146}{\code {shell-expand-line (M-C-e)}}
-\entry{history-expand-line (M-^)}{146}{\code {history-expand-line (M-^)}}
-\entry{magic-space ()}{146}{\code {magic-space ()}}
-\entry{alias-expand-line ()}{146}{\code {alias-expand-line ()}}
-\entry{history-and-alias-expand-line ()}{146}{\code {history-and-alias-expand-line ()}}
-\entry{insert-last-argument (M-. or M-_)}{146}{\code {insert-last-argument (M-. or M-_)}}
-\entry{edit-and-execute-command (C-x C-e)}{146}{\code {edit-and-execute-command (C-x C-e)}}
+\entry{beginning-of-line (C-a)}{137}{\code {beginning-of-line (C-a)}}
+\entry{end-of-line (C-e)}{137}{\code {end-of-line (C-e)}}
+\entry{forward-char (C-f)}{137}{\code {forward-char (C-f)}}
+\entry{backward-char (C-b)}{137}{\code {backward-char (C-b)}}
+\entry{forward-word (M-f)}{137}{\code {forward-word (M-f)}}
+\entry{backward-word (M-b)}{137}{\code {backward-word (M-b)}}
+\entry{shell-forward-word (M-C-f)}{137}{\code {shell-forward-word (M-C-f)}}
+\entry{shell-backward-word (M-C-b)}{137}{\code {shell-backward-word (M-C-b)}}
+\entry{previous-screen-line ()}{137}{\code {previous-screen-line ()}}
+\entry{next-screen-line ()}{138}{\code {next-screen-line ()}}
+\entry{clear-display (M-C-l)}{138}{\code {clear-display (M-C-l)}}
+\entry{clear-screen (C-l)}{138}{\code {clear-screen (C-l)}}
+\entry{redraw-current-line ()}{138}{\code {redraw-current-line ()}}
+\entry{accept-line (Newline or Return)}{138}{\code {accept-line (Newline or Return)}}
+\entry{previous-history (C-p)}{138}{\code {previous-history (C-p)}}
+\entry{next-history (C-n)}{138}{\code {next-history (C-n)}}
+\entry{beginning-of-history (M-<)}{138}{\code {beginning-of-history (M-<)}}
+\entry{end-of-history (M->)}{138}{\code {end-of-history (M->)}}
+\entry{reverse-search-history (C-r)}{138}{\code {reverse-search-history (C-r)}}
+\entry{forward-search-history (C-s)}{138}{\code {forward-search-history (C-s)}}
+\entry{non-incremental-reverse-search-history (M-p)}{138}{\code {non-incremental-reverse-search-history (M-p)}}
+\entry{non-incremental-forward-search-history (M-n)}{139}{\code {non-incremental-forward-search-history (M-n)}}
+\entry{history-search-forward ()}{139}{\code {history-search-forward ()}}
+\entry{history-search-backward ()}{139}{\code {history-search-backward ()}}
+\entry{history-substring-search-forward ()}{139}{\code {history-substring-search-forward ()}}
+\entry{history-substring-search-backward ()}{139}{\code {history-substring-search-backward ()}}
+\entry{yank-nth-arg (M-C-y)}{139}{\code {yank-nth-arg (M-C-y)}}
+\entry{yank-last-arg (M-. or M-_)}{139}{\code {yank-last-arg (M-. or M-_)}}
+\entry{operate-and-get-next (C-o)}{139}{\code {operate-and-get-next (C-o)}}
+\entry{fetch-history ()}{140}{\code {fetch-history ()}}
+\entry{end-of-file (usually C-d)}{140}{\code {\i {end-of-file} (usually C-d)}}
+\entry{delete-char (C-d)}{140}{\code {delete-char (C-d)}}
+\entry{backward-delete-char (Rubout)}{140}{\code {backward-delete-char (Rubout)}}
+\entry{forward-backward-delete-char ()}{140}{\code {forward-backward-delete-char ()}}
+\entry{quoted-insert (C-q or C-v)}{140}{\code {quoted-insert (C-q or C-v)}}
+\entry{self-insert (a, b, A, 1, !, ...{})}{140}{\code {self-insert (a, b, A, 1, !, \dots {})}}
+\entry{bracketed-paste-begin ()}{140}{\code {bracketed-paste-begin ()}}
+\entry{transpose-chars (C-t)}{140}{\code {transpose-chars (C-t)}}
+\entry{transpose-words (M-t)}{141}{\code {transpose-words (M-t)}}
+\entry{upcase-word (M-u)}{141}{\code {upcase-word (M-u)}}
+\entry{downcase-word (M-l)}{141}{\code {downcase-word (M-l)}}
+\entry{capitalize-word (M-c)}{141}{\code {capitalize-word (M-c)}}
+\entry{overwrite-mode ()}{141}{\code {overwrite-mode ()}}
+\entry{kill-line (C-k)}{141}{\code {kill-line (C-k)}}
+\entry{backward-kill-line (C-x Rubout)}{141}{\code {backward-kill-line (C-x Rubout)}}
+\entry{unix-line-discard (C-u)}{141}{\code {unix-line-discard (C-u)}}
+\entry{kill-whole-line ()}{141}{\code {kill-whole-line ()}}
+\entry{kill-word (M-d)}{141}{\code {kill-word (M-d)}}
+\entry{backward-kill-word (M-DEL)}{141}{\code {backward-kill-word (M-\key {DEL})}}
+\entry{shell-kill-word (M-C-d)}{142}{\code {shell-kill-word (M-C-d)}}
+\entry{shell-backward-kill-word ()}{142}{\code {shell-backward-kill-word ()}}
+\entry{shell-transpose-words (M-C-t)}{142}{\code {shell-transpose-words (M-C-t)}}
+\entry{unix-word-rubout (C-w)}{142}{\code {unix-word-rubout (C-w)}}
+\entry{unix-filename-rubout ()}{142}{\code {unix-filename-rubout ()}}
+\entry{delete-horizontal-space ()}{142}{\code {delete-horizontal-space ()}}
+\entry{kill-region ()}{142}{\code {kill-region ()}}
+\entry{copy-region-as-kill ()}{142}{\code {copy-region-as-kill ()}}
+\entry{copy-backward-word ()}{142}{\code {copy-backward-word ()}}
+\entry{copy-forward-word ()}{142}{\code {copy-forward-word ()}}
+\entry{yank (C-y)}{142}{\code {yank (C-y)}}
+\entry{yank-pop (M-y)}{142}{\code {yank-pop (M-y)}}
+\entry{digit-argument (M-0, M-1, ...{} M--)}{142}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
+\entry{universal-argument ()}{143}{\code {universal-argument ()}}
+\entry{complete (TAB)}{143}{\code {complete (\key {TAB})}}
+\entry{possible-completions (M-?)}{143}{\code {possible-completions (M-?)}}
+\entry{insert-completions (M-*)}{143}{\code {insert-completions (M-*)}}
+\entry{menu-complete ()}{143}{\code {menu-complete ()}}
+\entry{menu-complete-backward ()}{143}{\code {menu-complete-backward ()}}
+\entry{delete-char-or-list ()}{143}{\code {delete-char-or-list ()}}
+\entry{complete-filename (M-/)}{143}{\code {complete-filename (M-/)}}
+\entry{possible-filename-completions (C-x /)}{144}{\code {possible-filename-completions (C-x /)}}
+\entry{complete-username (M-~)}{144}{\code {complete-username (M-~)}}
+\entry{possible-username-completions (C-x ~)}{144}{\code {possible-username-completions (C-x ~)}}
+\entry{complete-variable (M-$)}{144}{\code {complete-variable (M-$)}}
+\entry{possible-variable-completions (C-x $)}{144}{\code {possible-variable-completions (C-x $)}}
+\entry{complete-hostname (M-@)}{144}{\code {complete-hostname (M-@)}}
+\entry{possible-hostname-completions (C-x @)}{144}{\code {possible-hostname-completions (C-x @)}}
+\entry{complete-command (M-!)}{144}{\code {complete-command (M-!)}}
+\entry{possible-command-completions (C-x !)}{144}{\code {possible-command-completions (C-x !)}}
+\entry{dynamic-complete-history (M-TAB)}{144}{\code {dynamic-complete-history (M-\key {TAB})}}
+\entry{dabbrev-expand ()}{144}{\code {dabbrev-expand ()}}
+\entry{complete-into-braces (M-{\indexlbrace })}{144}{\code {complete-into-braces (M-{\tt \char 123})}}
+\entry{start-kbd-macro (C-x ()}{144}{\code {start-kbd-macro (C-x ()}}
+\entry{end-kbd-macro (C-x ))}{144}{\code {end-kbd-macro (C-x ))}}
+\entry{call-last-kbd-macro (C-x e)}{145}{\code {call-last-kbd-macro (C-x e)}}
+\entry{print-last-kbd-macro ()}{145}{\code {print-last-kbd-macro ()}}
+\entry{re-read-init-file (C-x C-r)}{145}{\code {re-read-init-file (C-x C-r)}}
+\entry{abort (C-g)}{145}{\code {abort (C-g)}}
+\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{145}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
+\entry{prefix-meta (ESC)}{145}{\code {prefix-meta (\key {ESC})}}
+\entry{undo (C-_ or C-x C-u)}{145}{\code {undo (C-_ or C-x C-u)}}
+\entry{revert-line (M-r)}{145}{\code {revert-line (M-r)}}
+\entry{tilde-expand (M-&)}{145}{\code {tilde-expand (M-&)}}
+\entry{set-mark (C-@)}{145}{\code {set-mark (C-@)}}
+\entry{exchange-point-and-mark (C-x C-x)}{145}{\code {exchange-point-and-mark (C-x C-x)}}
+\entry{character-search (C-])}{145}{\code {character-search (C-])}}
+\entry{character-search-backward (M-C-])}{145}{\code {character-search-backward (M-C-])}}
+\entry{skip-csi-sequence ()}{145}{\code {skip-csi-sequence ()}}
+\entry{insert-comment (M-#)}{146}{\code {insert-comment (M-#)}}
+\entry{dump-functions ()}{146}{\code {dump-functions ()}}
+\entry{dump-variables ()}{146}{\code {dump-variables ()}}
+\entry{dump-macros ()}{146}{\code {dump-macros ()}}
+\entry{spell-correct-word (C-x s)}{146}{\code {spell-correct-word (C-x s)}}
+\entry{glob-complete-word (M-g)}{146}{\code {glob-complete-word (M-g)}}
+\entry{glob-expand-word (C-x *)}{146}{\code {glob-expand-word (C-x *)}}
+\entry{glob-list-expansions (C-x g)}{146}{\code {glob-list-expansions (C-x g)}}
+\entry{display-shell-version (C-x C-v)}{147}{\code {display-shell-version (C-x C-v)}}
+\entry{shell-expand-line (M-C-e)}{147}{\code {shell-expand-line (M-C-e)}}
+\entry{history-expand-line (M-^)}{147}{\code {history-expand-line (M-^)}}
+\entry{magic-space ()}{147}{\code {magic-space ()}}
+\entry{alias-expand-line ()}{147}{\code {alias-expand-line ()}}
+\entry{history-and-alias-expand-line ()}{147}{\code {history-and-alias-expand-line ()}}
+\entry{insert-last-argument (M-. or M-_)}{147}{\code {insert-last-argument (M-. or M-_)}}
+\entry{edit-and-execute-command (C-x C-e)}{147}{\code {edit-and-execute-command (C-x C-e)}}
index bf1c7bd6aba4c7dcc7350b7991f04974113c85f1..e0a1809c87ac675645b3c192bad3fd7f3aa158c0 100644 (file)
 \initial {A}
-\entry{\code {abort (C-g)}}{144}
-\entry{\code {accept-line (Newline or Return)}}{137}
-\entry{\code {alias-expand-line ()}}{146}
+\entry{\code {abort (C-g)}}{145}
+\entry{\code {accept-line (Newline or Return)}}{138}
+\entry{\code {alias-expand-line ()}}{147}
 \initial {B}
-\entry{\code {backward-char (C-b)}}{136}
-\entry{\code {backward-delete-char (Rubout)}}{139}
-\entry{\code {backward-kill-line (C-x Rubout)}}{140}
-\entry{\code {backward-kill-word (M-\key {DEL})}}{140}
-\entry{\code {backward-word (M-b)}}{136}
-\entry{\code {beginning-of-history (M-<)}}{137}
-\entry{\code {beginning-of-line (C-a)}}{136}
-\entry{\code {bracketed-paste-begin ()}}{139}
+\entry{\code {backward-char (C-b)}}{137}
+\entry{\code {backward-delete-char (Rubout)}}{140}
+\entry{\code {backward-kill-line (C-x Rubout)}}{141}
+\entry{\code {backward-kill-word (M-\key {DEL})}}{141}
+\entry{\code {backward-word (M-b)}}{137}
+\entry{\code {beginning-of-history (M-<)}}{138}
+\entry{\code {beginning-of-line (C-a)}}{137}
+\entry{\code {bracketed-paste-begin ()}}{140}
 \initial {C}
-\entry{\code {call-last-kbd-macro (C-x e)}}{144}
-\entry{\code {capitalize-word (M-c)}}{140}
-\entry{\code {character-search (C-])}}{144}
-\entry{\code {character-search-backward (M-C-])}}{144}
-\entry{\code {clear-display (M-C-l)}}{137}
-\entry{\code {clear-screen (C-l)}}{137}
-\entry{\code {complete (\key {TAB})}}{142}
-\entry{\code {complete-command (M-!)}}{143}
-\entry{\code {complete-filename (M-/)}}{142}
-\entry{\code {complete-hostname (M-@)}}{143}
-\entry{\code {complete-into-braces (M-{\tt \char 123})}}{143}
-\entry{\code {complete-username (M-~)}}{143}
-\entry{\code {complete-variable (M-$)}}{143}
-\entry{\code {copy-backward-word ()}}{141}
-\entry{\code {copy-forward-word ()}}{141}
-\entry{\code {copy-region-as-kill ()}}{141}
+\entry{\code {call-last-kbd-macro (C-x e)}}{145}
+\entry{\code {capitalize-word (M-c)}}{141}
+\entry{\code {character-search (C-])}}{145}
+\entry{\code {character-search-backward (M-C-])}}{145}
+\entry{\code {clear-display (M-C-l)}}{138}
+\entry{\code {clear-screen (C-l)}}{138}
+\entry{\code {complete (\key {TAB})}}{143}
+\entry{\code {complete-command (M-!)}}{144}
+\entry{\code {complete-filename (M-/)}}{143}
+\entry{\code {complete-hostname (M-@)}}{144}
+\entry{\code {complete-into-braces (M-{\tt \char 123})}}{144}
+\entry{\code {complete-username (M-~)}}{144}
+\entry{\code {complete-variable (M-$)}}{144}
+\entry{\code {copy-backward-word ()}}{142}
+\entry{\code {copy-forward-word ()}}{142}
+\entry{\code {copy-region-as-kill ()}}{142}
 \initial {D}
-\entry{\code {dabbrev-expand ()}}{143}
-\entry{\code {delete-char (C-d)}}{139}
-\entry{\code {delete-char-or-list ()}}{142}
-\entry{\code {delete-horizontal-space ()}}{141}
-\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{141}
-\entry{\code {display-shell-version (C-x C-v)}}{146}
-\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{144}
-\entry{\code {downcase-word (M-l)}}{140}
-\entry{\code {dump-functions ()}}{145}
-\entry{\code {dump-macros ()}}{145}
-\entry{\code {dump-variables ()}}{145}
-\entry{\code {dynamic-complete-history (M-\key {TAB})}}{143}
+\entry{\code {dabbrev-expand ()}}{144}
+\entry{\code {delete-char (C-d)}}{140}
+\entry{\code {delete-char-or-list ()}}{143}
+\entry{\code {delete-horizontal-space ()}}{142}
+\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{142}
+\entry{\code {display-shell-version (C-x C-v)}}{147}
+\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{145}
+\entry{\code {downcase-word (M-l)}}{141}
+\entry{\code {dump-functions ()}}{146}
+\entry{\code {dump-macros ()}}{146}
+\entry{\code {dump-variables ()}}{146}
+\entry{\code {dynamic-complete-history (M-\key {TAB})}}{144}
 \initial {E}
-\entry{\code {edit-and-execute-command (C-x C-e)}}{146}
-\entry{\code {end-kbd-macro (C-x ))}}{143}
-\entry{\code {\i {end-of-file} (usually C-d)}}{139}
-\entry{\code {end-of-history (M->)}}{137}
-\entry{\code {end-of-line (C-e)}}{136}
-\entry{\code {exchange-point-and-mark (C-x C-x)}}{144}
+\entry{\code {edit-and-execute-command (C-x C-e)}}{147}
+\entry{\code {end-kbd-macro (C-x ))}}{144}
+\entry{\code {\i {end-of-file} (usually C-d)}}{140}
+\entry{\code {end-of-history (M->)}}{138}
+\entry{\code {end-of-line (C-e)}}{137}
+\entry{\code {exchange-point-and-mark (C-x C-x)}}{145}
 \initial {F}
-\entry{\code {fetch-history ()}}{139}
-\entry{\code {forward-backward-delete-char ()}}{139}
-\entry{\code {forward-char (C-f)}}{136}
-\entry{\code {forward-search-history (C-s)}}{137}
-\entry{\code {forward-word (M-f)}}{136}
+\entry{\code {fetch-history ()}}{140}
+\entry{\code {forward-backward-delete-char ()}}{140}
+\entry{\code {forward-char (C-f)}}{137}
+\entry{\code {forward-search-history (C-s)}}{138}
+\entry{\code {forward-word (M-f)}}{137}
 \initial {G}
-\entry{\code {glob-complete-word (M-g)}}{145}
-\entry{\code {glob-expand-word (C-x *)}}{145}
-\entry{\code {glob-list-expansions (C-x g)}}{145}
+\entry{\code {glob-complete-word (M-g)}}{146}
+\entry{\code {glob-expand-word (C-x *)}}{146}
+\entry{\code {glob-list-expansions (C-x g)}}{146}
 \initial {H}
-\entry{\code {history-and-alias-expand-line ()}}{146}
-\entry{\code {history-expand-line (M-^)}}{146}
-\entry{\code {history-search-backward ()}}{138}
-\entry{\code {history-search-forward ()}}{138}
-\entry{\code {history-substring-search-backward ()}}{138}
-\entry{\code {history-substring-search-forward ()}}{138}
+\entry{\code {history-and-alias-expand-line ()}}{147}
+\entry{\code {history-expand-line (M-^)}}{147}
+\entry{\code {history-search-backward ()}}{139}
+\entry{\code {history-search-forward ()}}{139}
+\entry{\code {history-substring-search-backward ()}}{139}
+\entry{\code {history-substring-search-forward ()}}{139}
 \initial {I}
-\entry{\code {insert-comment (M-#)}}{145}
-\entry{\code {insert-completions (M-*)}}{142}
-\entry{\code {insert-last-argument (M-. or M-_)}}{146}
+\entry{\code {insert-comment (M-#)}}{146}
+\entry{\code {insert-completions (M-*)}}{143}
+\entry{\code {insert-last-argument (M-. or M-_)}}{147}
 \initial {K}
-\entry{\code {kill-line (C-k)}}{140}
-\entry{\code {kill-region ()}}{141}
-\entry{\code {kill-whole-line ()}}{140}
-\entry{\code {kill-word (M-d)}}{140}
+\entry{\code {kill-line (C-k)}}{141}
+\entry{\code {kill-region ()}}{142}
+\entry{\code {kill-whole-line ()}}{141}
+\entry{\code {kill-word (M-d)}}{141}
 \initial {M}
-\entry{\code {magic-space ()}}{146}
-\entry{\code {menu-complete ()}}{142}
-\entry{\code {menu-complete-backward ()}}{142}
+\entry{\code {magic-space ()}}{147}
+\entry{\code {menu-complete ()}}{143}
+\entry{\code {menu-complete-backward ()}}{143}
 \initial {N}
-\entry{\code {next-history (C-n)}}{137}
-\entry{\code {next-screen-line ()}}{137}
-\entry{\code {non-incremental-forward-search-history (M-n)}}{138}
-\entry{\code {non-incremental-reverse-search-history (M-p)}}{137}
+\entry{\code {next-history (C-n)}}{138}
+\entry{\code {next-screen-line ()}}{138}
+\entry{\code {non-incremental-forward-search-history (M-n)}}{139}
+\entry{\code {non-incremental-reverse-search-history (M-p)}}{138}
 \initial {O}
-\entry{\code {operate-and-get-next (C-o)}}{138}
-\entry{\code {overwrite-mode ()}}{140}
+\entry{\code {operate-and-get-next (C-o)}}{139}
+\entry{\code {overwrite-mode ()}}{141}
 \initial {P}
-\entry{\code {possible-command-completions (C-x !)}}{143}
-\entry{\code {possible-completions (M-?)}}{142}
-\entry{\code {possible-filename-completions (C-x /)}}{143}
-\entry{\code {possible-hostname-completions (C-x @)}}{143}
-\entry{\code {possible-username-completions (C-x ~)}}{143}
-\entry{\code {possible-variable-completions (C-x $)}}{143}
-\entry{\code {prefix-meta (\key {ESC})}}{144}
-\entry{\code {previous-history (C-p)}}{137}
-\entry{\code {previous-screen-line ()}}{136}
-\entry{\code {print-last-kbd-macro ()}}{144}
+\entry{\code {possible-command-completions (C-x !)}}{144}
+\entry{\code {possible-completions (M-?)}}{143}
+\entry{\code {possible-filename-completions (C-x /)}}{144}
+\entry{\code {possible-hostname-completions (C-x @)}}{144}
+\entry{\code {possible-username-completions (C-x ~)}}{144}
+\entry{\code {possible-variable-completions (C-x $)}}{144}
+\entry{\code {prefix-meta (\key {ESC})}}{145}
+\entry{\code {previous-history (C-p)}}{138}
+\entry{\code {previous-screen-line ()}}{137}
+\entry{\code {print-last-kbd-macro ()}}{145}
 \initial {Q}
-\entry{\code {quoted-insert (C-q or C-v)}}{139}
+\entry{\code {quoted-insert (C-q or C-v)}}{140}
 \initial {R}
-\entry{\code {re-read-init-file (C-x C-r)}}{144}
-\entry{\code {redraw-current-line ()}}{137}
-\entry{\code {reverse-search-history (C-r)}}{137}
-\entry{\code {revert-line (M-r)}}{144}
+\entry{\code {re-read-init-file (C-x C-r)}}{145}
+\entry{\code {redraw-current-line ()}}{138}
+\entry{\code {reverse-search-history (C-r)}}{138}
+\entry{\code {revert-line (M-r)}}{145}
 \initial {S}
-\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{139}
-\entry{\code {set-mark (C-@)}}{144}
-\entry{\code {shell-backward-kill-word ()}}{141}
-\entry{\code {shell-backward-word (M-C-b)}}{136}
-\entry{\code {shell-expand-line (M-C-e)}}{146}
-\entry{\code {shell-forward-word (M-C-f)}}{136}
-\entry{\code {shell-kill-word (M-C-d)}}{141}
-\entry{\code {shell-transpose-words (M-C-t)}}{141}
-\entry{\code {skip-csi-sequence ()}}{144}
-\entry{\code {spell-correct-word (C-x s)}}{145}
-\entry{\code {start-kbd-macro (C-x ()}}{143}
+\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{140}
+\entry{\code {set-mark (C-@)}}{145}
+\entry{\code {shell-backward-kill-word ()}}{142}
+\entry{\code {shell-backward-word (M-C-b)}}{137}
+\entry{\code {shell-expand-line (M-C-e)}}{147}
+\entry{\code {shell-forward-word (M-C-f)}}{137}
+\entry{\code {shell-kill-word (M-C-d)}}{142}
+\entry{\code {shell-transpose-words (M-C-t)}}{142}
+\entry{\code {skip-csi-sequence ()}}{145}
+\entry{\code {spell-correct-word (C-x s)}}{146}
+\entry{\code {start-kbd-macro (C-x ()}}{144}
 \initial {T}
-\entry{\code {tilde-expand (M-&)}}{144}
-\entry{\code {transpose-chars (C-t)}}{139}
-\entry{\code {transpose-words (M-t)}}{140}
+\entry{\code {tilde-expand (M-&)}}{145}
+\entry{\code {transpose-chars (C-t)}}{140}
+\entry{\code {transpose-words (M-t)}}{141}
 \initial {U}
-\entry{\code {undo (C-_ or C-x C-u)}}{144}
-\entry{\code {universal-argument ()}}{142}
-\entry{\code {unix-filename-rubout ()}}{141}
-\entry{\code {unix-line-discard (C-u)}}{140}
-\entry{\code {unix-word-rubout (C-w)}}{141}
-\entry{\code {upcase-word (M-u)}}{140}
+\entry{\code {undo (C-_ or C-x C-u)}}{145}
+\entry{\code {universal-argument ()}}{143}
+\entry{\code {unix-filename-rubout ()}}{142}
+\entry{\code {unix-line-discard (C-u)}}{141}
+\entry{\code {unix-word-rubout (C-w)}}{142}
+\entry{\code {upcase-word (M-u)}}{141}
 \initial {Y}
-\entry{\code {yank (C-y)}}{141}
-\entry{\code {yank-last-arg (M-. or M-_)}}{138}
-\entry{\code {yank-nth-arg (M-C-y)}}{138}
-\entry{\code {yank-pop (M-y)}}{141}
+\entry{\code {yank (C-y)}}{142}
+\entry{\code {yank-last-arg (M-. or M-_)}}{139}
+\entry{\code {yank-nth-arg (M-C-y)}}{139}
+\entry{\code {yank-pop (M-y)}}{142}
index c0496399dd6518ff7b130833b4db4fdfcaa6e9d6..fea2ed77a870488e60c4132d17b37cfbab4cb136 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.2, 17 April 2023).
+the Bash shell (version 5.2, 14 May 2023).
 
-This is Edition 5.2, last updated 17 April 2023,
+This is Edition 5.2, last updated 14 May 2023,
 of The GNU Bash Reference Manual,
 for Bash, Version 5.2.
 
@@ -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.2, 17 April 2023).
+the Bash shell (version 5.2, 14 May 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.2, last updated 17 April 2023,
+<p>This is Edition 5.2, last updated 14 May 2023,
 of <cite>The GNU Bash Reference Manual</cite>,
 for <code>Bash</code>, Version 5.2.
 </p>
@@ -737,8 +737,8 @@ Next: <a href="#Locale-Translation" accesskey="n" rel="next">Locale-Specific Tra
 <span id="ANSI_002dC-Quoting-1"></span><h4 class="subsubsection">3.1.2.4 ANSI-C Quoting</h4>
 <span id="index-quoting_002c-ANSI"></span>
 
-<p>Character sequences of the form $&rsquo;<var>string</var>&rsquo; are treated as a special
-kind of single quotes.
+<p>Character sequences of the form <code>$'<var>string</var>'</code> are treated as
+a special kind of single quotes.
 The sequence expands to <var>string</var>, with backslash-escaped characters
 in <var>string</var> replaced as specified by the ANSI C standard.
 Backslash escape sequences, if present, are decoded as follows:
@@ -3049,24 +3049,25 @@ Next: <a href="#Arithmetic-Expansion" accesskey="n" rel="next">Arithmetic Expans
 
 <p>Command substitution allows the output of a command to replace
 the command itself.
-Command substitution occurs when a command is enclosed as follows:
+The standard form of command substitution occurs when a command is
+enclosed as follows:
 </p><div class="example">
 <pre class="example">$(<var>command</var>)
 </pre></div>
-<p>or
+<p>or (deprecated)
 </p><div class="example">
-<pre class="example">`<var>command</var>`
+<pre class="example">`<var>command</var>`.
 </pre></div>
 
-<p>Bash performs the expansion by executing <var>command</var> in a subshell environment
-and replacing the command substitution with the standard output of the
-command, with any trailing newlines deleted.
+<p>Bash performs the expansion by executing <var>command</var> in a subshell
+environment 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 command substitution <code>$(cat <var>file</var>)</code> can be
 replaced by the equivalent but faster <code>$(&lt; <var>file</var>)</code>.
 </p>
-<p>When the old-style backquote form of substitution is used,
+<p>With the old-style backquote form of substitution,
 backslash retains its literal meaning except when followed by
 &lsquo;<samp>$</samp>&rsquo;, &lsquo;<samp>`</samp>&rsquo;, or &lsquo;<samp>\</samp>&rsquo;. 
 The first backquote not preceded by a backslash terminates the
@@ -3074,11 +3075,70 @@ command substitution.
 When using the <code>$(<var>command</var>)</code> form, all characters between
 the parentheses make up the command; none are treated specially.
 </p>
+<p>There is an alternate form of command substitution:
+</p>
+<div class="example">
+<pre class="example">${<var>C</var> <var>command</var>; }
+</pre></div>
+
+<p>which executes <var>command</var> in the current execution environment.
+This means that side effects of <var>command</var> take effect immediately
+in the current execution environment and persist in the current 
+environment after the command completes (e.g., the <code>exit</code> builtin
+will exit the shell).
+</p>
+<p>The character <var>C</var> following the open brace must be a space, tab,
+newline, &lsquo;<samp>(</samp>&rsquo;, or &lsquo;<samp>|</samp>&rsquo;, 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).
+Bash allows the close brace to be joined to the remaining characters in
+the word without being followed by a shell metacharacter as a reserved
+word would usually require.
+</p>
+<p>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 <code>return</code> builtin forces
+<var>command</var> to complete;
+however, the rest of the execution environment,
+including the positional parameters, is shared with the caller.
+</p>
+<p>If the first character following the open brace is a &lsquo;<samp>(</samp>&rsquo;,
+<var>command</var> is executed in a subshell, and <var>command</var> must be
+terminated by a &lsquo;<samp>)</samp>&rsquo;. This is similar to the <code>(</code> compound
+command (see <a href="#Command-Grouping">Grouping Commands</a>).
+If the first character is a &lsquo;<samp>|</samp>&rsquo;, the construct expands to the
+value of the <code>REPLY</code> shell variable after <var>command</var> executes,
+without removing any trailing newlines,
+and the standard output of <var>command</var> remains the same as in the
+calling shell.
+Bash creates <code>REPLY</code> as an initially-unset local variable when
+<var>command</var> executes, and restores <code>REPLY</code> to the value it had
+before the command substitution after <var>command</var> completes,
+as with any local variable.
+</p>
+<p>For example, this construct expands to &lsquo;<samp>12345</samp>&rsquo;, and leaves the
+shell variable <code>X</code> unchanged in the current execution environment:
+</p>
+<div class="example">
+<pre class="example">${ local X=12345 ; echo $X; }
+</pre></div>
+
+<p>(not declaring <code>X</code> as local would modify its value in the current
+environment, as with normal shell function execution),
+while this construct does not require any output to expand to
+&lsquo;<samp>12345</samp>&rsquo;:
+</p>
+<div class="example">
+<pre class="example">${| REPLY=12345; }
+</pre></div>
+
+<p>and restores <code>REPLY</code> to the value it had before the command substitution.
+</p>
 <p>Command substitutions may be nested.  To nest when using the backquoted
 form, escape the inner backquotes with backslashes.
 </p>
-<p>If the substitution appears within double quotes, word splitting and
-filename expansion are not performed on the results.
+<p>If the substitution appears within double quotes, Bash does not perform
+word splitting and filename expansion on the results.
 </p>
 <hr>
 </div>
@@ -7294,6 +7354,9 @@ inode change time, and number of blocks, respectively.
 <p>For example, a value of <code>-mtime</code> sorts the results in descending
 order by modification time (newest first).
 </p>
+<p>A sort specifier of &lsquo;<samp>nosort</samp>&rsquo; disables sorting completely; the results
+are returned in the order they are read from the file system,.
+</p>
 <p>If the sort specifier is missing, it defaults to <var>name</var>,
 so a value of &lsquo;<samp>+</samp>&rsquo; is equivalent to the null string,
 and a value of &lsquo;<samp>-</samp>&rsquo; sorts by name in descending order.
@@ -9655,16 +9718,6 @@ and it is required for bash-5.1 and later versions.
 has no special effect
 </li></ul>
 
-</dd>
-<dt><span><code>compat32</code></span></dt>
-<dd><ul>
-<li> interrupting a command list such as &quot;a ; b ; c&quot; causes the execution
-of the next command in the list (in bash-4.0 and later versions,
-the shell acts as if it received the interrupt, so
-interrupting one command in a list aborts the execution of the
-entire list)
-</li></ul>
-
 </dd>
 <dt><span><code>compat40</code></span></dt>
 <dd><ul>
index fe2b2481115ee5d9bf2c24b797af6ba671566c85..8286ffd85e411a459e5266dea6682d83dd413d3e 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.2, 20 April 2023).
+Bash shell (version 5.2, 14 May 2023).
 
-   This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 14 May 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    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.2, 20 April 2023).  The Bash home page is
+Bash shell (version 5.2, 14 May 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 14 May 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    Bash contains features that appear in other popular shells, and some
@@ -419,8 +419,8 @@ File: bashref.info,  Node: ANSI-C Quoting,  Next: Locale Translation,  Prev: Dou
 3.1.2.4 ANSI-C Quoting
 ......................
 
-Character sequences of the form $'STRING' are treated as a special kind
-of single quotes.  The sequence expands to STRING, with
+Character sequences of the form '$'STRING'' are treated as a special
+kind of single quotes.  The sequence expands to STRING, with
 backslash-escaped characters in STRING replaced as specified by the ANSI
 C standard.  Backslash escape sequences, if present, are decoded as
 follows:
@@ -2240,11 +2240,11 @@ File: bashref.info,  Node: Command Substitution,  Next: Arithmetic Expansion,  P
 --------------------------
 
 Command substitution allows the output of a command to replace the
-command itself.  Command substitution occurs when a command is enclosed
-as follows:
+command itself.  The standard form of command substitution occurs when a
+command is enclosed as follows:
      $(COMMAND)
-or
-     `COMMAND`
+or (deprecated)
+     `COMMAND`.
 
 Bash performs the expansion by executing COMMAND in a subshell
 environment and replacing the command substitution with the standard
@@ -2253,17 +2253,64 @@ newlines are not deleted, but they may be removed during word splitting.
 The command substitution '$(cat FILE)' can be replaced by the equivalent
 but faster '$(< FILE)'.
 
-   When the old-style backquote form of substitution is used, backslash
-retains its literal meaning except when followed by '$', '`', or '\'.
-The first backquote not preceded by a backslash terminates the command
+   With the old-style backquote form of substitution, backslash retains
+its literal meaning except when followed by '$', '`', or '\'.  The first
+backquote not preceded by a backslash terminates the command
 substitution.  When using the '$(COMMAND)' form, all characters between
 the parentheses make up the command; none are treated specially.
 
+   There is an alternate form of command substitution:
+
+     ${C COMMAND; }
+
+which executes COMMAND in the current execution environment.  This means
+that side effects of COMMAND take effect immediately in the current
+execution environment and persist in the current environment after the
+command completes (e.g., the 'exit' builtin will exit the shell).
+
+   The character C following the open brace must be a space, tab,
+newline, '(', or '|', 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).  Bash allows the close brace to be joined to the remaining
+characters in the word without being followed by a shell metacharacter
+as a reserved word would usually require.
+
+   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 'return' builtin forces COMMAND to
+complete; 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 '(', COMMAND is
+executed in a subshell, and COMMAND must be terminated by a ')'.  This
+is similar to the '(' compound command (*note Command Grouping::).  If
+the first character is a '|', the construct expands to the value of the
+'REPLY' shell variable after COMMAND executes, without removing any
+trailing newlines, and the standard output of COMMAND remains the same
+as in the calling shell.  Bash creates 'REPLY' as an initially-unset
+local variable when COMMAND executes, and restores 'REPLY' to the value
+it had before the command substitution after COMMAND completes, as with
+any local variable.
+
+   For example, this construct expands to '12345', and leaves the shell
+variable 'X' unchanged in the current execution environment:
+
+     ${ local X=12345 ; echo $X; }
+
+(not declaring 'X' as local would modify its value in the current
+environment, as with normal shell function execution), while this
+construct does not require any output to expand to '12345':
+
+     ${| REPLY=12345; }
+
+and restores 'REPLY' to the value it had before the command
+substitution.
+
    Command substitutions may be nested.  To nest when using the
 backquoted form, escape the inner backquotes with backslashes.
 
-   If the substitution appears within double quotes, word splitting and
-filename expansion are not performed on the results.
+   If the substitution appears within double quotes, Bash does not
+perform word splitting and filename expansion on the results.
 
 \1f
 File: bashref.info,  Node: Arithmetic Expansion,  Next: Process Substitution,  Prev: Command Substitution,  Up: Shell Expansions
@@ -12707,138 +12754,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f891
-Node: Introduction\7f2805
-Node: What is Bash?\7f3021
-Node: What is a shell?\7f4135
-Node: Definitions\7f6673
-Node: Basic Shell Features\7f9624
-Node: Shell Syntax\7f10843
-Node: Shell Operation\7f11869
-Node: Quoting\7f13162
-Node: Escape Character\7f14466
-Node: Single Quotes\7f14951
-Node: Double Quotes\7f15299
-Node: ANSI-C Quoting\7f16577
-Node: Locale Translation\7f17887
-Node: Creating Internationalized Scripts\7f19198
-Node: Comments\7f23315
-Node: Shell Commands\7f23933
-Node: Reserved Words\7f24871
-Node: Simple Commands\7f25627
-Node: Pipelines\7f26281
-Node: Lists\7f29280
-Node: Compound Commands\7f31075
-Node: Looping Constructs\7f32087
-Node: Conditional Constructs\7f34582
-Node: Command Grouping\7f49070
-Node: Coprocesses\7f50548
-Node: GNU Parallel\7f53211
-Node: Shell Functions\7f54128
-Node: Shell Parameters\7f62013
-Node: Positional Parameters\7f66401
-Node: Special Parameters\7f67303
-Node: Shell Expansions\7f70517
-Node: Brace Expansion\7f72644
-Node: Tilde Expansion\7f75378
-Node: Shell Parameter Expansion\7f77999
-Node: Command Substitution\7f96401
-Node: Arithmetic Expansion\7f97756
-Node: Process Substitution\7f98724
-Node: Word Splitting\7f99844
-Node: Filename Expansion\7f101892
-Node: Pattern Matching\7f104825
-Node: Quote Removal\7f109827
-Node: Redirections\7f110122
-Node: Executing Commands\7f119815
-Node: Simple Command Expansion\7f120485
-Node: Command Search and Execution\7f122595
-Node: Command Execution Environment\7f124982
-Node: Environment\7f128017
-Node: Exit Status\7f129680
-Node: Signals\7f131464
-Node: Shell Scripts\7f134913
-Node: Shell Builtin Commands\7f137940
-Node: Bourne Shell Builtins\7f139978
-Node: Bash Builtins\7f162177
-Node: Modifying Shell Behavior\7f194176
-Node: The Set Builtin\7f194521
-Node: The Shopt Builtin\7f205119
-Node: Special Builtins\7f221031
-Node: Shell Variables\7f222010
-Node: Bourne Shell Variables\7f222447
-Node: Bash Variables\7f224551
-Node: Bash Features\7f258616
-Node: Invoking Bash\7f259629
-Node: Bash Startup Files\7f265642
-Node: Interactive Shells\7f270773
-Node: What is an Interactive Shell?\7f271184
-Node: Is this Shell Interactive?\7f271833
-Node: Interactive Shell Behavior\7f272648
-Node: Bash Conditional Expressions\7f276277
-Node: Shell Arithmetic\7f280919
-Node: Aliases\7f283880
-Node: Arrays\7f286774
-Node: The Directory Stack\7f293337
-Node: Directory Stack Builtins\7f294121
-Node: Controlling the Prompt\7f298381
-Node: The Restricted Shell\7f301346
-Node: Bash POSIX Mode\7f303956
-Node: Shell Compatibility Mode\7f319749
-Node: Job Control\7f327993
-Node: Job Control Basics\7f328453
-Node: Job Control Builtins\7f333455
-Node: Job Control Variables\7f339250
-Node: Command Line Editing\7f340406
-Node: Introduction and Notation\7f342077
-Node: Readline Interaction\7f343700
-Node: Readline Bare Essentials\7f344891
-Node: Readline Movement Commands\7f346680
-Node: Readline Killing Commands\7f347640
-Node: Readline Arguments\7f349561
-Node: Searching\7f350605
-Node: Readline Init File\7f352791
-Node: Readline Init File Syntax\7f354052
-Node: Conditional Init Constructs\7f377843
-Node: Sample Init File\7f382039
-Node: Bindable Readline Commands\7f385163
-Node: Commands For Moving\7f386367
-Node: Commands For History\7f388418
-Node: Commands For Text\7f393412
-Node: Commands For Killing\7f397061
-Node: Numeric Arguments\7f400094
-Node: Commands For Completion\7f401233
-Node: Keyboard Macros\7f405424
-Node: Miscellaneous Commands\7f406112
-Node: Readline vi Mode\7f412150
-Node: Programmable Completion\7f413057
-Node: Programmable Completion Builtins\7f420837
-Node: A Programmable Completion Example\7f431825
-Node: Using History Interactively\7f437073
-Node: Bash History Facilities\7f437757
-Node: Bash History Builtins\7f440762
-Node: History Interaction\7f445786
-Node: Event Designators\7f449406
-Node: Word Designators\7f450760
-Node: Modifiers\7f452520
-Node: Installing Bash\7f454328
-Node: Basic Installation\7f455465
-Node: Compilers and Options\7f459187
-Node: Compiling For Multiple Architectures\7f459928
-Node: Installation Names\7f461620
-Node: Specifying the System Type\7f463729
-Node: Sharing Defaults\7f464446
-Node: Operation Controls\7f465119
-Node: Optional Features\7f466077
-Node: Reporting Bugs\7f477296
-Node: Major Differences From The Bourne Shell\7f478630
-Node: GNU Free Documentation License\7f495479
-Node: Indexes\7f520656
-Node: Builtin Index\7f521110
-Node: Reserved Word Index\7f527937
-Node: Variable Index\7f530385
-Node: Function Index\7f547373
-Node: Concept Index\7f561157
+Node: Top\7f887
+Node: Introduction\7f2797
+Node: What is Bash?\7f3013
+Node: What is a shell?\7f4127
+Node: Definitions\7f6665
+Node: Basic Shell Features\7f9616
+Node: Shell Syntax\7f10835
+Node: Shell Operation\7f11861
+Node: Quoting\7f13154
+Node: Escape Character\7f14458
+Node: Single Quotes\7f14943
+Node: Double Quotes\7f15291
+Node: ANSI-C Quoting\7f16569
+Node: Locale Translation\7f17881
+Node: Creating Internationalized Scripts\7f19192
+Node: Comments\7f23309
+Node: Shell Commands\7f23927
+Node: Reserved Words\7f24865
+Node: Simple Commands\7f25621
+Node: Pipelines\7f26275
+Node: Lists\7f29274
+Node: Compound Commands\7f31069
+Node: Looping Constructs\7f32081
+Node: Conditional Constructs\7f34576
+Node: Command Grouping\7f49064
+Node: Coprocesses\7f50542
+Node: GNU Parallel\7f53205
+Node: Shell Functions\7f54122
+Node: Shell Parameters\7f62007
+Node: Positional Parameters\7f66395
+Node: Special Parameters\7f67297
+Node: Shell Expansions\7f70511
+Node: Brace Expansion\7f72638
+Node: Tilde Expansion\7f75372
+Node: Shell Parameter Expansion\7f77993
+Node: Command Substitution\7f96395
+Node: Arithmetic Expansion\7f99987
+Node: Process Substitution\7f100955
+Node: Word Splitting\7f102075
+Node: Filename Expansion\7f104123
+Node: Pattern Matching\7f107056
+Node: Quote Removal\7f112058
+Node: Redirections\7f112353
+Node: Executing Commands\7f122046
+Node: Simple Command Expansion\7f122716
+Node: Command Search and Execution\7f124826
+Node: Command Execution Environment\7f127213
+Node: Environment\7f130248
+Node: Exit Status\7f131911
+Node: Signals\7f133695
+Node: Shell Scripts\7f137144
+Node: Shell Builtin Commands\7f140171
+Node: Bourne Shell Builtins\7f142209
+Node: Bash Builtins\7f164408
+Node: Modifying Shell Behavior\7f196407
+Node: The Set Builtin\7f196752
+Node: The Shopt Builtin\7f207350
+Node: Special Builtins\7f223262
+Node: Shell Variables\7f224241
+Node: Bourne Shell Variables\7f224678
+Node: Bash Variables\7f226782
+Node: Bash Features\7f260847
+Node: Invoking Bash\7f261860
+Node: Bash Startup Files\7f267873
+Node: Interactive Shells\7f273004
+Node: What is an Interactive Shell?\7f273415
+Node: Is this Shell Interactive?\7f274064
+Node: Interactive Shell Behavior\7f274879
+Node: Bash Conditional Expressions\7f278508
+Node: Shell Arithmetic\7f283150
+Node: Aliases\7f286111
+Node: Arrays\7f289005
+Node: The Directory Stack\7f295568
+Node: Directory Stack Builtins\7f296352
+Node: Controlling the Prompt\7f300612
+Node: The Restricted Shell\7f303577
+Node: Bash POSIX Mode\7f306187
+Node: Shell Compatibility Mode\7f321980
+Node: Job Control\7f330224
+Node: Job Control Basics\7f330684
+Node: Job Control Builtins\7f335686
+Node: Job Control Variables\7f341481
+Node: Command Line Editing\7f342637
+Node: Introduction and Notation\7f344308
+Node: Readline Interaction\7f345931
+Node: Readline Bare Essentials\7f347122
+Node: Readline Movement Commands\7f348911
+Node: Readline Killing Commands\7f349871
+Node: Readline Arguments\7f351792
+Node: Searching\7f352836
+Node: Readline Init File\7f355022
+Node: Readline Init File Syntax\7f356283
+Node: Conditional Init Constructs\7f380074
+Node: Sample Init File\7f384270
+Node: Bindable Readline Commands\7f387394
+Node: Commands For Moving\7f388598
+Node: Commands For History\7f390649
+Node: Commands For Text\7f395643
+Node: Commands For Killing\7f399292
+Node: Numeric Arguments\7f402325
+Node: Commands For Completion\7f403464
+Node: Keyboard Macros\7f407655
+Node: Miscellaneous Commands\7f408343
+Node: Readline vi Mode\7f414381
+Node: Programmable Completion\7f415288
+Node: Programmable Completion Builtins\7f423068
+Node: A Programmable Completion Example\7f434056
+Node: Using History Interactively\7f439304
+Node: Bash History Facilities\7f439988
+Node: Bash History Builtins\7f442993
+Node: History Interaction\7f448017
+Node: Event Designators\7f451637
+Node: Word Designators\7f452991
+Node: Modifiers\7f454751
+Node: Installing Bash\7f456559
+Node: Basic Installation\7f457696
+Node: Compilers and Options\7f461418
+Node: Compiling For Multiple Architectures\7f462159
+Node: Installation Names\7f463851
+Node: Specifying the System Type\7f465960
+Node: Sharing Defaults\7f466677
+Node: Operation Controls\7f467350
+Node: Optional Features\7f468308
+Node: Reporting Bugs\7f479527
+Node: Major Differences From The Bourne Shell\7f480861
+Node: GNU Free Documentation License\7f497710
+Node: Indexes\7f522887
+Node: Builtin Index\7f523341
+Node: Reserved Word Index\7f530168
+Node: Variable Index\7f532616
+Node: Function Index\7f549604
+Node: Concept Index\7f563388
 \1f
 End Tag Table
 
index 0b860317c752e2030e0c85d213da99a90ce80f79..a0710a6daae79585f9c6b1a1d55aacdd922186f1 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)  20 APR 2023 15:09
+This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=etex 2021.8.30)  14 MAY 2023 15:39
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
  %&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20230420/doc/bashref.texi \input /usr/local/s
-rc/bash/bash-20230420/doc/bashref.texi
-(/usr/local/src/bash/bash-20230420/doc/bashref.texi
-(/usr/local/src/bash/bash-20230420/doc/texinfo.tex
+**\nonstopmode \input /usr/local/src/bash/bash-20230509/doc/bashref.texi \input
+ /usr/local/src/bash/bash-20230509/doc/bashref.texi
+(/usr/local/src/bash/bash-20230509/doc/bashref.texi
+(/usr/local/src/bash/bash-20230509/doc/texinfo.tex
 Loading texinfo [version 2015-11-22.14]:
 \outerhsize=\dimen16
 \outervsize=\dimen17
@@ -162,23 +162,20 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
 texinfo.tex: doing @include of version.texi
 
 
-(/usr/local/src/bash/bash-20230420/doc/version.texi) [1{/opt/local/var/db/texmf
-/fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20230420/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20230420/doc/bashref.toc)
-(/usr/local/build/bash/bash-20230420/doc/bashref.toc) Chapter 1
+(/usr/local/src/bash/bash-20230509/doc/version.texi) [1] [2]
+(/usr/local/build/bash/bash-20230509/doc/bashref.toc [-1] [-2] [-3]) [-4]
+Chapter 1
 \openout0 = `bashref.toc'.
 
-
-(/usr/local/build/bash/bash-20230420/doc/bashref.aux)
+ (/usr/local/build/bash/bash-20230509/doc/bashref.aux)
 \openout1 = `bashref.aux'.
 
- Chapter 2 [1] [2]
+ Chapter 2
+[1] [2]
 @cpindfile=@write2
 \openout2 = `bashref.cp'.
 
-
-[3] Chapter 3 [4] [5] [6] [7]
+ [3] Chapter 3 [4] [5] [6] [7]
 @vrindfile=@write3
 \openout3 = `bashref.vr'.
 
@@ -223,13 +220,14 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
 
 [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
 [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
-[39] [40] [41] [42] [43] [44] [45] [46] Chapter 4 [47]
+[39] [40] [41] [42] [43] [44] [45] [46] [47] Chapter 4 [48]
 @btindfile=@write5
 \openout5 = `bashref.bt'.
 
- [48] [49] [50] [51]
+ [49] [50] [51]
 [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5279--5279
+[67]
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5342--5342
  []@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -242,7 +240,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5279--5279
 .etc.
 
 
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5280--5280
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5343--5343
  []@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -254,16 +252,16 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5280--5280
 .@texttt t
 .etc.
 
-[67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] Chapter 5 [78] [79]
-[80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] Chapter 6 [91] [92]
-[93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106]
-[107] [108] [109] [110] [111] [112] [113] [114] Chapter 7 [115] [116] [117]
-[118]
+[68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] Chapter 5 [79] [80]
+[81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] Chapter 6 [92] [93]
+[94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106]
+[107] [108] [109] [110] [111] [112] [113] [114] [115] Chapter 7 [116] [117]
+[118] [119]
 texinfo.tex: doing @include of rluser.texi
 
- (/usr/local/src/bash/bash-20230420/lib/readline/doc/rluser.texi
-Chapter 8 [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129]
-[130]
+ (/usr/local/src/bash/bash-20230509/lib/readline/doc/rluser.texi
+Chapter 8 [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130]
+[131]
 Underfull \hbox (badness 7540) in paragraph at lines 874--880
  []@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
 -tion
@@ -289,7 +287,7 @@ e func-tion
 .@texttt v
 .etc.
 
-[131] [132] [133]
+[132] [133] [134]
 Overfull \hbox (26.43913pt too wide) in paragraph at lines 1108--1108
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] 
@@ -302,19 +300,19 @@ gnored[]
 .@texttt t
 .etc.
 
-[134] [135]
+[135] [136]
 @fnindfile=@write6
 \openout6 = `bashref.fn'.
 
- [136] [137] [138] [139] [140] [141] [142] [143] [144] [145]
-[146] [147] [148] [149] [150] [151] [152] [153])
+ [137] [138] [139] [140] [141] [142] [143] [144] [145] [146]
+[147] [148] [149] [150] [151] [152] [153] [154])
 texinfo.tex: doing @include of hsuser.texi
 
 
-(/usr/local/src/bash/bash-20230420/lib/readline/doc/hsuser.texi Chapter 9
-[154] [155] [156] [157] [158] [159]) Chapter 10 [160] [161] [162] [163]
-[164]
-Underfull \hbox (badness 10000) in paragraph at lines 9556--9565
+(/usr/local/src/bash/bash-20230509/lib/readline/doc/hsuser.texi Chapter 9
+[155] [156] [157] [158] [159] [160]) Chapter 10 [161] [162] [163] [164]
+[165]
+Underfull \hbox (badness 10000) in paragraph at lines 9622--9631
 []@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
 entation[]@textrm '[],
 
@@ -327,7 +325,7 @@ entation[]@textrm '[],
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 9556--9565
+Underfull \hbox (badness 10000) in paragraph at lines 9622--9631
 @textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
 extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 
@@ -339,42 +337,20 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 .@texttt a
 .etc.
 
-[165] [166] [167] [168] Appendix A [169] Appendix B [170] [171] [172] [173]
-[174] [175] Appendix C [176]
+[166] [167] [168] [169] Appendix A [170] Appendix B [171] [172] [173] [174]
+[175] [176] Appendix C [177]
 texinfo.tex: doing @include of fdl.texi
 
- (/usr/local/src/bash/bash-20230420/doc/fdl.texi
-[177] [178] [179] [180] [181] [182] [183]) Appendix D [184] [185] [186]
-[187] [188] [189] [190] [191] [192] [193] ) 
+ (/usr/local/src/bash/bash-20230509/doc/fdl.texi
+[178] [179] [180] [181] [182] [183] [184]) Appendix D [185] [186] [187]
+[188] [189] [190] [191] [192] [193] [194] ) 
 Here is how much of TeX's memory you used:
4100 strings out of 497086
- 47602 string characters out of 6206517
142025 words of memory out of 5000000
- 4869 multiletter control sequences out of 15000+600000
3531 strings out of 497096
+ 40273 string characters out of 6206923
87712 words of memory out of 5000000
+ 4700 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
- 16i,6n,16p,389b,983s stack positions out of 5000i,500n,10000p,200000b,80000s
-{/opt/local/share/texmf-texlive/font
-s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
-1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
-lic/amsfonts/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
-amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
-nts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/c
-m/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr1
-0.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb><
-/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/
-local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/loc
-al/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/sh
-are/texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/t
-exmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-
-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 (199 pages, 804832 bytes).
-PDF statistics:
- 2794 PDF objects out of 2984 (max. 8388607)
- 2548 compressed objects within 26 object streams
- 327 named destinations out of 1000 (max. 500000)
- 1157 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 16i,6n,16p,402b,942s stack positions out of 5000i,500n,10000p,200000b,80000s
 
+Output written on bashref.dvi (200 pages, 839672 bytes).
index 378f4ff3edadd3d86bff2d7203317413d6f9bb96..b172a83fe259e251cee540aa14cbc993a0167a2a 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index ff9c2f4121e7b7be98ed7316661500f87d6b8a55..eb37bc37ba6d0e0e2edc053c219d4775e800378e 100644 (file)
@@ -2628,26 +2628,27 @@ expansion as described below.
 
 Command substitution allows the output of a command to replace
 the command itself.
-Command substitution occurs when a command is enclosed as follows:
+The standard form of command substitution occurs when a command is
+enclosed as follows:
 @example
 $(@var{command})
 @end example
 @noindent
-or
+or (deprecated)
 @example
-`@var{command}`
+`@var{command}`.
 @end example
 
 @noindent
-Bash performs the expansion by executing @var{command} in a subshell environment
-and replacing the command substitution with the standard output of the
-command, with any trailing newlines deleted.
+Bash performs the expansion by executing @var{command} in a subshell
+environment 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 command substitution @code{$(cat @var{file})} can be
 replaced by the equivalent but faster @code{$(< @var{file})}.
 
-When the old-style backquote form of substitution is used,
+With the old-style backquote form of substitution,
 backslash retains its literal meaning except when followed by
 @samp{$}, @samp{`}, or @samp{\}. 
 The first backquote not preceded by a backslash terminates the
@@ -2655,11 +2656,73 @@ command substitution.
 When using the @code{$(@var{command})} form, all characters between
 the parentheses make up the command; none are treated specially.
 
+There is an alternate form of command substitution:
+
+@example
+$@{@var{C} @var{command}; @}
+@end example
+
+@noindent
+which executes @var{command} in the current execution environment.
+This means that side effects of @var{command} take effect immediately
+in the current execution environment and persist in the current 
+environment after the command completes (e.g., the @code{exit} builtin
+will exit the shell).
+
+The character @var{C} following the open brace must be a space, tab,
+newline, @samp{(}, or @samp{|}, 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).
+Bash allows the close brace to be joined to the remaining characters in
+the word without being followed by a shell metacharacter as a reserved
+word would usually require.
+
+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 @code{return} builtin forces
+@var{command} to complete;
+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 @samp{(},
+@var{command} is executed in a subshell, and @var{command} must be
+terminated by a @samp{)}. This is similar to the @code{(} compound
+command (@pxref{Command Grouping}).
+If the first character is a @samp{|}, the construct expands to the
+value of the @code{REPLY} shell variable after @var{command} executes,
+without removing any trailing newlines,
+and the standard output of @var{command} remains the same as in the
+calling shell.
+Bash creates @code{REPLY} as an initially-unset local variable when
+@var{command} executes, and restores @code{REPLY} to the value it had
+before the command substitution after @var{command} completes,
+as with any local variable.
+
+For example, this construct expands to @samp{12345}, and leaves the
+shell variable @code{X} unchanged in the current execution environment:
+
+@example
+$@{ local X=12345 ; echo $X; @}
+@end example
+
+@noindent
+(not declaring @code{X} as local would modify its value in the current
+environment, as with normal shell function execution),
+while this construct does not require any output to expand to
+@samp{12345}:
+
+@example
+$@{| REPLY=12345; @}
+@end example
+
+@noindent
+and restores @code{REPLY} to the value it had before the command substitution.
+
 Command substitutions may be nested.  To nest when using the backquoted
 form, escape the inner backquotes with backslashes.
 
-If the substitution appears within double quotes, word splitting and
-filename expansion are not performed on the results.
+If the substitution appears within double quotes, Bash does not perform
+word splitting and filename expansion on the results.
 
 @node Arithmetic Expansion
 @subsection Arithmetic Expansion
index c06037a2abfe4189ba94053814f212d116522da6..48a07e41fa1165daaa677e5c257556eb5e250ecd 100644 (file)
 @numsubsecentry{Tilde Expansion}{3.5.2}{Tilde Expansion}{25}
 @numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{26}
 @numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{34}
-@numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{34}
+@numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{35}
 @numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{35}
-@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{35}
+@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{36}
 @numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{36}
-@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{36}
-@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{38}
-@numsecentry{Redirections}{3.6}{Redirections}{38}
-@numsubsecentry{Redirecting Input}{3.6.1}{}{39}
-@numsubsecentry{Redirecting Output}{3.6.2}{}{39}
+@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{37}
+@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{39}
+@numsecentry{Redirections}{3.6}{Redirections}{39}
+@numsubsecentry{Redirecting Input}{3.6.1}{}{40}
+@numsubsecentry{Redirecting Output}{3.6.2}{}{40}
 @numsubsecentry{Appending Redirected Output}{3.6.3}{}{40}
-@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{40}
-@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{40}
-@numsubsecentry{Here Documents}{3.6.6}{}{40}
-@numsubsecentry{Here Strings}{3.6.7}{}{41}
-@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{41}
-@numsubsecentry{Moving File Descriptors}{3.6.9}{}{41}
+@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{41}
+@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{41}
+@numsubsecentry{Here Documents}{3.6.6}{}{41}
+@numsubsecentry{Here Strings}{3.6.7}{}{42}
+@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{42}
+@numsubsecentry{Moving File Descriptors}{3.6.9}{}{42}
 @numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{42}
-@numsecentry{Executing Commands}{3.7}{Executing Commands}{42}
-@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{42}
-@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{42}
-@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{43}
-@numsubsecentry{Environment}{3.7.4}{Environment}{44}
+@numsecentry{Executing Commands}{3.7}{Executing Commands}{43}
+@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{43}
+@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{43}
+@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{44}
+@numsubsecentry{Environment}{3.7.4}{Environment}{45}
 @numsubsecentry{Exit Status}{3.7.5}{Exit Status}{45}
-@numsubsecentry{Signals}{3.7.6}{Signals}{45}
-@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{46}
-@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{48}
-@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{48}
-@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{56}
-@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{67}
-@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{67}
-@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{71}
-@numsecentry{Special Builtins}{4.4}{Special Builtins}{78}
-@numchapentry{Shell Variables}{5}{Shell Variables}{79}
-@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{79}
-@numsecentry{Bash Variables}{5.2}{Bash Variables}{79}
-@numchapentry{Bash Features}{6}{Bash Features}{92}
-@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{92}
-@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{94}
-@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{95}
-@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{96}
-@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{96}
-@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{96}
-@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{97}
-@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{99}
-@numsecentry{Aliases}{6.6}{Aliases}{101}
-@numsecentry{Arrays}{6.7}{Arrays}{101}
-@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{103}
-@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{104}
-@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{105}
-@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{107}
-@numsecentry{Bash and POSIX}{6.11}{Bash POSIX Mode}{107}
-@numsubsecentry{What is POSIX?}{6.11.1}{}{107}
-@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{108}
-@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{112}
-@numchapentry{Job Control}{7}{Job Control}{116}
-@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{116}
-@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{117}
-@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{119}
-@numchapentry{Command Line Editing}{8}{Command Line Editing}{120}
-@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{120}
-@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{120}
-@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{121}
-@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{121}
-@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{122}
-@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{122}
-@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{122}
-@numsecentry{Readline Init File}{8.3}{Readline Init File}{123}
-@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{123}
-@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{132}
-@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{133}
-@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{136}
-@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{136}
-@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{137}
-@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{139}
-@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{140}
-@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{141}
-@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{142}
-@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{143}
-@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{144}
-@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{146}
-@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{146}
-@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{149}
-@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{153}
-@numchapentry{Using History Interactively}{9}{Using History Interactively}{155}
-@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{155}
-@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{155}
-@numsecentry{History Expansion}{9.3}{History Interaction}{157}
-@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{158}
-@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{159}
-@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{159}
-@numchapentry{Installing Bash}{10}{Installing Bash}{161}
-@numsecentry{Basic Installation}{10.1}{Basic Installation}{161}
-@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{162}
-@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{162}
-@numsecentry{Installation Names}{10.4}{Installation Names}{163}
-@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{163}
-@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{163}
-@numsecentry{Operation Controls}{10.7}{Operation Controls}{164}
-@numsecentry{Optional Features}{10.8}{Optional Features}{164}
-@appentry{Reporting Bugs}{A}{Reporting Bugs}{170}
-@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{171}
-@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{175}
-@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{177}
-@appentry{Indexes}{D}{Indexes}{185}
-@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{185}
-@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{186}
-@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{187}
-@appsecentry{Function Index}{D.4}{Function Index}{189}
-@appsecentry{Concept Index}{D.5}{Concept Index}{191}
+@numsubsecentry{Signals}{3.7.6}{Signals}{46}
+@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{47}
+@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{49}
+@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{49}
+@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{57}
+@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{68}
+@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{68}
+@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{72}
+@numsecentry{Special Builtins}{4.4}{Special Builtins}{79}
+@numchapentry{Shell Variables}{5}{Shell Variables}{80}
+@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{80}
+@numsecentry{Bash Variables}{5.2}{Bash Variables}{80}
+@numchapentry{Bash Features}{6}{Bash Features}{93}
+@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{93}
+@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{95}
+@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{96}
+@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{97}
+@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{97}
+@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{97}
+@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{98}
+@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{100}
+@numsecentry{Aliases}{6.6}{Aliases}{102}
+@numsecentry{Arrays}{6.7}{Arrays}{102}
+@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{104}
+@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{105}
+@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{106}
+@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{108}
+@numsecentry{Bash and POSIX}{6.11}{Bash POSIX Mode}{108}
+@numsubsecentry{What is POSIX?}{6.11.1}{}{108}
+@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{109}
+@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{113}
+@numchapentry{Job Control}{7}{Job Control}{117}
+@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{117}
+@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{118}
+@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{120}
+@numchapentry{Command Line Editing}{8}{Command Line Editing}{121}
+@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{121}
+@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{121}
+@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{122}
+@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{122}
+@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{123}
+@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{123}
+@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{123}
+@numsecentry{Readline Init File}{8.3}{Readline Init File}{124}
+@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{124}
+@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{133}
+@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{134}
+@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{137}
+@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{137}
+@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{138}
+@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{140}
+@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{141}
+@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{142}
+@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{143}
+@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{144}
+@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{145}
+@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{147}
+@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{147}
+@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{150}
+@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{154}
+@numchapentry{Using History Interactively}{9}{Using History Interactively}{156}
+@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{156}
+@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{156}
+@numsecentry{History Expansion}{9.3}{History Interaction}{158}
+@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{159}
+@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{160}
+@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{160}
+@numchapentry{Installing Bash}{10}{Installing Bash}{162}
+@numsecentry{Basic Installation}{10.1}{Basic Installation}{162}
+@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{163}
+@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{163}
+@numsecentry{Installation Names}{10.4}{Installation Names}{164}
+@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{164}
+@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{164}
+@numsecentry{Operation Controls}{10.7}{Operation Controls}{165}
+@numsecentry{Optional Features}{10.8}{Optional Features}{165}
+@appentry{Reporting Bugs}{A}{Reporting Bugs}{171}
+@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{172}
+@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{176}
+@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{178}
+@appentry{Indexes}{D}{Indexes}{186}
+@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{186}
+@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{187}
+@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{188}
+@appsecentry{Function Index}{D.4}{Function Index}{190}
+@appsecentry{Concept Index}{D.5}{Concept Index}{192}
index 151e8fd0895d1b23acdd7de20d73985ad502eb97..85d5ff9fb4b1a9ac478ffb3fd3e9d601e05ef11e 100644 (file)
 \entry{$!}{24}{\code {$!}}
 \entry{0}{24}{\code {0}}
 \entry{$0}{24}{\code {$0}}
-\entry{CDPATH}{79}{\code {CDPATH}}
-\entry{HOME}{79}{\code {HOME}}
-\entry{IFS}{79}{\code {IFS}}
-\entry{MAIL}{79}{\code {MAIL}}
-\entry{MAILPATH}{79}{\code {MAILPATH}}
-\entry{OPTARG}{79}{\code {OPTARG}}
-\entry{OPTIND}{79}{\code {OPTIND}}
-\entry{PATH}{79}{\code {PATH}}
-\entry{PS1}{79}{\code {PS1}}
-\entry{PS2}{79}{\code {PS2}}
-\entry{_}{79}{\code {_}}
-\entry{$_}{79}{\code {$_}}
-\entry{BASH}{80}{\code {BASH}}
-\entry{BASHOPTS}{80}{\code {BASHOPTS}}
-\entry{BASHPID}{80}{\code {BASHPID}}
-\entry{BASH_ALIASES}{80}{\code {BASH_ALIASES}}
-\entry{BASH_ARGC}{80}{\code {BASH_ARGC}}
-\entry{BASH_ARGV}{80}{\code {BASH_ARGV}}
-\entry{BASH_ARGV0}{81}{\code {BASH_ARGV0}}
-\entry{BASH_CMDS}{81}{\code {BASH_CMDS}}
-\entry{BASH_COMMAND}{81}{\code {BASH_COMMAND}}
-\entry{BASH_COMPAT}{81}{\code {BASH_COMPAT}}
-\entry{BASH_ENV}{81}{\code {BASH_ENV}}
-\entry{BASH_EXECUTION_STRING}{81}{\code {BASH_EXECUTION_STRING}}
-\entry{BASH_LINENO}{81}{\code {BASH_LINENO}}
-\entry{BASH_LOADABLES_PATH}{82}{\code {BASH_LOADABLES_PATH}}
-\entry{BASH_REMATCH}{82}{\code {BASH_REMATCH}}
-\entry{BASH_SOURCE}{82}{\code {BASH_SOURCE}}
-\entry{BASH_SUBSHELL}{82}{\code {BASH_SUBSHELL}}
-\entry{BASH_VERSINFO}{82}{\code {BASH_VERSINFO}}
-\entry{BASH_VERSION}{82}{\code {BASH_VERSION}}
-\entry{BASH_XTRACEFD}{82}{\code {BASH_XTRACEFD}}
-\entry{CHILD_MAX}{83}{\code {CHILD_MAX}}
-\entry{COLUMNS}{83}{\code {COLUMNS}}
-\entry{COMP_CWORD}{83}{\code {COMP_CWORD}}
-\entry{COMP_LINE}{83}{\code {COMP_LINE}}
-\entry{COMP_POINT}{83}{\code {COMP_POINT}}
-\entry{COMP_TYPE}{83}{\code {COMP_TYPE}}
-\entry{COMP_KEY}{83}{\code {COMP_KEY}}
-\entry{COMP_WORDBREAKS}{83}{\code {COMP_WORDBREAKS}}
-\entry{COMP_WORDS}{83}{\code {COMP_WORDS}}
-\entry{COMPREPLY}{84}{\code {COMPREPLY}}
-\entry{COPROC}{84}{\code {COPROC}}
-\entry{DIRSTACK}{84}{\code {DIRSTACK}}
-\entry{EMACS}{84}{\code {EMACS}}
-\entry{ENV}{84}{\code {ENV}}
-\entry{EPOCHREALTIME}{84}{\code {EPOCHREALTIME}}
-\entry{EPOCHSECONDS}{84}{\code {EPOCHSECONDS}}
-\entry{EUID}{84}{\code {EUID}}
-\entry{EXECIGNORE}{84}{\code {EXECIGNORE}}
-\entry{FCEDIT}{85}{\code {FCEDIT}}
-\entry{FIGNORE}{85}{\code {FIGNORE}}
-\entry{FUNCNAME}{85}{\code {FUNCNAME}}
-\entry{FUNCNEST}{85}{\code {FUNCNEST}}
-\entry{GLOBIGNORE}{85}{\code {GLOBIGNORE}}
-\entry{GLOBSORT}{85}{\code {GLOBSORT}}
-\entry{GROUPS}{85}{\code {GROUPS}}
-\entry{histchars}{86}{\code {histchars}}
-\entry{HISTCMD}{86}{\code {HISTCMD}}
-\entry{HISTCONTROL}{86}{\code {HISTCONTROL}}
-\entry{HISTFILE}{86}{\code {HISTFILE}}
-\entry{HISTFILESIZE}{86}{\code {HISTFILESIZE}}
-\entry{HISTIGNORE}{86}{\code {HISTIGNORE}}
-\entry{HISTSIZE}{87}{\code {HISTSIZE}}
-\entry{HISTTIMEFORMAT}{87}{\code {HISTTIMEFORMAT}}
-\entry{HOSTFILE}{87}{\code {HOSTFILE}}
-\entry{HOSTNAME}{87}{\code {HOSTNAME}}
-\entry{HOSTTYPE}{87}{\code {HOSTTYPE}}
-\entry{IGNOREEOF}{87}{\code {IGNOREEOF}}
-\entry{INPUTRC}{87}{\code {INPUTRC}}
-\entry{INSIDE_EMACS}{87}{\code {INSIDE_EMACS}}
-\entry{LANG}{87}{\code {LANG}}
-\entry{LC_ALL}{88}{\code {LC_ALL}}
-\entry{LC_COLLATE}{88}{\code {LC_COLLATE}}
-\entry{LC_CTYPE}{88}{\code {LC_CTYPE}}
-\entry{LC_MESSAGES}{88}{\code {LC_MESSAGES}}
-\entry{LC_NUMERIC}{88}{\code {LC_NUMERIC}}
-\entry{LC_TIME}{88}{\code {LC_TIME}}
-\entry{LINENO}{88}{\code {LINENO}}
-\entry{LINES}{88}{\code {LINES}}
-\entry{MACHTYPE}{88}{\code {MACHTYPE}}
-\entry{MAILCHECK}{88}{\code {MAILCHECK}}
-\entry{MAPFILE}{88}{\code {MAPFILE}}
-\entry{OLDPWD}{88}{\code {OLDPWD}}
-\entry{OPTERR}{88}{\code {OPTERR}}
-\entry{OSTYPE}{88}{\code {OSTYPE}}
-\entry{PIPESTATUS}{88}{\code {PIPESTATUS}}
-\entry{POSIXLY_CORRECT}{89}{\code {POSIXLY_CORRECT}}
-\entry{PPID}{89}{\code {PPID}}
-\entry{PROMPT_COMMAND}{89}{\code {PROMPT_COMMAND}}
-\entry{PROMPT_DIRTRIM}{89}{\code {PROMPT_DIRTRIM}}
-\entry{PS0}{89}{\code {PS0}}
-\entry{PS3}{89}{\code {PS3}}
-\entry{PS4}{89}{\code {PS4}}
-\entry{PWD}{89}{\code {PWD}}
-\entry{RANDOM}{89}{\code {RANDOM}}
-\entry{READLINE_ARGUMENT}{89}{\code {READLINE_ARGUMENT}}
-\entry{READLINE_LINE}{89}{\code {READLINE_LINE}}
-\entry{READLINE_MARK}{89}{\code {READLINE_MARK}}
-\entry{READLINE_POINT}{90}{\code {READLINE_POINT}}
-\entry{REPLY}{90}{\code {REPLY}}
-\entry{SECONDS}{90}{\code {SECONDS}}
-\entry{SHELL}{90}{\code {SHELL}}
-\entry{SHELLOPTS}{90}{\code {SHELLOPTS}}
-\entry{SHLVL}{90}{\code {SHLVL}}
-\entry{SRANDOM}{90}{\code {SRANDOM}}
-\entry{TIMEFORMAT}{90}{\code {TIMEFORMAT}}
-\entry{TMOUT}{91}{\code {TMOUT}}
-\entry{TMPDIR}{91}{\code {TMPDIR}}
-\entry{UID}{91}{\code {UID}}
-\entry{auto_resume}{119}{\code {auto_resume}}
-\entry{active-region-start-color}{124}{\code {active-region-start-color}}
-\entry{active-region-end-color}{124}{\code {active-region-end-color}}
-\entry{bell-style}{124}{\code {bell-style}}
-\entry{bind-tty-special-chars}{124}{\code {bind-tty-special-chars}}
-\entry{blink-matching-paren}{125}{\code {blink-matching-paren}}
-\entry{colored-completion-prefix}{125}{\code {colored-completion-prefix}}
-\entry{colored-stats}{125}{\code {colored-stats}}
-\entry{comment-begin}{125}{\code {comment-begin}}
-\entry{completion-display-width}{125}{\code {completion-display-width}}
-\entry{completion-ignore-case}{125}{\code {completion-ignore-case}}
-\entry{completion-map-case}{125}{\code {completion-map-case}}
-\entry{completion-prefix-display-length}{125}{\code {completion-prefix-display-length}}
-\entry{completion-query-items}{125}{\code {completion-query-items}}
-\entry{convert-meta}{126}{\code {convert-meta}}
-\entry{disable-completion}{126}{\code {disable-completion}}
-\entry{echo-control-characters}{126}{\code {echo-control-characters}}
-\entry{editing-mode}{126}{\code {editing-mode}}
-\entry{emacs-mode-string}{126}{\code {emacs-mode-string}}
-\entry{enable-active-region}{126}{\code {enable-active-region}}
-\entry{enable-bracketed-paste}{127}{\code {enable-bracketed-paste}}
-\entry{enable-keypad}{127}{\code {enable-keypad}}
-\entry{expand-tilde}{127}{\code {expand-tilde}}
-\entry{history-preserve-point}{127}{\code {history-preserve-point}}
-\entry{history-size}{127}{\code {history-size}}
-\entry{horizontal-scroll-mode}{127}{\code {horizontal-scroll-mode}}
-\entry{input-meta}{127}{\code {input-meta}}
-\entry{meta-flag}{127}{\code {meta-flag}}
-\entry{isearch-terminators}{128}{\code {isearch-terminators}}
-\entry{keymap}{128}{\code {keymap}}
-\entry{mark-modified-lines}{128}{\code {mark-modified-lines}}
-\entry{mark-symlinked-directories}{128}{\code {mark-symlinked-directories}}
-\entry{match-hidden-files}{128}{\code {match-hidden-files}}
-\entry{menu-complete-display-prefix}{129}{\code {menu-complete-display-prefix}}
-\entry{output-meta}{129}{\code {output-meta}}
-\entry{page-completions}{129}{\code {page-completions}}
-\entry{revert-all-at-newline}{129}{\code {revert-all-at-newline}}
-\entry{search-ignore-case}{129}{\code {search-ignore-case}}
-\entry{show-all-if-ambiguous}{129}{\code {show-all-if-ambiguous}}
-\entry{show-all-if-unmodified}{129}{\code {show-all-if-unmodified}}
-\entry{show-mode-in-prompt}{129}{\code {show-mode-in-prompt}}
-\entry{skip-completed-text}{130}{\code {skip-completed-text}}
-\entry{vi-cmd-mode-string}{130}{\code {vi-cmd-mode-string}}
-\entry{vi-ins-mode-string}{130}{\code {vi-ins-mode-string}}
-\entry{visible-stats}{130}{\code {visible-stats}}
+\entry{CDPATH}{80}{\code {CDPATH}}
+\entry{HOME}{80}{\code {HOME}}
+\entry{IFS}{80}{\code {IFS}}
+\entry{MAIL}{80}{\code {MAIL}}
+\entry{MAILPATH}{80}{\code {MAILPATH}}
+\entry{OPTARG}{80}{\code {OPTARG}}
+\entry{OPTIND}{80}{\code {OPTIND}}
+\entry{PATH}{80}{\code {PATH}}
+\entry{PS1}{80}{\code {PS1}}
+\entry{PS2}{80}{\code {PS2}}
+\entry{_}{80}{\code {_}}
+\entry{$_}{80}{\code {$_}}
+\entry{BASH}{81}{\code {BASH}}
+\entry{BASHOPTS}{81}{\code {BASHOPTS}}
+\entry{BASHPID}{81}{\code {BASHPID}}
+\entry{BASH_ALIASES}{81}{\code {BASH_ALIASES}}
+\entry{BASH_ARGC}{81}{\code {BASH_ARGC}}
+\entry{BASH_ARGV}{81}{\code {BASH_ARGV}}
+\entry{BASH_ARGV0}{82}{\code {BASH_ARGV0}}
+\entry{BASH_CMDS}{82}{\code {BASH_CMDS}}
+\entry{BASH_COMMAND}{82}{\code {BASH_COMMAND}}
+\entry{BASH_COMPAT}{82}{\code {BASH_COMPAT}}
+\entry{BASH_ENV}{82}{\code {BASH_ENV}}
+\entry{BASH_EXECUTION_STRING}{82}{\code {BASH_EXECUTION_STRING}}
+\entry{BASH_LINENO}{82}{\code {BASH_LINENO}}
+\entry{BASH_LOADABLES_PATH}{83}{\code {BASH_LOADABLES_PATH}}
+\entry{BASH_REMATCH}{83}{\code {BASH_REMATCH}}
+\entry{BASH_SOURCE}{83}{\code {BASH_SOURCE}}
+\entry{BASH_SUBSHELL}{83}{\code {BASH_SUBSHELL}}
+\entry{BASH_VERSINFO}{83}{\code {BASH_VERSINFO}}
+\entry{BASH_VERSION}{83}{\code {BASH_VERSION}}
+\entry{BASH_XTRACEFD}{83}{\code {BASH_XTRACEFD}}
+\entry{CHILD_MAX}{84}{\code {CHILD_MAX}}
+\entry{COLUMNS}{84}{\code {COLUMNS}}
+\entry{COMP_CWORD}{84}{\code {COMP_CWORD}}
+\entry{COMP_LINE}{84}{\code {COMP_LINE}}
+\entry{COMP_POINT}{84}{\code {COMP_POINT}}
+\entry{COMP_TYPE}{84}{\code {COMP_TYPE}}
+\entry{COMP_KEY}{84}{\code {COMP_KEY}}
+\entry{COMP_WORDBREAKS}{84}{\code {COMP_WORDBREAKS}}
+\entry{COMP_WORDS}{84}{\code {COMP_WORDS}}
+\entry{COMPREPLY}{85}{\code {COMPREPLY}}
+\entry{COPROC}{85}{\code {COPROC}}
+\entry{DIRSTACK}{85}{\code {DIRSTACK}}
+\entry{EMACS}{85}{\code {EMACS}}
+\entry{ENV}{85}{\code {ENV}}
+\entry{EPOCHREALTIME}{85}{\code {EPOCHREALTIME}}
+\entry{EPOCHSECONDS}{85}{\code {EPOCHSECONDS}}
+\entry{EUID}{85}{\code {EUID}}
+\entry{EXECIGNORE}{85}{\code {EXECIGNORE}}
+\entry{FCEDIT}{86}{\code {FCEDIT}}
+\entry{FIGNORE}{86}{\code {FIGNORE}}
+\entry{FUNCNAME}{86}{\code {FUNCNAME}}
+\entry{FUNCNEST}{86}{\code {FUNCNEST}}
+\entry{GLOBIGNORE}{86}{\code {GLOBIGNORE}}
+\entry{GLOBSORT}{86}{\code {GLOBSORT}}
+\entry{GROUPS}{87}{\code {GROUPS}}
+\entry{histchars}{87}{\code {histchars}}
+\entry{HISTCMD}{87}{\code {HISTCMD}}
+\entry{HISTCONTROL}{87}{\code {HISTCONTROL}}
+\entry{HISTFILE}{87}{\code {HISTFILE}}
+\entry{HISTFILESIZE}{87}{\code {HISTFILESIZE}}
+\entry{HISTIGNORE}{87}{\code {HISTIGNORE}}
+\entry{HISTSIZE}{88}{\code {HISTSIZE}}
+\entry{HISTTIMEFORMAT}{88}{\code {HISTTIMEFORMAT}}
+\entry{HOSTFILE}{88}{\code {HOSTFILE}}
+\entry{HOSTNAME}{88}{\code {HOSTNAME}}
+\entry{HOSTTYPE}{88}{\code {HOSTTYPE}}
+\entry{IGNOREEOF}{88}{\code {IGNOREEOF}}
+\entry{INPUTRC}{88}{\code {INPUTRC}}
+\entry{INSIDE_EMACS}{88}{\code {INSIDE_EMACS}}
+\entry{LANG}{89}{\code {LANG}}
+\entry{LC_ALL}{89}{\code {LC_ALL}}
+\entry{LC_COLLATE}{89}{\code {LC_COLLATE}}
+\entry{LC_CTYPE}{89}{\code {LC_CTYPE}}
+\entry{LC_MESSAGES}{89}{\code {LC_MESSAGES}}
+\entry{LC_NUMERIC}{89}{\code {LC_NUMERIC}}
+\entry{LC_TIME}{89}{\code {LC_TIME}}
+\entry{LINENO}{89}{\code {LINENO}}
+\entry{LINES}{89}{\code {LINES}}
+\entry{MACHTYPE}{89}{\code {MACHTYPE}}
+\entry{MAILCHECK}{89}{\code {MAILCHECK}}
+\entry{MAPFILE}{89}{\code {MAPFILE}}
+\entry{OLDPWD}{89}{\code {OLDPWD}}
+\entry{OPTERR}{89}{\code {OPTERR}}
+\entry{OSTYPE}{89}{\code {OSTYPE}}
+\entry{PIPESTATUS}{89}{\code {PIPESTATUS}}
+\entry{POSIXLY_CORRECT}{90}{\code {POSIXLY_CORRECT}}
+\entry{PPID}{90}{\code {PPID}}
+\entry{PROMPT_COMMAND}{90}{\code {PROMPT_COMMAND}}
+\entry{PROMPT_DIRTRIM}{90}{\code {PROMPT_DIRTRIM}}
+\entry{PS0}{90}{\code {PS0}}
+\entry{PS3}{90}{\code {PS3}}
+\entry{PS4}{90}{\code {PS4}}
+\entry{PWD}{90}{\code {PWD}}
+\entry{RANDOM}{90}{\code {RANDOM}}
+\entry{READLINE_ARGUMENT}{90}{\code {READLINE_ARGUMENT}}
+\entry{READLINE_LINE}{90}{\code {READLINE_LINE}}
+\entry{READLINE_MARK}{90}{\code {READLINE_MARK}}
+\entry{READLINE_POINT}{91}{\code {READLINE_POINT}}
+\entry{REPLY}{91}{\code {REPLY}}
+\entry{SECONDS}{91}{\code {SECONDS}}
+\entry{SHELL}{91}{\code {SHELL}}
+\entry{SHELLOPTS}{91}{\code {SHELLOPTS}}
+\entry{SHLVL}{91}{\code {SHLVL}}
+\entry{SRANDOM}{91}{\code {SRANDOM}}
+\entry{TIMEFORMAT}{91}{\code {TIMEFORMAT}}
+\entry{TMOUT}{92}{\code {TMOUT}}
+\entry{TMPDIR}{92}{\code {TMPDIR}}
+\entry{UID}{92}{\code {UID}}
+\entry{auto_resume}{120}{\code {auto_resume}}
+\entry{active-region-start-color}{125}{\code {active-region-start-color}}
+\entry{active-region-end-color}{125}{\code {active-region-end-color}}
+\entry{bell-style}{125}{\code {bell-style}}
+\entry{bind-tty-special-chars}{125}{\code {bind-tty-special-chars}}
+\entry{blink-matching-paren}{126}{\code {blink-matching-paren}}
+\entry{colored-completion-prefix}{126}{\code {colored-completion-prefix}}
+\entry{colored-stats}{126}{\code {colored-stats}}
+\entry{comment-begin}{126}{\code {comment-begin}}
+\entry{completion-display-width}{126}{\code {completion-display-width}}
+\entry{completion-ignore-case}{126}{\code {completion-ignore-case}}
+\entry{completion-map-case}{126}{\code {completion-map-case}}
+\entry{completion-prefix-display-length}{126}{\code {completion-prefix-display-length}}
+\entry{completion-query-items}{126}{\code {completion-query-items}}
+\entry{convert-meta}{127}{\code {convert-meta}}
+\entry{disable-completion}{127}{\code {disable-completion}}
+\entry{echo-control-characters}{127}{\code {echo-control-characters}}
+\entry{editing-mode}{127}{\code {editing-mode}}
+\entry{emacs-mode-string}{127}{\code {emacs-mode-string}}
+\entry{enable-active-region}{127}{\code {enable-active-region}}
+\entry{enable-bracketed-paste}{128}{\code {enable-bracketed-paste}}
+\entry{enable-keypad}{128}{\code {enable-keypad}}
+\entry{expand-tilde}{128}{\code {expand-tilde}}
+\entry{history-preserve-point}{128}{\code {history-preserve-point}}
+\entry{history-size}{128}{\code {history-size}}
+\entry{horizontal-scroll-mode}{128}{\code {horizontal-scroll-mode}}
+\entry{input-meta}{128}{\code {input-meta}}
+\entry{meta-flag}{128}{\code {meta-flag}}
+\entry{isearch-terminators}{129}{\code {isearch-terminators}}
+\entry{keymap}{129}{\code {keymap}}
+\entry{mark-modified-lines}{129}{\code {mark-modified-lines}}
+\entry{mark-symlinked-directories}{129}{\code {mark-symlinked-directories}}
+\entry{match-hidden-files}{129}{\code {match-hidden-files}}
+\entry{menu-complete-display-prefix}{130}{\code {menu-complete-display-prefix}}
+\entry{output-meta}{130}{\code {output-meta}}
+\entry{page-completions}{130}{\code {page-completions}}
+\entry{revert-all-at-newline}{130}{\code {revert-all-at-newline}}
+\entry{search-ignore-case}{130}{\code {search-ignore-case}}
+\entry{show-all-if-ambiguous}{130}{\code {show-all-if-ambiguous}}
+\entry{show-all-if-unmodified}{130}{\code {show-all-if-unmodified}}
+\entry{show-mode-in-prompt}{130}{\code {show-mode-in-prompt}}
+\entry{skip-completed-text}{131}{\code {skip-completed-text}}
+\entry{vi-cmd-mode-string}{131}{\code {vi-cmd-mode-string}}
+\entry{vi-ins-mode-string}{131}{\code {vi-ins-mode-string}}
+\entry{visible-stats}{131}{\code {visible-stats}}
index f5e72f3c270d84880e6f5435187dce6f7e531972..8d429325a03ff78ec7612de9345c694434a8ec26 100644 (file)
@@ -11,7 +11,7 @@
 \entry{\code {$-}}{23}
 \entry{\code {$?}}{23}
 \entry{\code {$@}}{23}
-\entry{\code {$_}}{79}
+\entry{\code {$_}}{80}
 \entry{\code {$0}}{24}
 \initial {*}
 \entry{\code {*}}{23}
 \initial {@}
 \entry{\code {@}}{23}
 \initial {_}
-\entry{\code {_}}{79}
+\entry{\code {_}}{80}
 \initial {0}
 \entry{\code {0}}{24}
 \initial {A}
-\entry{\code {active-region-end-color}}{124}
-\entry{\code {active-region-start-color}}{124}
-\entry{\code {auto_resume}}{119}
+\entry{\code {active-region-end-color}}{125}
+\entry{\code {active-region-start-color}}{125}
+\entry{\code {auto_resume}}{120}
 \initial {B}
-\entry{\code {BASH}}{80}
-\entry{\code {BASH_ALIASES}}{80}
-\entry{\code {BASH_ARGC}}{80}
-\entry{\code {BASH_ARGV}}{80}
-\entry{\code {BASH_ARGV0}}{81}
-\entry{\code {BASH_CMDS}}{81}
-\entry{\code {BASH_COMMAND}}{81}
-\entry{\code {BASH_COMPAT}}{81}
-\entry{\code {BASH_ENV}}{81}
-\entry{\code {BASH_EXECUTION_STRING}}{81}
-\entry{\code {BASH_LINENO}}{81}
-\entry{\code {BASH_LOADABLES_PATH}}{82}
-\entry{\code {BASH_REMATCH}}{82}
-\entry{\code {BASH_SOURCE}}{82}
-\entry{\code {BASH_SUBSHELL}}{82}
-\entry{\code {BASH_VERSINFO}}{82}
-\entry{\code {BASH_VERSION}}{82}
-\entry{\code {BASH_XTRACEFD}}{82}
-\entry{\code {BASHOPTS}}{80}
-\entry{\code {BASHPID}}{80}
-\entry{\code {bell-style}}{124}
-\entry{\code {bind-tty-special-chars}}{124}
-\entry{\code {blink-matching-paren}}{125}
+\entry{\code {BASH}}{81}
+\entry{\code {BASH_ALIASES}}{81}
+\entry{\code {BASH_ARGC}}{81}
+\entry{\code {BASH_ARGV}}{81}
+\entry{\code {BASH_ARGV0}}{82}
+\entry{\code {BASH_CMDS}}{82}
+\entry{\code {BASH_COMMAND}}{82}
+\entry{\code {BASH_COMPAT}}{82}
+\entry{\code {BASH_ENV}}{82}
+\entry{\code {BASH_EXECUTION_STRING}}{82}
+\entry{\code {BASH_LINENO}}{82}
+\entry{\code {BASH_LOADABLES_PATH}}{83}
+\entry{\code {BASH_REMATCH}}{83}
+\entry{\code {BASH_SOURCE}}{83}
+\entry{\code {BASH_SUBSHELL}}{83}
+\entry{\code {BASH_VERSINFO}}{83}
+\entry{\code {BASH_VERSION}}{83}
+\entry{\code {BASH_XTRACEFD}}{83}
+\entry{\code {BASHOPTS}}{81}
+\entry{\code {BASHPID}}{81}
+\entry{\code {bell-style}}{125}
+\entry{\code {bind-tty-special-chars}}{125}
+\entry{\code {blink-matching-paren}}{126}
 \initial {C}
-\entry{\code {CDPATH}}{79}
-\entry{\code {CHILD_MAX}}{83}
-\entry{\code {colored-completion-prefix}}{125}
-\entry{\code {colored-stats}}{125}
-\entry{\code {COLUMNS}}{83}
-\entry{\code {comment-begin}}{125}
-\entry{\code {COMP_CWORD}}{83}
-\entry{\code {COMP_KEY}}{83}
-\entry{\code {COMP_LINE}}{83}
-\entry{\code {COMP_POINT}}{83}
-\entry{\code {COMP_TYPE}}{83}
-\entry{\code {COMP_WORDBREAKS}}{83}
-\entry{\code {COMP_WORDS}}{83}
-\entry{\code {completion-display-width}}{125}
-\entry{\code {completion-ignore-case}}{125}
-\entry{\code {completion-map-case}}{125}
-\entry{\code {completion-prefix-display-length}}{125}
-\entry{\code {completion-query-items}}{125}
-\entry{\code {COMPREPLY}}{84}
-\entry{\code {convert-meta}}{126}
-\entry{\code {COPROC}}{84}
+\entry{\code {CDPATH}}{80}
+\entry{\code {CHILD_MAX}}{84}
+\entry{\code {colored-completion-prefix}}{126}
+\entry{\code {colored-stats}}{126}
+\entry{\code {COLUMNS}}{84}
+\entry{\code {comment-begin}}{126}
+\entry{\code {COMP_CWORD}}{84}
+\entry{\code {COMP_KEY}}{84}
+\entry{\code {COMP_LINE}}{84}
+\entry{\code {COMP_POINT}}{84}
+\entry{\code {COMP_TYPE}}{84}
+\entry{\code {COMP_WORDBREAKS}}{84}
+\entry{\code {COMP_WORDS}}{84}
+\entry{\code {completion-display-width}}{126}
+\entry{\code {completion-ignore-case}}{126}
+\entry{\code {completion-map-case}}{126}
+\entry{\code {completion-prefix-display-length}}{126}
+\entry{\code {completion-query-items}}{126}
+\entry{\code {COMPREPLY}}{85}
+\entry{\code {convert-meta}}{127}
+\entry{\code {COPROC}}{85}
 \initial {D}
-\entry{\code {DIRSTACK}}{84}
-\entry{\code {disable-completion}}{126}
+\entry{\code {DIRSTACK}}{85}
+\entry{\code {disable-completion}}{127}
 \initial {E}
-\entry{\code {echo-control-characters}}{126}
-\entry{\code {editing-mode}}{126}
-\entry{\code {emacs-mode-string}}{126}
-\entry{\code {EMACS}}{84}
-\entry{\code {enable-active-region}}{126}
-\entry{\code {enable-bracketed-paste}}{127}
-\entry{\code {enable-keypad}}{127}
-\entry{\code {ENV}}{84}
-\entry{\code {EPOCHREALTIME}}{84}
-\entry{\code {EPOCHSECONDS}}{84}
-\entry{\code {EUID}}{84}
-\entry{\code {EXECIGNORE}}{84}
-\entry{\code {expand-tilde}}{127}
+\entry{\code {echo-control-characters}}{127}
+\entry{\code {editing-mode}}{127}
+\entry{\code {emacs-mode-string}}{127}
+\entry{\code {EMACS}}{85}
+\entry{\code {enable-active-region}}{127}
+\entry{\code {enable-bracketed-paste}}{128}
+\entry{\code {enable-keypad}}{128}
+\entry{\code {ENV}}{85}
+\entry{\code {EPOCHREALTIME}}{85}
+\entry{\code {EPOCHSECONDS}}{85}
+\entry{\code {EUID}}{85}
+\entry{\code {EXECIGNORE}}{85}
+\entry{\code {expand-tilde}}{128}
 \initial {F}
-\entry{\code {FCEDIT}}{85}
-\entry{\code {FIGNORE}}{85}
-\entry{\code {FUNCNAME}}{85}
-\entry{\code {FUNCNEST}}{85}
+\entry{\code {FCEDIT}}{86}
+\entry{\code {FIGNORE}}{86}
+\entry{\code {FUNCNAME}}{86}
+\entry{\code {FUNCNEST}}{86}
 \initial {G}
-\entry{\code {GLOBIGNORE}}{85}
-\entry{\code {GLOBSORT}}{85}
-\entry{\code {GROUPS}}{85}
+\entry{\code {GLOBIGNORE}}{86}
+\entry{\code {GLOBSORT}}{86}
+\entry{\code {GROUPS}}{87}
 \initial {H}
-\entry{\code {histchars}}{86}
-\entry{\code {HISTCMD}}{86}
-\entry{\code {HISTCONTROL}}{86}
-\entry{\code {HISTFILE}}{86}
-\entry{\code {HISTFILESIZE}}{86}
-\entry{\code {HISTIGNORE}}{86}
-\entry{\code {history-preserve-point}}{127}
-\entry{\code {history-size}}{127}
-\entry{\code {HISTSIZE}}{87}
-\entry{\code {HISTTIMEFORMAT}}{87}
-\entry{\code {HOME}}{79}
-\entry{\code {horizontal-scroll-mode}}{127}
-\entry{\code {HOSTFILE}}{87}
-\entry{\code {HOSTNAME}}{87}
-\entry{\code {HOSTTYPE}}{87}
+\entry{\code {histchars}}{87}
+\entry{\code {HISTCMD}}{87}
+\entry{\code {HISTCONTROL}}{87}
+\entry{\code {HISTFILE}}{87}
+\entry{\code {HISTFILESIZE}}{87}
+\entry{\code {HISTIGNORE}}{87}
+\entry{\code {history-preserve-point}}{128}
+\entry{\code {history-size}}{128}
+\entry{\code {HISTSIZE}}{88}
+\entry{\code {HISTTIMEFORMAT}}{88}
+\entry{\code {HOME}}{80}
+\entry{\code {horizontal-scroll-mode}}{128}
+\entry{\code {HOSTFILE}}{88}
+\entry{\code {HOSTNAME}}{88}
+\entry{\code {HOSTTYPE}}{88}
 \initial {I}
-\entry{\code {IFS}}{79}
-\entry{\code {IGNOREEOF}}{87}
-\entry{\code {input-meta}}{127}
-\entry{\code {INPUTRC}}{87}
-\entry{\code {INSIDE_EMACS}}{87}
-\entry{\code {isearch-terminators}}{128}
+\entry{\code {IFS}}{80}
+\entry{\code {IGNOREEOF}}{88}
+\entry{\code {input-meta}}{128}
+\entry{\code {INPUTRC}}{88}
+\entry{\code {INSIDE_EMACS}}{88}
+\entry{\code {isearch-terminators}}{129}
 \initial {K}
-\entry{\code {keymap}}{128}
+\entry{\code {keymap}}{129}
 \initial {L}
-\entry{\code {LANG}}{8, 87}
-\entry{\code {LC_ALL}}{88}
-\entry{\code {LC_COLLATE}}{88}
-\entry{\code {LC_CTYPE}}{88}
-\entry{\code {LC_MESSAGES}}{8, 88}
-\entry{\code {LC_NUMERIC}}{88}
-\entry{\code {LC_TIME}}{88}
-\entry{\code {LINENO}}{88}
-\entry{\code {LINES}}{88}
+\entry{\code {LANG}}{8, 89}
+\entry{\code {LC_ALL}}{89}
+\entry{\code {LC_COLLATE}}{89}
+\entry{\code {LC_CTYPE}}{89}
+\entry{\code {LC_MESSAGES}}{8, 89}
+\entry{\code {LC_NUMERIC}}{89}
+\entry{\code {LC_TIME}}{89}
+\entry{\code {LINENO}}{89}
+\entry{\code {LINES}}{89}
 \initial {M}
-\entry{\code {MACHTYPE}}{88}
-\entry{\code {MAIL}}{79}
-\entry{\code {MAILCHECK}}{88}
-\entry{\code {MAILPATH}}{79}
-\entry{\code {MAPFILE}}{88}
-\entry{\code {mark-modified-lines}}{128}
-\entry{\code {mark-symlinked-directories}}{128}
-\entry{\code {match-hidden-files}}{128}
-\entry{\code {menu-complete-display-prefix}}{129}
-\entry{\code {meta-flag}}{127}
+\entry{\code {MACHTYPE}}{89}
+\entry{\code {MAIL}}{80}
+\entry{\code {MAILCHECK}}{89}
+\entry{\code {MAILPATH}}{80}
+\entry{\code {MAPFILE}}{89}
+\entry{\code {mark-modified-lines}}{129}
+\entry{\code {mark-symlinked-directories}}{129}
+\entry{\code {match-hidden-files}}{129}
+\entry{\code {menu-complete-display-prefix}}{130}
+\entry{\code {meta-flag}}{128}
 \initial {O}
-\entry{\code {OLDPWD}}{88}
-\entry{\code {OPTARG}}{79}
-\entry{\code {OPTERR}}{88}
-\entry{\code {OPTIND}}{79}
-\entry{\code {OSTYPE}}{88}
-\entry{\code {output-meta}}{129}
+\entry{\code {OLDPWD}}{89}
+\entry{\code {OPTARG}}{80}
+\entry{\code {OPTERR}}{89}
+\entry{\code {OPTIND}}{80}
+\entry{\code {OSTYPE}}{89}
+\entry{\code {output-meta}}{130}
 \initial {P}
-\entry{\code {page-completions}}{129}
-\entry{\code {PATH}}{79}
-\entry{\code {PIPESTATUS}}{88}
-\entry{\code {POSIXLY_CORRECT}}{89}
-\entry{\code {PPID}}{89}
-\entry{\code {PROMPT_COMMAND}}{89}
-\entry{\code {PROMPT_DIRTRIM}}{89}
-\entry{\code {PS0}}{89}
-\entry{\code {PS1}}{79}
-\entry{\code {PS2}}{79}
-\entry{\code {PS3}}{89}
-\entry{\code {PS4}}{89}
-\entry{\code {PWD}}{89}
+\entry{\code {page-completions}}{130}
+\entry{\code {PATH}}{80}
+\entry{\code {PIPESTATUS}}{89}
+\entry{\code {POSIXLY_CORRECT}}{90}
+\entry{\code {PPID}}{90}
+\entry{\code {PROMPT_COMMAND}}{90}
+\entry{\code {PROMPT_DIRTRIM}}{90}
+\entry{\code {PS0}}{90}
+\entry{\code {PS1}}{80}
+\entry{\code {PS2}}{80}
+\entry{\code {PS3}}{90}
+\entry{\code {PS4}}{90}
+\entry{\code {PWD}}{90}
 \initial {R}
-\entry{\code {RANDOM}}{89}
-\entry{\code {READLINE_ARGUMENT}}{89}
-\entry{\code {READLINE_LINE}}{89}
-\entry{\code {READLINE_MARK}}{89}
-\entry{\code {READLINE_POINT}}{90}
-\entry{\code {REPLY}}{90}
-\entry{\code {revert-all-at-newline}}{129}
+\entry{\code {RANDOM}}{90}
+\entry{\code {READLINE_ARGUMENT}}{90}
+\entry{\code {READLINE_LINE}}{90}
+\entry{\code {READLINE_MARK}}{90}
+\entry{\code {READLINE_POINT}}{91}
+\entry{\code {REPLY}}{91}
+\entry{\code {revert-all-at-newline}}{130}
 \initial {S}
-\entry{\code {search-ignore-case}}{129}
-\entry{\code {SECONDS}}{90}
-\entry{\code {SHELL}}{90}
-\entry{\code {SHELLOPTS}}{90}
-\entry{\code {SHLVL}}{90}
-\entry{\code {show-all-if-ambiguous}}{129}
-\entry{\code {show-all-if-unmodified}}{129}
-\entry{\code {show-mode-in-prompt}}{129}
-\entry{\code {skip-completed-text}}{130}
-\entry{\code {SRANDOM}}{90}
+\entry{\code {search-ignore-case}}{130}
+\entry{\code {SECONDS}}{91}
+\entry{\code {SHELL}}{91}
+\entry{\code {SHELLOPTS}}{91}
+\entry{\code {SHLVL}}{91}
+\entry{\code {show-all-if-ambiguous}}{130}
+\entry{\code {show-all-if-unmodified}}{130}
+\entry{\code {show-mode-in-prompt}}{130}
+\entry{\code {skip-completed-text}}{131}
+\entry{\code {SRANDOM}}{91}
 \initial {T}
 \entry{\code {TEXTDOMAIN}}{8}
 \entry{\code {TEXTDOMAINDIR}}{8}
-\entry{\code {TIMEFORMAT}}{90}
-\entry{\code {TMOUT}}{91}
-\entry{\code {TMPDIR}}{91}
+\entry{\code {TIMEFORMAT}}{91}
+\entry{\code {TMOUT}}{92}
+\entry{\code {TMPDIR}}{92}
 \initial {U}
-\entry{\code {UID}}{91}
+\entry{\code {UID}}{92}
 \initial {V}
-\entry{\code {vi-cmd-mode-string}}{130}
-\entry{\code {vi-ins-mode-string}}{130}
-\entry{\code {visible-stats}}{130}
+\entry{\code {vi-cmd-mode-string}}{131}
+\entry{\code {vi-ins-mode-string}}{131}
+\entry{\code {visible-stats}}{131}
index 33383910c8fcc8fa88a2c9f70e0b73f694a2538d..0537ea19d08964d0999b361729c5df52f76490e3 100644 (file)
@@ -2,10 +2,10 @@
 Copyright (C) 1988-2023 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Thu Apr 20 15:08:33 EDT 2023
+@set LASTCHANGE Sun May 14 15:33:30 EDT 2023
 
 @set EDITION 5.2
 @set VERSION 5.2
 
-@set UPDATED 20 April 2023
-@set UPDATED-MONTH April 2023
+@set UPDATED 14 May 2023
+@set UPDATED-MONTH May 2023
index c55fd92e49f79163b8b6ce2fd7d2282ad5c22621..4c0ad63e2704617b9d5eb71e430f17d24a2791e0 100644 (file)
@@ -2484,7 +2484,7 @@ uw_merge_temporary_env (void *ignore)
 }
 
 /* Catch-all cleanup function for lastpipe code for unwind-protects */
-static void
+void
 uw_lastpipe_cleanup (void *s)
 {
   set_jobs_list_frozen ((intptr_t) s);
@@ -5915,6 +5915,7 @@ initialize_subshell (void)
   variable_context = return_catch_flag = funcnest = evalnest = sourcenest = 0;
 
   interrupt_execution = retain_fifos = 0;              /* XXX */
+  executing_funsub = 0;                                        /* XXX */
 
   /* If we're not interactive, close the file descriptor from which we're
      reading the current shell script. */
index 518222a3bb64ff56e606c327477f20348db03dbf..f80043423cf36a0f71a8b328c76f7acf20023da8 100644 (file)
@@ -121,6 +121,8 @@ extern void restore_funcarray_state (struct func_array_state *);
 extern void uw_restore_funcarray_state (void *);
 #endif
 
+extern void uw_lastpipe_cleanup (void *);
+
 extern void bind_lastarg (char *);
 
 extern void uw_dispose_fd_bitmap (void *);
index 1afec7cecfb47a709f38569d2c8d3efd345295ae..bbb5cccb48b2d270dc4d025b9b624db0eaf38f5d 100644 (file)
--- a/externs.h
+++ b/externs.h
@@ -180,7 +180,7 @@ extern void show_shell_version (int);
    go into a separate include file. */
 
 /* declarations for functions defined in lib/sh/anonfile.c */
-extern int anonopen (const char *, int);
+extern int anonopen (const char *, int, char **);
 extern int anonclose (int, const char *);
 
 /* declarations for functions defined in lib/sh/casemod.c */
diff --git a/jobs.c b/jobs.c
index 8dc9a037c1a1ca32a03d161ce40fb1e4711df9c6..49e5a2f50f66361372aac9394263e9a743e0c128 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -337,7 +337,6 @@ static SigHandler *old_cont = (SigHandler *)SIG_DFL;
 
 /* A place to temporarily save the current pipeline. */
 static struct pipeline_saver *saved_pipeline;
-static int saved_already_making_children;
 
 /* Set this to non-zero whenever you don't want the jobs list to change at
    all: no jobs deleted and no status change notifications.  This is used,
@@ -470,6 +469,7 @@ alloc_pipeline_saver (void)
 
   ret = (struct pipeline_saver *)xmalloc (sizeof (struct pipeline_saver));
   ret->pipeline = 0;
+  ret->already_making_children = 0;
   ret->next = 0;
   return ret;
 }
@@ -483,11 +483,11 @@ save_pipeline (int clear)
   BLOCK_CHILD (set, oset);
   saver = alloc_pipeline_saver ();
   saver->pipeline = the_pipeline;
+  saver->already_making_children = already_making_children;
   saver->next = saved_pipeline;
   saved_pipeline = saver;
   if (clear)
     the_pipeline = (PROCESS *)NULL;
-  saved_already_making_children = already_making_children;
   UNBLOCK_CHILD (oset);
 }
 
@@ -501,10 +501,10 @@ restore_pipeline (int discard)
   BLOCK_CHILD (set, oset);
   old_pipeline = the_pipeline;
   the_pipeline = saved_pipeline->pipeline;
+  already_making_children = saved_pipeline->already_making_children;
   saver = saved_pipeline;
   saved_pipeline = saved_pipeline->next;
   free (saver);
-  already_making_children = saved_already_making_children;
   UNBLOCK_CHILD (oset);
 
   if (discard && old_pipeline)
diff --git a/jobs.h b/jobs.h
index c096ee73ae16d0c13b20ef5b8491a1e862ad456b..5f9c9fc3086ef440d1fb1129d995a4ca2deb4487 100644 (file)
--- a/jobs.h
+++ b/jobs.h
@@ -72,6 +72,7 @@ typedef struct process {
 
 struct pipeline_saver {
   struct process *pipeline;
+  int already_making_children;
   struct pipeline_saver *next;
 };
 
index ded456b5ec9c15260f9d80d568562a17157392e5..febc778f1585bb2aefce394b7a69519b411b3b74 100644 (file)
@@ -47,13 +47,13 @@ anonunlink (const char *fn)
 }
 
 int
-anonopen (const char *name, int flags)
+anonopen (const char *name, int flags, char **fn)
 {
   int fd, flag;
 
   /* Heuristic */
   flag = (name && *name == '/') ? MT_TEMPLATE : MT_USETMPDIR;
-  fd = sh_mktmpfd (name, flag|MT_USERANDOM|MT_READWRITE|MT_UNLINK, (char **)NULL);
+  fd = sh_mktmpfd (name, flag|MT_USERANDOM|MT_READWRITE|MT_UNLINK, fn);
   return fd;
 }
 
diff --git a/parse.y b/parse.y
index 2ca3d600fe8b33ac1555808270952a60df7c6a1a..30315803f817afedaa668c6c8922c653791ec043 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -3807,7 +3807,7 @@ parse_matched_pair (int qc, int open, int close, size_t *lenp, int flags)
        count--;
       /* handle nested ${...} specially. */
       else if MBTEST(open != close && (tflags & LEX_WASDOL) && open == '{' && ch == open) /* } */
-       count++;
+       count++;                /* XXX */
       else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && ch == open)      /* nested begin */
        count++;
 
@@ -3961,10 +3961,21 @@ parse_matched_pair (int qc, int open, int close, size_t *lenp, int flags)
              FREE (nestret);
            }
          else if ((flags & (P_ARRAYSUB|P_DOLBRACE)) && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+           /* This also handles ${ command; } */
            goto parse_dollar_word;
          else if ((flags & P_ARITH) && (tflags & LEX_WASDOL) && ch == '(') /*)*/
            /* $() inside $(( ))/$[ ] */
            goto parse_dollar_word;
+         else if ((flags & P_ARITH) && (tflags & LEX_WASDOL) && ch == '{') /*)*/
+           /* ${} inside $(( ))/$[ ] */
+           {
+             int npeek;
+             npeek = shell_getc (1);
+             shell_ungetc (npeek);
+             if (FUNSUB_CHAR (npeek))
+               goto parse_dollar_word;
+           }
+
 #if defined (PROCESS_SUBSTITUTION)
          /* XXX - technically this should only be recognized at the start of
             a word */
@@ -4272,7 +4283,7 @@ static char *
 parse_comsub (int qc, int open, int close, size_t *lenp, int flags)
 {
   int peekc, r;
-  int start_lineno, dolbrace_spec, local_extglob, was_extpat;
+  int start_lineno, dolbrace_spec, local_extglob, was_extpat, was_word;
   char *ret, *tcmd;
   size_t retlen;
   sh_parser_state_t ps;
@@ -4292,7 +4303,11 @@ parse_comsub (int qc, int open, int close, size_t *lenp, int flags)
     {
       peekc = shell_getc (1);
       if (FUNSUB_CHAR (peekc))
-       dolbrace_spec = peekc;
+       {
+         dolbrace_spec = peekc;
+         if (dolbrace_spec == '(')     /* ksh93 compatibility ) */
+           shell_ungetc (peekc);
+       }
       else
        {
          shell_ungetc (peekc);
@@ -4308,6 +4323,7 @@ parse_comsub (int qc, int open, int close, size_t *lenp, int flags)
   save_parser_state (&ps);
 
   was_extpat = (parser_state & PST_EXTPAT);
+  was_word = 0;
 
   /* State flags we don't want to persist into command substitutions. */
   parser_state &= ~(PST_REGEXP|PST_EXTPAT|PST_CONDCMD|PST_CONDEXPR|PST_COMPASSIGN);
@@ -4353,6 +4369,14 @@ parse_comsub (int qc, int open, int close, size_t *lenp, int flags)
 
   r = yyparse ();
 
+  if (open == '{')
+    {
+      if (current_token == shell_eof_token &&
+           (last_read_token == ';' || last_read_token == '\n') &&
+           (token_before_that == WORD || token_before_that == ASSIGNMENT_WORD))
+       was_word = 1;
+    }
+
   if (need_here_doc > 0)
     {
       internal_warning ("command substitution: %d unterminated here-document%s", need_here_doc, (need_here_doc == 1) ? "" : "s");
@@ -4442,6 +4466,8 @@ INTERNAL_DEBUG(("current_token (%d) != shell_eof_token (%c)", current_token, she
       strcpy (ret + 1, tcmd);          /* ( */
       if (lastc != '\n' && lastc != ';' && lastc != '&' && lastc != ')')
        ret[retlen++] = ';';
+      else if (lastc == ')' && was_word)       /* right paren can end a word */
+       ret[retlen++] = ';';
       ret[retlen++] = ' ';
     }
   ret[retlen++] = close;
@@ -4457,7 +4483,7 @@ INTERNAL_DEBUG(("current_token (%d) != shell_eof_token (%c)", current_token, she
   return ret;
 }
 
-/* Recursively call the parser to parse a $(...) command substitution. This is
+/* Recursively call the parser to parse a command substitution. This is
    called by the word expansion code and so does not have to reset as much
    parser state before calling yyparse(). */
 char *
@@ -4515,7 +4541,7 @@ xparse_dolparen (const char *base, char *string, int *indp, int flags)
   local_extglob = extended_glob;
 #endif
 
-  if (funsub && FUNSUB_CHAR (*string))
+  if (funsub && FUNSUB_CHAR (*string) && *string == '|')
     string++;
 
   token_to_read = funsub ? DOLBRACE : DOLPAREN;                        /* let's trick the parser */
@@ -4531,7 +4557,7 @@ xparse_dolparen (const char *base, char *string, int *indp, int flags)
   /* reset_parser() clears shell_input_line and associated variables, including
      parser_state, so we want to reset things, then restore what we need. */
   restore_input_line_state (&ls);
-  restore_parser_state (&ps);
+  restore_parser_state (&ps);  /* restores shell_eof_token */
 
 #if defined (EXTENDED_GLOB)
   extended_glob = local_extglob;
@@ -4580,7 +4606,7 @@ xparse_dolparen (const char *base, char *string, int *indp, int flags)
     {
       /*(*/
       if ((flags & SX_NOERROR) == 0)
-       parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), ')');
+       parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), closer);
       jump_to_top_level (DISCARD);
     }
 
index 3efdd798e04e31e5982d84a548b474de1f533109..96115c275e58fbd20ccd05f5aa7c71df1f113912 100644 (file)
--- a/parser.h
+++ b/parser.h
@@ -78,7 +78,7 @@ struct dstack {
 
 /* characters that can appear following ${ to introduce a function or value
    substitution (this is mksh terminology and needs to be changed). */
-#define FUNSUB_CHAR(n) ((n) == ' ' || (n) == '\t' || (n) == '\n' || (n) == '|')
+#define FUNSUB_CHAR(n) ((n) == ' ' || (n) == '\t' || (n) == '\n' || (n) == '|' || (n) == '(')  /* ) */
 
 /* variable declarations from parse.y */
 extern struct dstack dstack;
diff --git a/sig.c b/sig.c
index 279eaadf64450c9d35b5791412bcb8d8723fd3c0..d44ce3586f57b6e18be3fbf0b11e6032ded0e1bc 100644 (file)
--- a/sig.c
+++ b/sig.c
@@ -396,7 +396,7 @@ top_level_cleanup (void)
 
   run_unwind_protects ();
   loop_level = continuing = breaking = funcnest = 0;
-  interrupt_execution = retain_fifos = 0;
+  interrupt_execution = retain_fifos = executing_funsub = 0;
   comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
   variable_context = 0;                /* XXX */
 }
@@ -464,7 +464,7 @@ throw_to_top_level (void)
 
   run_unwind_protects ();
   loop_level = continuing = breaking = funcnest = 0;
-  interrupt_execution = retain_fifos = 0;
+  interrupt_execution = retain_fifos = executing_funsub = 0;
   comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
   variable_context = 0;
 
@@ -632,7 +632,7 @@ termsig_handler (int sig)
 
   /* Reset execution context */
   loop_level = continuing = breaking = funcnest = 0;
-  interrupt_execution = retain_fifos = 0;
+  interrupt_execution = retain_fifos = executing_funsub = 0;
   comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
 
   run_exit_trap ();    /* XXX - run exit trap possibly in signal context? */
diff --git a/subst.c b/subst.c
index c2ff4c1306126159b753224d31455692d8cacadc..6d0e8cbb14a5ad25569a473932c0d12c5fead676 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -192,6 +192,9 @@ int fail_glob_expansion;
    pattern substitution word expansion. */
 int patsub_replacement = PATSUB_REPLACE_DEFAULT;
 
+/* Are we executing a ${ command; } nofork comsub? */
+int executing_funsub = 0;
+
 /* Extern functions and variables from different files. */
 extern struct fd_bitmap *current_fds_to_close;
 extern int wordexp_only;
@@ -6745,18 +6748,89 @@ read_comsub (int fd, int quoted, int flags, int *rflag)
   return istring;
 }
 
+static void
+uw_pop_var_context (void *ignore)
+{
+  pop_var_context ();
+}
+
+#if defined (ARRAY_VARS)
+static void
+uw_restore_pipestatus_array (void *a)
+{
+  restore_pipestatus_array (a);
+}
+#endif
+
+/* If S == -1, it's a special value saying to close stdin */
+static void
+restore_stdout (int fd)
+{
+  if (fd == -1)
+    close (1);
+  else
+    {
+      dup2 (fd, 1);
+      close (fd);
+    }
+}
+
+static void
+uw_restore_stdout (void *fd)
+{
+  restore_stdout ((intptr_t) fd);
+}
+
+static void
+uw_anonclose (void *fdesc)
+{
+  STRING_INT_ALIST *af;
+
+  af = (STRING_INT_ALIST *)fdesc;
+  anonclose (af->token, af->word);
+  free (af->word);
+}
+
+static void
+uw_unbind_variable (void *name)
+{
+  unbind_variable (name);
+}
+
+static void
+uw_restore_pipeline (void *discard)
+{
+  restore_pipeline ((intptr_t) discard);
+}
+
+static void
+uw_restore_errexit (void *eflag)
+{
+  change_flag ('e', (intptr_t) eflag ? FLAG_ON : FLAG_OFF);
+  set_shellopts ();
+}
+       
+static SHELL_VAR lambdafunc = { ".bash.lambda", 0, 0, 0, 0, 0, 0 };
+
 WORD_DESC *
 function_substitute (char *string, int quoted, int flags)
 {
-  pid_t old_pipeline_pgrp;
+  volatile int save_return_catch_flag, function_code;
+  int valsub, stdout_valid, saveout, old_frozen;
+  int result, pflags, tflag, was_trap;
   char *istring, *s;
-  int fd;
-  int result, fildes[2], function_value, pflags, rc, tflag, fork_flags;
-  int valsub;
   WORD_DESC *ret;
+  SHELL_VAR *v;
+  STRING_INT_ALIST anonf;
+  int afd;
+  char *afn;
   sigset_t set, oset;
+#if defined (ARRAY_VARS)
+  ARRAY *ps;
+#endif
 
-  istring = (char *)NULL;
+  if (valsub = (string && *string == '|'))
+    string++;
 
   /* In the case of no command to run, just return NULL. */
   for (s = string; s && *s && (shellblank (*s) || *s == '\n'); s++)
@@ -6764,31 +6838,164 @@ function_substitute (char *string, int quoted, int flags)
   if (s == 0 || *s == 0)
     return ((WORD_DESC *)NULL);
 
-  if (valsub = (*string == '|'))
-    string++;
-
+  istring = (char *)NULL;
   /* Flags to pass to parse_and_execute() */
   pflags = (interactive && sourcelevel == 0) ? SEVAL_RESETLINE : 0;
+  pflags |= SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE|SEVAL_NOOPTIMIZE;   /* XXX */
+
+  /* Let's get an anonymous file before we really try anything else. */
+  if (valsub == 0)
+    {
+      afd = anonopen ("sh-nfc", 0, &afn);      /* don't use filename yet */
+      if (afd < 0)
+       {
+         sys_error ("%s", _("function_substitute: cannot open anonymous file for output"));
+         exp_jump_to_top_level (DISCARD);              /* XXX */
+       }
+    }
+
+  begin_unwind_frame ("nofork comsub");
+
+  /* Save command and expansion state we need. */
+  if (valsub == 0)
+    {
+      anonf.word = afn;
+      anonf.token = afd;
+      add_unwind_protect (uw_anonclose, (void *)&anonf);
+    }
+  unwind_protect_int (executing_funsub);
+  unwind_protect_int (expand_aliases);
+  unwind_protect_pointer (subst_assign_varlist);
+  unwind_protect_pointer (temporary_env);
+  unwind_protect_pointer (this_shell_function);
+  add_unwind_protect (uw_pop_var_context, 0);
+
+#if defined (ARRAY_VARS)
+  ps = save_pipestatus_array ();
+  add_unwind_protect (uw_restore_pipestatus_array, ps);
+#endif
+  
+  subst_assign_varlist = 0;
+
+  push_context (lambdafunc.name, 1, temporary_env);            /* make local variables work */
+  temporary_env = 0;
+  this_shell_function = &lambdafunc;  
+
+  unwind_protect_int (verbose_flag);
+  change_flag ('v', FLAG_OFF);
+
+  /* When inherit_errexit option is not enabled, command substitution does
+     not inherit the -e flag.  It is enabled when Posix mode is enabled */
+  if (inherit_errexit == 0)
+    {
+      unwind_protect_int (builtin_ignoring_errexit);
+      builtin_ignoring_errexit = 0;
+      add_unwind_protect (uw_restore_errexit, (void *) (intptr_t) errexit_flag);
+      change_flag ('e', FLAG_OFF);
+    }
+  set_shellopts ();
+
+  if (valsub == 0)
+    {
+      fflush (stdout);
+      fpurge (stdout);
+
+      stdout_valid = sh_validfd (1);
+      saveout = stdout_valid ? move_to_high_fd (1, 1, -1) : -1;
+      add_unwind_protect (uw_restore_stdout, (void *) (intptr_t) saveout);
+
+      /* Redirect stdout to the anonymous file */
+      if (dup2 (afd, 1) < 0)
+       {
+         sys_error ("%s", _("function_substitute: cannot duplicate anonymous file as standard output"));
+         run_unwind_frame ("nofork comsub");
+         exp_jump_to_top_level (DISCARD);
+       }
+#ifdef __CYGWIN__
+      freopen (NULL, "w", stdout);
+      sh_setlinebuf (stdout);
+#endif
+    }
+  else
+    {
+      v = make_local_variable ("REPLY", 0);            /* should be new instance */
+      /* We don't check $REPLY for readonly yet, but we could */
+      if (v)
+       add_unwind_protect (uw_unbind_variable, "REPLY");
+    }
+
+  old_frozen = freeze_jobs_list ();
+  add_unwind_protect (uw_lastpipe_cleanup, (void *) (intptr_t) old_frozen);
 
 #if defined (JOB_CONTROL)
-  old_pipeline_pgrp = pipeline_pgrp;
+  unwind_protect_var (pipeline_pgrp);
   /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline or
      we've already forked to run a disk command (and are expanding redirections,
      for example). */
   if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0)
     pipeline_pgrp = shell_pgrp;
   save_pipeline (1);
+  add_unwind_protect (uw_restore_pipeline, (void *) (intptr_t) 1);
   stop_making_children ();
 #endif /* JOB_CONTROL */
 
-  last_command_exit_value = EXECUTION_FAILURE;
-  report_error ("bad substitution: %s", string);
+  remove_quoted_escapes (string);
 
-  pipeline_pgrp = old_pipeline_pgrp;
-  restore_pipeline (1);
+  executing_funsub++;
+  if (expand_aliases)
+    expand_aliases = posixly_correct == 0;
+
+  /* if we are in a position to accept return, we have to save the old values */
+  function_code = 0;
+  if (save_return_catch_flag = return_catch_flag)
+    {
+      unwind_protect_int (return_catch_flag);
+      unwind_protect_jmp_buf (return_catch);
+    }
+
+  was_trap = running_trap;
 
-  /* exp_jump_to_top_level (DISCARD); */
-  return ((WORD_DESC *)NULL);
+  return_catch_flag++; 
+  function_code = setjmp_nosigs (return_catch);
+
+  if (function_code)
+    {
+      parse_and_execute_cleanup (was_trap);
+      result = return_catch_value;
+    }
+  else
+    result = parse_and_execute (string, "nofork comsub", pflags);
+
+  /* rewind back to the start of the file and read the contents */
+
+  if (valsub == 0)
+    {
+      /* We call anonclose as part of the outer nofork unwind-protects */
+      BLOCK_SIGNAL (SIGINT, set, oset);
+      lseek (afd, 0, SEEK_SET);
+      tflag = 0;
+      istring = read_comsub (afd, quoted, flags, &tflag);
+      UNBLOCK_SIGNAL (oset);
+    }
+  else
+    {
+      s = get_string_value ("REPLY");
+      istring = s ? savestring (s) : savestring ("");
+    }
+
+  run_unwind_frame ("nofork comsub");  /* restores stdout, job control stuff */
+
+  last_command_subst_status = result;
+  if (posixly_correct == 0)            /* POSIX interp 1150 */
+    last_command_exit_value = last_command_subst_status;
+  last_command_subst_pid = dollar_dollar_pid;
+  expand_aliases = expaliases_flag;
+
+  ret = alloc_word_desc ();
+  ret->word = istring;
+  ret->flags = tflag;
+
+  return (ret);
 }
 
 /* Perform command substitution on STRING.  This returns a WORD_DESC * with the
@@ -6985,10 +7192,10 @@ command_substitute (char *string, int quoted, int flags)
       /* When inherit_errexit option is not enabled, command substitution does
         not inherit the -e flag.  It is enabled when Posix mode is enabled */
       if (inherit_errexit == 0)
-        {
-          builtin_ignoring_errexit = 0;
+       {
+         builtin_ignoring_errexit = 0;
          change_flag ('e', FLAG_OFF);
-        }
+       }
       set_shellopts ();
 
       /* If we are expanding a redirection, we can dispose of any temporary
@@ -7075,7 +7282,6 @@ command_substitute (char *string, int quoted, int flags)
       discard_unwind_frame ("read-comsub");
       UNBLOCK_SIGNAL (oset);
 
-      current_command_subst_pid = pid;
       last_command_subst_status = wait_for (pid, JWAIT_NOTERM);
       last_command_subst_pid = pid;
       last_made_pid = old_pid;
diff --git a/subst.h b/subst.h
index cb47cc9aee8eafe248689c86c8e98902b5b62a49..c7e948f1880a578f7ee81458bf654e42a2d56547 100644 (file)
--- a/subst.h
+++ b/subst.h
@@ -355,6 +355,7 @@ extern int inherit_errexit;
 
 extern pid_t last_command_subst_pid;
 extern int last_command_subst_status;
+extern int executing_funsub;
 
 /* Evaluates to 1 if C is a character in $IFS. */
 #define isifs(c)       (ifs_cmap[(unsigned char)(c)] != 0)
diff --git a/tests/comsub2.right b/tests/comsub2.right
new file mode 100644 (file)
index 0000000..281883d
--- /dev/null
@@ -0,0 +1,74 @@
+aa bb cc dd
+AAaa bb cc ddBB
+aa bb cc dd
+aa bb cc dd
+DDDDDaa bb cc ddEEEEE
+aa bb cc dd
+outside: 42
+aa bb cc dd
+outside:
+assignment: 12
+abcde
+67890
+12345
+JOBaa bb cc ddCONTROL
+./comsub2.tests: line 48: p: command not found
+NOTFOUND
+./comsub2.tests: line 56: p: command not found
+./comsub2.tests: line 56: p: command not found
+expand_aliases         off
+expand_aliases         off
+outside:
+expand_aliases         off
+1
+expand_aliases         on
+2
+expand_aliases         on
+outside:
+expand_aliases         on
+1
+xx
+expand_aliases         on
+2
+xx
+expand_aliases         on
+outside:
+expand_aliases         on
+inside: 12 22 42
+outside: 42 2
+newlines
+
+
+outside: 42
+before: 1 2
+after: 2
+before: 1 2
+after: 2
+before: 1 2
+after: 1 2
+XnestedY
+a nested b
+one two
+42
+42
+42
+123
+123
+0
+123
+123
+0
+Mon Aug 29 20:03:02 EDT 2022
+Mon Aug 29 20:03:02 EDT 2022
+Mon Aug 29 20:03:02 EDT 2022
+Mon Aug 29 20:03:02 EDT 2022
+123
+before 123
+in for 123
+outside before: value
+inside before: value
+inside after: funsub
+inside: after false xxx
+outside after: funsub
+=====posix mode=====
+outside before: value
diff --git a/tests/comsub2.tests b/tests/comsub2.tests
new file mode 100644 (file)
index 0000000..0254d8d
--- /dev/null
@@ -0,0 +1,122 @@
+#   This program is free software: you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation, either version 3 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+# initial set of tests for ${Ccommand; } nofork command substitution
+
+# basic functionality
+
+echo ${ printf '%s\n' aa bb cc dd; }
+echo AA${ printf '%s\n' aa bb cc dd; }BB
+
+echo ${ printf '%s\n' aa bb cc dd; return; echo ee ff; }
+echo ${ printf '%s\n' aa bb cc dd
+       }
+echo DDDDD${
+       printf '%s\n' aa bb cc dd
+}EEEEE
+unset x
+echo ${ printf '%s\n' aa bb cc dd; x=42 ; return 12; echo ee ff; }
+echo outside: $x
+unset x
+echo ${ typeset x; printf '%s\n' aa bb cc dd; x=42 ; return 12; echo ee ff; }
+echo outside: $x
+xx=${ typeset x; printf '%s\n' aa bb cc dd; x=42 ; return 12; echo ee ff; }
+echo assignment: $?
+unset xx
+
+echo ${( echo abcde )}         # works in ksh93
+
+echo ${| echo 67890;  REPLY=12345; }           # works in mksh
+
+# basic job control
+set -m
+echo this should disappear | echo JOB${ printf '%s\n' aa bb cc dd; }CONTROL | cat
+set +m
+
+# command not found should still echo error messages to stderr
+echo NOT${ p; }FOUND
+
+# alias handling in command substitutions, default and posix mode
+alias p=printf
+echo "${ typeset x;
+       for f in 1 2; do p '%s\n' $f ; shopt expand_aliases; done
+       x=42 ; return; echo this should not be seen; }"
+echo outside: $x
+shopt expand_aliases
+
+set -o posix
+echo "${ typeset x;
+       for f in 1 2; do p '%s\n' $f ; shopt expand_aliases; done
+       x=42 ; return; echo this should not be seen; }"
+echo outside: $x
+shopt expand_aliases
+
+set +o posix
+
+shopt -s expand_aliases
+
+alias p=printf
+echo "${ typeset x;
+       for f in 1 2; do p '%s\n' $f ; /bin/echo xx ; shopt expand_aliases; done
+       x=42 ; return; echo ee ff; }"
+echo outside: $x
+shopt expand_aliases
+
+# more tests for value substitutions and local variables
+a=1 b=2
+a=${| local b ; a=12 ; b=22 ; REPLY=42 ; echo inside: $a $b $REPLY; }
+echo outside: $a $b
+unset a b
+
+# this form doesn't remove the trailing newlines
+REPLY=42
+a=${| REPLY=$'newlines\n\n'; }
+echo "$a"
+echo outside: $REPLY
+
+# how do we handle shift with these weird ksh93 function-like semantics?
+# ksh93 doesn't reset the positional parameters here
+set -- 1 2
+echo before: "$@"
+: "${ shift;}"
+echo after: "$@"
+
+set -- 1 2
+echo before: "$@"
+: "${| shift;}"
+echo after: "$@"
+
+set -- 1 2
+echo before: "$@"
+: "${( shift)}"
+echo after: "$@"
+
+# nested funsubs
+echo ${ echo X${ echo nested; }Y; }
+echo ${ echo a ; echo ${ echo nested; }; echo b; }
+
+# nested funsubs/comsubs
+x=${
+       echo ${ echo one;} $(echo two)
+}
+echo $x
+
+# mixing funsubs and arithmetic expansion
+echo $(( ${ echo 24 + 18; }))
+echo $(( ${ echo 14 + 18; }+ 10))
+echo ${ echo $(( 24+18 )); }
+
+# alias expansion and nested funsubs in other constructs
+${THIS_SH} ./comsub21.sub
+${THIS_SH} ./comsub22.sub
diff --git a/tests/comsub21.sub b/tests/comsub21.sub
new file mode 100644 (file)
index 0000000..0837f72
--- /dev/null
@@ -0,0 +1,65 @@
+#   This program is free software: you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation, either version 3 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+# posix-mode alias expansion in nofork command substitutions within
+# other constructs
+
+DATE='Mon Aug 29 20:03:02 EDT 2022'
+shopt -s expand_aliases
+
+alias number="echo 123"
+
+echo ${ number; }
+echo $(( ${ number; } ))
+(( ${ number; } )) ; echo $?
+
+set -o posix
+echo ${ number; }
+echo $(( ${ number; } ))
+(( ${ number; } )) ; echo $?
+set +o posix
+
+# have to turn it back on after leaving posix mode
+shopt -s expand_aliases
+
+alias my_alias='echo $DATE'
+
+echo ${ eval my_alias; }
+echo ${ my_alias; }
+
+set -o posix
+echo ${ eval my_alias; }
+echo ${        my_alias; }
+set +o posix ; shopt -s expand_aliases
+
+alias e=echo
+alias v='e 123'
+
+set -o posix
+echo ${ v; }
+echo ${ echo before ; v; }
+echo ${        for f in 0; do
+echo in for
+done; v; }
+set +o posix ; shopt -s expand_aliases
+
+alias let='let --'
+
+let '1 == 1'
+: ${ let '1 == 1'; }
+
+set -o posix
+let '1 == 1'
+: ${ let '1 == 1'; }
+set +o posix ; shopt -s expand_aliases
diff --git a/tests/comsub22.sub b/tests/comsub22.sub
new file mode 100644 (file)
index 0000000..9fdf619
--- /dev/null
@@ -0,0 +1,26 @@
+# tests for inheriting set -e into command substitutions
+
+set -e
+var=value
+echo "outside before: $var"
+echo "${
+       echo "inside before: $var"
+       var=funsub
+       echo "inside after: $var"
+       false;
+       echo inside: after false
+}" xxx
+echo "outside after: $var"
+
+set -o posix
+echo =====posix mode=====
+var=value
+echo "outside before: $var"
+echo "${
+       echo "inside before: $var"
+       var=funsub
+       echo "inside after: $var"
+       false;
+       echo inside: after false
+}" xxx
+echo "outside after: $var"
index 890bdfa4b4b241d871f28ff32103ffad3f8e592f..ad6b58c6ade97234a835bd25d00dfef07ecbf2a4 100644 (file)
@@ -5,7 +5,7 @@ exportfunc ok 2
 ./exportfunc.tests: line 43: cve7169-bad2: No such file or directory
 ./exportfunc1.sub: line 14: maximum here-document count exceeded
 ./exportfunc.tests: line 72: HELLO_WORLD: No such file or directory
-eval ok
+./exportfunc.tests: eval: line 83: unexpected EOF while looking for matching `}'
 ./exportfunc3.sub: line 23: export: foo=bar: cannot export
 status: 1
 equals-1
index 1a8b8a205144d15d4f86ee6e5817bc87bc0317a5..64eb38bb2894fb2f29a6144b4ab943e45630220a 100644 (file)
@@ -78,8 +78,7 @@ env -i BASH_FUNC_x%%='() { _; } >_[${ $() }] { id; }' ${THIS_SH} -c : 2>/dev/nul
 env BASH_FUNC_x%%=$'() { _;}>_[$($())]\n{ echo vuln;}' ${THIS_SH} -c : 2>/dev/null
 eval 'x() { _;}>_[$($())] { echo vuln;}' 2>/dev/null
 
-echo this will fail now that '${ ' has syntactic meaning
-
+# this fails looking for closing `}' now that `${ ' has syntactic meaning
 eval 'foo() { _; } >_[${ $() }] ;{ echo eval ok; }'
 
 # other tests fixed in bash43-030 concerning function name transformation
diff --git a/tests/run-comsub2 b/tests/run-comsub2
new file mode 100644 (file)
index 0000000..e88d38f
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./comsub2.tests > ${BASH_TSTOUT} 2>&1
+diff ${BASH_TSTOUT} comsub2.right && rm -f ${BASH_TSTOUT}