]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20111028 snapshot
authorChet Ramey <chet.ramey@case.edu>
Mon, 9 Jan 2012 13:31:05 +0000 (08:31 -0500)
committerChet Ramey <chet.ramey@case.edu>
Mon, 9 Jan 2012 13:31:05 +0000 (08:31 -0500)
36 files changed:
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
MANIFEST
builtins/mkbuiltins.c
doc/bash.0
doc/bash.html
doc/bash.pdf
doc/bash.ps
doc/bashref.dvi
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.ps
doc/builtins.0
doc/builtins.ps
doc/rbash.ps
doc/version.texi
expr.c
flags.c
lib/readline/histexpand.c
make_cmd.c
make_cmd.c.save1 [new file with mode: 0644]
make_cmd.c~ [new file with mode: 0644]
print_cmd.c
print_cmd.c~ [new file with mode: 0644]
subst.c
tests/RUN-ONE-TEST
tests/arith-for.right
tests/arith-for.tests
tests/arith-for.tests~ [new file with mode: 0644]
tests/arith.right
tests/arith.tests
tests/arith5.sub [new file with mode: 0644]
tests/rhs-exp.right
tests/rhs-exp1.sub

index 825908ed2e00ba76032f2eddb8fa97d923ca6194..1ee709d6b9fee467aab5228be16df628f4c59a61 100644 (file)
@@ -12369,4 +12369,41 @@ lib/readline/complete.c
          instead of straight return; add same call at end of function.
          Placeholder for future work in deinstalling signal handlers when
          readline is not active
-         
+
+                                  10/25
+                                  -----
+expr.c
+       - exp2: catch arithmetic overflow when val1 == INTMAX_MIN and val2 == -1
+         for DIV and MOD and avoid SIGFPE.  Bug report and pointer to fix
+         from Jaak Ristioja <jaak.ristioja@cyber.ee>
+       - expassign: same changes for arithmetic overflow for DIV and MOD
+
+                                  10/28
+                                  -----
+subst.c
+       - parameter_brace_expand: allow pattern substitution when there is an
+         expansion of the form ${var/} as a no-op: replacing nothing with
+         nothing
+       - parameter_brace_patsub: don't need to check for PATSUB being NULL;
+         it never is
+
+flags.c
+       - if STRICT_POSIX is defined, initialize history_expansion to 0, since
+         history expansion (and its treatment of ! within double quotes) is
+         not a conforming posix environment.  From austin-group issue 500
+
+lib/readline/histexpand.c
+       - history_expand: when processing a string within double quotes
+         (DQUOTE == 1), make the closing double quote inhibit history
+         expansion, as if the word were outside double quotes.  In effect,
+         we assume that the double quote is followed by a character in
+         history_no_expand_chars.  tcsh and csh seem to do this.  This
+         answers a persistent complaint about history expansion
+
+                                  10/29
+                                  -----
+make_cmd.c
+       - make_arith_for_command: use skip_to_delim to find the next `;'
+         when breaking the string between the double parens into three
+         separate components instead of a simple character loop.  Fixes
+         bug reported by Dan Douglas <ormaaj@gmail.com>
index 85003595ebc4b2ce2ce3038a215413439534782d..c284216affb120d32bf2aeb82ea242ac08c1ab09 100644 (file)
@@ -12363,3 +12363,39 @@ builtins/history.def
          try to delete the last history entry -- the `history -s' command
          might not have been saved.  Fixes bug reported by
          lester@vmw-les.eng.vmware.com
+
+lib/readline/complete.c
+       - rl_callback_read_char: add calls to a macro CALLBACK_READ_RETURN
+         instead of straight return; add same call at end of function.
+         Placeholder for future work in deinstalling signal handlers when
+         readline is not active
+
+                                  10/25
+                                  -----
+expr.c
+       - exp2: catch arithmetic overflow when val1 == INTMAX_MIN and val2 == -1
+         for DIV and MOD and avoid SIGFPE.  Bug report and pointer to fix
+         from Jaak Ristioja <jaak.ristioja@cyber.ee>
+       - expassign: same changes for arithmetic overflow for DIV and MOD
+
+                                  10/28
+                                  -----
+subst.c
+       - parameter_brace_expand: allow pattern substitution when there is an
+         expansion of the form ${var/} as a no-op: replacing nothing with
+         nothing
+       - parameter_brace_patsub: don't need to check for PATSUB being NULL;
+         it never is
+
+flags.c
+       - if STRICT_POSIX is defined, initialize history_expansion to 0, since
+         history expansion (and its treatment of ! within double quotes) is
+         not a conforming posix environment.  From austin-group issue 500
+
+lib/readline/histexpand.c
+       - history_expand: when processing a string within double quotes
+         (DQUOTE == 1), make the closing double quote inhibit history
+         expansion, as if the word were outside double quotes.  In effect,
+         we assume that the double quote is followed by a character in
+         history_no_expand_chars.  tcsh and csh seem to do this.  This
+         answers a persistent complaint about history expansion
index 2e2163b9b3100dec2be7d34a4c2d78e64f5508a2..6129556c9441b10e3505663519a2a50760e017cf 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -760,6 +760,7 @@ tests/arith1.sub    f
 tests/arith2.sub       f
 tests/arith3.sub       f
 tests/arith4.sub       f
+tests/arith5.sub       f
 tests/array.tests      f
 tests/array.right      f
 tests/array1.sub       f
index cdfdfb18ade0f52a7d5f31669f6eb24225a3c1da..c05cf30f567d6d8f6904e7fb90c70a27ed6866dc 100644 (file)
@@ -537,7 +537,7 @@ extract_info (filename, structfile, externfile)
     {
       array_add (&buffer[i], defs->lines);
 
-      while (buffer[i] != '\n' && i < file_size)
+      while (i < file_size && buffer[i] != '\n')
        i++;
       buffer[i++] = '\0';
     }
index 7aa7f0bd9bf8814c9de747211d77771388fd9333..ceb581bf1411ed5548033795258c88ffb06c0511 100644 (file)
@@ -1890,7 +1890,9 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               >\b>_\bw_\bo_\br_\bd 2>\b>&\b&1
 
-       (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).
+       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\bes\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
@@ -1963,16 +1965,17 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
        is  used  similarly  to duplicate output file descriptors.  If _\bn is not
        specified, the standard output (file descriptor 1)  is  used.   If  the
        digits  in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a re-
-       direction error occurs.  As a special case, if _\bn is omitted,  and  _\bw_\bo_\br_\bd
-       does not expand to one or more digits, the standard output and standard
-       error are redirected as described previously.
+       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
+       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
        The redirection operator
 
               [_\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.
 
@@ -1980,7 +1983,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
@@ -1988,117 +1991,117 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<>\b>_\bw_\bo_\br_\bd
 
-       causes  the  file  whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
-       both reading and writing on file descriptor _\bn, or on file descriptor  0
+       causes the file whose name is the expansion of _\bw_\bo_\br_\bd to  be  opened  for
+       both  reading and writing on file descriptor _\bn, or on file descriptor 0
        if _\bn is not specified.  If the file does not exist, it is created.
 
 A\bAL\bLI\bIA\bAS\bSE\bES\bS
-       _\bA_\bl_\bi_\ba_\bs_\be_\b allow a string to be substituted for a word when it is used as
-       the first word of a simple command.  The  shell  maintains  a  list  of
-       aliases  that  may  be set and unset with the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin
-       commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first  word  of  each
-       simple  command, if unquoted, is checked to see if it has an alias.  If
-       so, that word is replaced by the text of the alias.  The characters  /\b/,
-       $\b$,  `\b`,  and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or quoting characters
+       _\bA_\bl_\bi_\ba_\bs_\be_\ballow a string to be substituted for a word when it is used  as
+       the  first  word  of  a  simple command.  The shell maintains a list of
+       aliases that may be set and unset with the a\bal\bli\bia\bas\bs  and  u\bun\bna\bal\bli\bia\bas\b builtin
+       commands  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first word of each
+       simple command, if unquoted, is checked to see if it has an alias.   If
+       so,  that word is replaced by the text of the alias.  The characters /\b/,
+       $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or  quoting  characters
        listed above may not appear in an alias name.  The replacement text may
-       contain  any  valid  shell  input, including shell metacharacters.  The
-       first word of the replacement text is tested for aliases,  but  a  word
-       that  is  identical to an alias being expanded is not expanded a second
-       time.  This means that one may alias l\bls\bs to l\bls\bs  -\b-F\bF,  for  instance,  and
-       b\bba\bas\bsh\b does  not try to recursively expand the replacement text.  If the
-       last character of the alias value is a _\bb_\bl_\ba_\bn_\bk,  then  the  next  command
+       contain any valid shell input,  including  shell  metacharacters.   The
+       first  word  of  the replacement text is tested for aliases, but a word
+       that is identical to an alias being expanded is not expanded  a  second
+       time.   This  means  that  one may alias l\bls\bs to l\bls\bs -\b-F\bF, for instance, and
+       b\bba\bas\bsh\bdoes not try to recursively expand the replacement text.   If  the
+       last  character  of  the  alias value is a _\bb_\bl_\ba_\bn_\bk, then the next command
        word following the alias is also checked for alias expansion.
 
        Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
        the u\bun\bna\bal\bli\bia\bas\bs command.
 
-       There is no mechanism for using arguments in the replacement text.   If
-       arguments  are  needed,  a shell function should be used (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
+       There  is no mechanism for using arguments in the replacement text.  If
+       arguments are needed, a shell function should be  used  (see  F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
        below).
 
-       Aliases are not expanded when the shell is not interactive, unless  the
-       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\b shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
+       Aliases  are not expanded when the shell is not interactive, unless the
+       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bshell option is set using s\bsh\bho\bop\bpt\bt (see the description  of
        s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       The rules concerning the definition and use  of  aliases  are  somewhat
-       confusing.   B\bBa\bas\bsh\bh  always  reads  at  least  one complete line of input
-       before executing any  of  the  commands  on  that  line.   Aliases  are
-       expanded  when  a command is read, not when it is executed.  Therefore,
-       an alias definition appearing on the same line as another command  does
-       not  take  effect  until  the next line of input is read.  The commands
+       The  rules  concerning  the  definition and use of aliases are somewhat
+       confusing.  B\bBa\bas\bsh\bh always reads at  least  one  complete  line  of  input
+       before  executing  any  of  the  commands  on  that  line.  Aliases are
+       expanded when a command is read, not when it is  executed.   Therefore,
+       an  alias definition appearing on the same line as another command does
+       not take effect until the next line of input  is  read.   The  commands
        following the alias definition on that line are not affected by the new
-       alias.   This  behavior  is  also an issue when functions are executed.
-       Aliases are expanded when a function definition is read, not  when  the
-       function  is  executed,  because a function definition is itself a com-
+       alias.  This behavior is also an issue  when  functions  are  executed.
+       Aliases  are  expanded when a function definition is read, not when the
+       function is executed, because a function definition is  itself  a  com-
        pound command.  As a consequence, aliases defined in a function are not
-       available  until  after  that function is executed.  To be safe, always
-       put alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in  com-
+       available until after that function is executed.  To  be  safe,  always
+       put  alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in com-
        pound commands.
 
        For almost every purpose, aliases are superseded by shell functions.
 
 F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
-       A  shell  function,  defined  as  described  above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
-       stores a series of commands for later execution.  When the  name  of  a
-       shell  function  is used as a simple command name, the list of commands
+       A shell function, defined  as  described  above  under  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+       stores  a  series  of commands for later execution.  When the name of a
+       shell function is used as a simple command name, the list  of  commands
        associated with that function name is executed.  Functions are executed
-       in  the  context  of  the  current  shell; no new process is created to
-       interpret them (contrast this with the execution of  a  shell  script).
-       When  a  function is executed, the arguments to the function become the
+       in the context of the current shell;  no  new  process  is  created  to
+       interpret  them  (contrast  this with the execution of a shell script).
+       When a function is executed, the arguments to the function  become  the
        positional parameters during its execution.  The special parameter #\b# is
-       updated  to reflect the change.  Special parameter 0\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
+       All other aspects of the  shell  execution  environment  are  identical
        between a function and its caller with these exceptions:  the D\bDE\bEB\bBU\bUG\bG and
-       R\bRE\bET\bTU\bUR\bRN\b traps  (see  the  description  of  the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has  been
-       given  the  t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
-       below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with  the  s\bse\bet\bt
-       builtin  (in  which  case  all  functions  inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
-       traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\b shell
+       R\bRE\bET\bTU\bUR\bRN\btraps (see the description  of  the  t\btr\bra\bap\bp  builtin  under  S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
+       given the t\btr\bra\bac\bce\be attribute (see the description of the  d\bde\bec\bcl\bla\bar\bre\b builtin
+       below)  or  the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
+       builtin (in which case all  functions  inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN
+       traps),  and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
        option has been enabled.
 
-       Variables  local to the function may be declared with the l\blo\boc\bca\bal\bl builtin
+       Variables local to the function may be declared with the l\blo\boc\bca\bal\b builtin
        command.  Ordinarily, variables and their values are shared between the
        function and its caller.
 
-       The  F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT  variable,  if  set  to  a  numeric value greater than 0,
-       defines a maximum function nesting level.   Function  invocations  that
+       The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set  to  a  numeric  value  greater  than  0,
+       defines  a  maximum  function nesting level.  Function invocations that
        exceed the limit cause the entire command to abort.
 
-       If  the  builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
-       completes and execution resumes with the next command after  the  func-
-       tion  call.   Any  command  associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed
+       If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function,  the  function
+       completes  and  execution resumes with the next command after the func-
+       tion call.  Any command associated with the  R\bRE\bET\bTU\bUR\bRN\bN  trap  is  executed
        before execution resumes.  When a function completes, the values of the
-       positional  parameters  and the special parameter #\b# are restored to the
+       positional parameters and the special parameter #\b# are restored  to  the
        values they had prior to the function's execution.
 
-       Function names and definitions may be listed with the -\b-f\bf option to  the
+       Function  names and definitions may be listed with the -\b-f\bf option to the
        d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands.  The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\be-\b-
-       s\bse\bet\bwill list the function names only (and optionally the  source  file
-       and  line  number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled).  Functions
-       may be exported so that subshells automatically have them defined  with
-       the  -\b-f\bf  option  to  the  e\bex\bxp\bpo\bor\brt\bt builtin.  A function definition may be
-       deleted using the -\b-f\bf option to the  u\bun\bns\bse\bet\bt  builtin.   Note  that  shell
+       s\bse\bet\b will  list the function names only (and optionally the source file
+       and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is  enabled).   Functions
+       may  be exported so that subshells automatically have them defined with
+       the -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin.   A  function  definition  may  be
+       deleted  using  the  -\b-f\bf  option  to the u\bun\bns\bse\bet\bt builtin.  Note that shell
        functions and variables with the same name may result in multiple iden-
-       tically-named entries in the environment passed to  the  shell's  chil-
+       tically-named  entries  in  the environment passed to the shell's chil-
        dren.  Care should be taken in cases where this may cause a problem.
 
        Functions may be recursive.  The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable may be used to limit
-       the depth of the function call stack and restrict the number  of  func-
-       tion  invocations.   By  default,  no limit is imposed on the number of
+       the  depth  of the function call stack and restrict the number of func-
+       tion invocations.  By default, no limit is imposed  on  the  number  of
        recursive calls.
 
 A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
-       The shell allows arithmetic expressions to be evaluated, under  certain
-       circumstances  (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands and A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc
-       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).  Evaluation is done in fixed-width integers with  no  check
-       for  overflow, though division by 0 is trapped and flagged as an error.
-       The operators and their precedence, associativity, and values  are  the
-       same  as in the C language.  The following list of operators is grouped
-       into levels of equal-precedence operators.  The levels  are  listed  in
+       The  shell allows arithmetic expressions to be evaluated, under certain
+       circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands and  A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc
+       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).   Evaluation  is done in fixed-width integers with no check
+       for overflow, though division by 0 is trapped and flagged as an  error.
+       The  operators  and their precedence, associativity, and values are the
+       same as in the C language.  The following list of operators is  grouped
+       into  levels  of  equal-precedence operators.  The levels are listed in
        order of decreasing precedence.
 
        _\bi_\bd+\b++\b+ _\bi_\bd-\b--\b-
@@ -2126,46 +2129,46 @@ A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
        _\be_\bx_\bp_\br_\b1 ,\b, _\be_\bx_\bp_\br_\b2
               comma
 
-       Shell  variables  are  allowed as operands; parameter expansion is per-
+       Shell variables are allowed as operands; parameter  expansion  is  per-
        formed before the expression is evaluated.  Within an expression, shell
-       variables  may  also  be referenced by name without using the parameter
-       expansion syntax.  A shell variable that is null or unset evaluates  to
+       variables may also be referenced by name without  using  the  parameter
+       expansion  syntax.  A shell variable that is null or unset evaluates to
        0 when referenced by name without using the parameter expansion syntax.
-       The value of a variable is evaluated as an arithmetic  expression  when
-       it  is  referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
+       The  value  of a variable is evaluated as an arithmetic expression when
+       it is referenced, or when a variable which has been given  the  _\bi_\bn_\bt_\be_\bg_\be_\br
        attribute using d\bde\bec\bcl\bla\bar\bre\be -\b-i\bi is assigned a value.  A null value evaluates
-       to  0.   A shell variable need not have its _\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.
 
        Constants with a leading 0 are interpreted as octal numbers.  A leading
-       0x  or  0X  denotes  hexadecimal.   Otherwise,  numbers  take  the form
-       [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal number between 2 and  64
-       representing  the  arithmetic base, and _\bn is a number in that base.  If
-       _\bb_\ba_\bs_\be_\bis omitted, then base 10 is used.  The digits greater than 9  are
-       represented  by the lowercase letters, the uppercase letters, @, and _,
-       in that order.  If _\bb_\ba_\bs_\be is less than or  equal  to  36,  lowercase  and
-       uppercase  letters  may  be  used  interchangeably to represent numbers
+       0x or  0X  denotes  hexadecimal.   Otherwise,  numbers  take  the  form
+       [_\bb_\ba_\bs_\be_\b#]n,  where the optional _\bb_\ba_\bs_\be is a decimal number between 2 and 64
+       representing the arithmetic base, and _\bn is a number in that  base.   If
+       _\bb_\ba_\bs_\be_\b is omitted, then base 10 is used.  The digits greater than 9 are
+       represented by the lowercase letters, the uppercase letters, @, and  _,
+       in  that  order.   If  _\bb_\ba_\bs_\be  is less than or equal to 36, lowercase and
+       uppercase letters may be  used  interchangeably  to  represent  numbers
        between 10 and 35.
 
-       Operators are evaluated in order  of  precedence.   Sub-expressions  in
-       parentheses  are  evaluated first and may override the precedence rules
+       Operators  are  evaluated  in  order of precedence.  Sub-expressions in
+       parentheses are evaluated first and may override the  precedence  rules
        above.
 
 C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
-       Conditional expressions are used by the [\b[[\b[  compound  command  and  the
-       t\bte\bes\bst\b and [\b[ builtin commands to test file attributes and perform string
-       and arithmetic comparisons.  Expressions are formed from the  following
-       unary  or  binary  primaries.   If any _\bf_\bi_\bl_\be argument to one of the pri-
+       Conditional  expressions  are  used  by the [\b[[\b[ compound command and the
+       t\bte\bes\bst\band [\b[ builtin commands to test file attributes and perform  string
+       and  arithmetic comparisons.  Expressions are formed from the following
+       unary or binary primaries.  If any _\bf_\bi_\bl_\be argument to  one  of  the  pri-
        maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then file descriptor _\bn is checked.  If
-       the  _\bf_\bi_\bl_\be  argument  to  one  of  the  primaries  is one of _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
-       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2,  respectively,
+       the _\bf_\bi_\bl_\be argument to  one  of  the  primaries  is  one  of  _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
+       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt,  or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2, respectively,
        is checked.
 
        Unless otherwise specified, primaries that operate on files follow sym-
        bolic links and operate on the target of the link, rather than the link
        itself.
 
-       When  used  with [\b[[\b[, the <\b< and >\b> operators sort lexicographically using
+       When used with [\b[[\b[, the <\b< and >\b> operators sort  lexicographically  using
        the current locale.  The t\bte\bes\bst\bt command sorts using ASCII ordering.
 
        -\b-a\ba _\bf_\bi_\bl_\be
@@ -2204,27 +2207,27 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
        -\b-L\bL _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a symbolic link.
        -\b-N\bN _\bf_\bi_\bl_\be
-              True if _\bf_\bi_\bl_\be exists and has been  modified  since  it  was  last
+              True  if  _\bf_\bi_\bl_\be  exists  and  has been modified since it was last
               read.
        -\b-O\bO _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is owned by the effective user id.
        -\b-S\bS _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a socket.
        _\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+              True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode  num-
               bers.
        _\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
-              True if _\bf_\bi_\bl_\be_\b1 is newer (according  to  modification  date)  than
+              True  if  _\bf_\bi_\bl_\be_\b1  is  newer (according to modification date) than
               _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
        _\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
+              True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and  _\bf_\bi_\bl_\be_\b1
               does not.
        -\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
-              True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See  the  list  of
-              options  under  the  description  of  the  -\b-o\bo  option to the s\bse\bet\bt
+              True  if  the  shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled.  See the list of
+              options under the description  of  the  -\b-o\bo  option  to  the  s\bse\bet\bt
               builtin below.
        -\b-v\bv _\bv_\ba_\br_\bn_\ba_\bm_\be
-              True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been  assigned  a
+              True  if  the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
               value).
        -\b-z\bz _\bs_\bt_\br_\bi_\bn_\bg
               True if the length of _\bs_\bt_\br_\bi_\bn_\bg is zero.
@@ -2234,7 +2237,7 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b==\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
-              True  if  the strings are equal.  =\b= should be used with the t\bte\bes\bst\bt
+              True if the strings are equal.  =\b= should be used with  the  t\bte\bes\bst\bt
               command for POSIX conformance.
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 !\b!=\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
@@ -2247,106 +2250,106 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
               True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts after _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically.
 
        _\ba_\br_\bg_\b1 O\bOP\bP _\ba_\br_\bg_\b2
-              O\bOP\bis one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These  arithmetic
-              binary  operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
-              less than, less than or equal to, greater than, or greater  than
-              or  equal  to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
+              O\bOP\b is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These arithmetic
+              binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal  to,
+              less  than, less than or equal to, greater than, or greater than
+              or equal to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may  be  positive
               or negative integers.
 
 S\bSI\bIM\bMP\bPL\bLE\bE C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       When a simple command is executed, the  shell  performs  the  following
+       When  a  simple  command  is executed, the shell performs the following
        expansions, assignments, and redirections, from left to right.
 
-       1.     The  words  that  the  parser has marked as variable assignments
-              (those preceding the command name) and  redirections  are  saved
+       1.     The words that the parser has  marked  as  variable  assignments
+              (those  preceding  the  command name) and redirections are saved
               for later processing.
 
-       2.     The  words that are not variable assignments or redirections are
-              expanded.  If any words remain after expansion, the  first  word
-              is  taken  to be the name of the command and the remaining words
+       2.     The words that are not variable assignments or redirections  are
+              expanded.   If  any words remain after expansion, the first word
+              is taken to be the name of the command and the  remaining  words
               are the arguments.
 
        3.     Redirections are performed as described above under R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN.
 
        4.     The text after the =\b= in each variable assignment undergoes tilde
               expansion, parameter expansion, command substitution, arithmetic
-              expansion,  and quote removal before being assigned to the vari-
+              expansion, and quote removal before being assigned to the  vari-
               able.
 
        If no command name results, the variable assignments affect the current
-       shell  environment.  Otherwise, the variables are added to the environ-
-       ment of the executed command and do not affect the current shell  envi-
-       ronment.   If  any  of  the assignments attempts to assign a value to a
-       readonly variable, an error occurs, and the command exits with  a  non-
+       shell environment.  Otherwise, the variables are added to the  environ-
+       ment  of the executed command and do not affect the current shell envi-
+       ronment.  If any of the assignments attempts to assign  a  value  to  a
+       readonly  variable,  an error occurs, and the command exits with a non-
        zero status.
 
-       If  no  command  name  results,  redirections are performed, but do not
-       affect the current shell environment.  A redirection error  causes  the
+       If no command name results, redirections  are  performed,  but  do  not
+       affect  the  current shell environment.  A redirection error causes the
        command to exit with a non-zero status.
 
-       If  there is a command name left after expansion, execution proceeds as
-       described below.  Otherwise, the command exits.  If one of  the  expan-
-       sions  contained a command substitution, the exit status of the command
-       is the exit status of the  last  command  substitution  performed.   If
+       If there is a command name left after expansion, execution proceeds  as
+       described  below.   Otherwise, the command exits.  If one of the expan-
+       sions contained a command substitution, the exit status of the  command
+       is  the  exit  status  of  the last command substitution performed.  If
        there were no command substitutions, the command exits with a status of
        zero.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
-       After a command has been split into words, if it results  in  a  simple
-       command  and  an  optional list of arguments, the following actions are
+       After  a  command  has been split into words, if it results in a simple
+       command and an optional list of arguments, the  following  actions  are
        taken.
 
-       If the command name contains no slashes, the shell attempts  to  locate
-       it.   If  there  exists a shell function by that name, that function is
-       invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match  a
-       function,  the shell searches for it in the list of shell builtins.  If
+       If  the  command name contains no slashes, the shell attempts to locate
+       it.  If there exists a shell function by that name,  that  function  is
+       invoked  as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match a
+       function, the shell searches for it in the list of shell builtins.   If
        a match is found, that builtin is invoked.
 
-       If the name is neither a shell function nor a builtin, and contains  no
-       slashes,  b\bba\bas\bsh\bh  searches  each element of the P\bPA\bAT\bTH\bH for a directory con-
-       taining an executable file by that name.  B\bBa\bas\bsh\bh uses  a  hash  table  to
-       remember  the  full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  A full search of the directories in  P\bPA\bAT\bTH\b is
-       performed  only  if the command is not found in the hash table.  If the
+       If  the name is neither a shell function nor a builtin, and contains no
+       slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for  a  directory  con-
+       taining  an  executable  file  by that name.  B\bBa\bas\bsh\bh uses a hash table to
+       remember the full pathnames of executable files (see h\bha\bas\bsh\bh  under  S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below).  A full search of the directories in P\bPA\bAT\bTH\bH is
+       performed only if the command is not found in the hash table.   If  the
        search is unsuccessful, the shell searches for a defined shell function
        named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be.  If that function exists, it is invoked
-       with the original command and the original command's arguments  as  its
-       arguments,  and  the  function's exit status becomes the exit status of
-       the shell.  If that function is not defined, the shell prints an  error
+       with  the  original command and the original command's arguments as its
+       arguments, and the function's exit status becomes the  exit  status  of
+       the  shell.  If that function is not defined, the shell prints an error
        message and returns an exit status of 127.
 
-       If  the  search  is  successful, or if the command name contains one or
+       If the search is successful, or if the command  name  contains  one  or
        more slashes, the shell executes the named program in a separate execu-
        tion environment.  Argument 0 is set to the name given, and the remain-
        ing arguments to the command are set to the arguments given, if any.
 
-       If this execution fails because the file is not in  executable  format,
-       and  the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
-       file containing shell commands.  A subshell is spawned to  execute  it.
-       This  subshell  reinitializes itself, so that the effect is as if a new
-       shell had been invoked to handle the script, with  the  exception  that
-       the  locations  of  commands  remembered  by the parent (see h\bha\bas\bsh\bh below
+       If  this  execution fails because the file is not in executable format,
+       and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt,  a
+       file  containing  shell commands.  A subshell is spawned to execute it.
+       This subshell reinitializes itself, so that the effect is as if  a  new
+       shell  had  been  invoked to handle the script, with the exception that
+       the locations of commands remembered by  the  parent  (see  h\bha\bas\bsh\b below
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS) are retained by the child.
 
-       If the program is a file beginning with #\b#!\b!, the remainder of the  first
-       line  specifies an interpreter for the program.  The shell executes the
+       If  the program is a file beginning with #\b#!\b!, the remainder of the first
+       line specifies an interpreter for the program.  The shell executes  the
        specified interpreter on operating systems that do not handle this exe-
        cutable format themselves.  The arguments to the interpreter consist of
-       a single optional argument following the interpreter name on the  first
-       line  of  the program, followed by the name of the program, followed by
+       a  single optional argument following the interpreter name on the first
+       line of the program, followed by the name of the program,  followed  by
        the command arguments, if any.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of  the  follow-
+       The  shell  has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
        ing:
 
-       +\bo      open  files inherited by the shell at invocation, as modified by
+       +\bo      open files inherited by the shell at invocation, as modified  by
               redirections supplied to the e\bex\bxe\bec\bc builtin
 
-       +\bo      the current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or  p\bpo\bop\bpd\bd,  or
+       +\bo      the  current  working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
               inherited by the shell at invocation
 
-       +\bo      the  file  creation  mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
+       +\bo      the file creation mode mask as set by u\bum\bma\bas\bsk\bk  or  inherited  from
               the shell's parent
 
        +\bo      current traps set by t\btr\bra\bap\bp
@@ -2354,242 +2357,242 @@ C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bN
        +\bo      shell parameters that are set by variable assignment or with s\bse\bet\bt
               or inherited from the shell's parent in the environment
 
-       +\bo      shell  functions  defined during execution or inherited from the
+       +\bo      shell functions defined during execution or inherited  from  the
               shell's parent in the environment
 
-       +\bo      options enabled at invocation (either by default  or  with  com-
+       +\bo      options  enabled  at  invocation (either by default or with com-
               mand-line arguments) or by s\bse\bet\bt
 
        +\bo      options enabled by s\bsh\bho\bop\bpt\bt
 
        +\bo      shell aliases defined with a\bal\bli\bia\bas\bs
 
-       +\bo      various  process  IDs,  including  those of background jobs, the
+       +\bo      various process IDs, including those  of  background  jobs,  the
               value of $\b$$\b$, and the value of P\bPP\bPI\bID\bD
 
-       When a simple command other than a builtin or shell function is  to  be
-       executed,  it  is invoked in a separate execution environment that con-
-       sists of the following.  Unless otherwise noted, the values are  inher-
+       When  a  simple command other than a builtin or shell function is to be
+       executed, it is invoked in a separate execution environment  that  con-
+       sists  of the following.  Unless otherwise noted, the values are inher-
        ited from the shell.
 
 
-       +\bo      the  shell's  open  files,  plus any modifications and additions
+       +\bo      the shell's open files, plus  any  modifications  and  additions
               specified by redirections to the command
 
        +\bo      the current working directory
 
        +\bo      the file creation mode mask
 
-       +\bo      shell variables and functions  marked  for  export,  along  with
+       +\bo      shell  variables  and  functions  marked  for export, along with
               variables exported for the command, passed in the environment
 
        +\bo      traps caught by the shell are reset to the values inherited from
               the shell's parent, and traps ignored by the shell are ignored
 
-       A command invoked  in  this  separate  environment  cannot  affect  the
+       A  command  invoked  in  this  separate  environment  cannot affect the
        shell's execution environment.
 
-       Command  substitution, commands grouped with parentheses, and asynchro-
+       Command substitution, commands grouped with parentheses, and  asynchro-
        nous commands are invoked in a subshell environment that is a duplicate
-       of  the  shell  environment,  except that traps caught by the shell are
+       of the shell environment, except that traps caught  by  the  shell  are
        reset to the values that the shell inherited from its parent at invoca-
        tion.  Builtin commands that are invoked as part of a pipeline are also
        executed in a subshell environment.  Changes made to the subshell envi-
        ronment cannot affect the shell's execution environment.
 
        Subshells spawned to execute command substitutions inherit the value of
-       the -\b-e\be option from the parent shell.  When  not  in  _\bp_\bo_\bs_\bi_\bx  mode,  b\bba\bas\bsh\bh
+       the  -\b-e\be  option  from  the  parent shell.  When not in _\bp_\bo_\bs_\bi_\bx mode, b\bba\bas\bsh\bh
        clears the -\b-e\be option in such subshells.
 
-       If  a  command  is  followed  by a &\b& and job control is not active, the
-       default standard input for the command is  the  empty  file  _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.
-       Otherwise,  the  invoked  command  inherits the file descriptors of the
+       If a command is followed by a &\b& and job  control  is  not  active,  the
+       default  standard  input  for  the command is the empty file _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.
+       Otherwise, the invoked command inherits the  file  descriptors  of  the
        calling shell as modified by redirections.
 
 E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       When a program is invoked it is given an array of  strings  called  the
+       When  a  program  is invoked it is given an array of strings called the
        _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt.   This  is  a  list  of  _\bn_\ba_\bm_\be-_\bv_\ba_\bl_\bu_\be  pairs,  of  the  form
        _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be.
 
-       The shell provides several ways  to  manipulate  the  environment.   On
+       The  shell  provides  several  ways  to manipulate the environment.  On
        invocation, the shell scans its own environment and creates a parameter
-       for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child  pro-
-       cesses.   Executed  commands  inherit  the environment.  The e\bex\bxp\bpo\bor\brt\bt and
-       d\bde\bec\bcl\bla\bar\bre\b-\b-x\bx commands allow parameters and functions to be added  to  and
+       for  each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child pro-
+       cesses.  Executed commands inherit the  environment.   The  e\bex\bxp\bpo\bor\brt\b and
+       d\bde\bec\bcl\bla\bar\bre\b -\b-x\bx  commands allow parameters and functions to be added to and
        deleted from the environment.  If the value of a parameter in the envi-
-       ronment is modified, the new value becomes  part  of  the  environment,
-       replacing  the  old.  The environment inherited by any executed command
-       consists of the shell's initial environment, whose values may be  modi-
-       fied  in  the  shell, less any pairs removed by the u\bun\bns\bse\bet\bt command, plus
+       ronment  is  modified,  the  new value becomes part of the environment,
+       replacing the old.  The environment inherited by any  executed  command
+       consists  of the shell's initial environment, whose values may be modi-
+       fied in the shell, less any pairs removed by the  u\bun\bns\bse\bet\bt  command,  plus
        any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands.
 
-       The environment for any _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or  function  may  be  augmented
-       temporarily  by  prefixing  it with parameter assignments, as described
+       The  environment  for  any  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or function may be augmented
+       temporarily by prefixing it with parameter  assignments,  as  described
        above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS.  These assignment statements affect only the envi-
        ronment seen by that command.
 
-       If  the  -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
-       parameter assignments are placed in the environment for a command,  not
+       If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below),  then  _\ba_\bl_\bl
+       parameter  assignments are placed in the environment for a command, not
        just those that precede the command name.
 
-       When  b\bba\bas\bsh\bh  invokes  an  external command, the variable _\b_ is set to the
+       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
+       are also limited to this range. Under certain circumstances, the  shell
        will use special values to indicate specific failure modes.
 
        For the shell's purposes, a command which exits with a zero exit status
-       has  succeeded.   An exit status of zero indicates success.  A non-zero
-       exit status indicates failure.  When a command terminates  on  a  fatal
+       has succeeded.  An exit status of zero indicates success.   A  non-zero
+       exit  status  indicates  failure.  When a command terminates on a fatal
        signal _\bN, b\bba\bas\bsh\bh uses the value of 128+_\bN as the exit status.
 
-       If  a  command  is  not  found, the child process created to execute it
-       returns a status of 127.  If a command is found but is not  executable,
+       If a command is not found, the child  process  created  to  execute  it
+       returns  a status of 127.  If a command is found but is not executable,
        the return status is 126.
 
        If a command fails because of an error during expansion or redirection,
        the exit status is greater than zero.
 
-       Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if  successful,  and
-       non-zero  (_\bf_\ba_\bl_\bs_\be)  if an error occurs while they execute.  All builtins
+       Shell  builtin  commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
+       non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute.   All  builtins
        return an exit status of 2 to indicate incorrect usage.
 
-       B\bBa\bas\bsh\bitself returns the exit  status  of  the  last  command  executed,
-       unless  a  syntax  error occurs, in which case it exits with a non-zero
+       B\bBa\bas\bsh\b itself  returns  the  exit  status  of the last command executed,
+       unless a syntax error occurs, in which case it exits  with  a  non-zero
        value.  See also the e\bex\bxi\bit\bt builtin command below.
 
 S\bSI\bIG\bGN\bNA\bAL\bLS\bS
-       When b\bba\bas\bsh\bh is interactive, in the  absence  of  any  traps,  it  ignores
+       When  b\bba\bas\bsh\bh  is  interactive,  in  the  absence of any traps, it ignores
        S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and S\bSI\bIG\bGI\bIN\bNT\bT
-       is caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).   In
-       all  cases,  b\bba\bas\bsh\bh  ignores  S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control is in effect, b\bba\bas\bsh\bh
+       is  caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).  In
+       all cases, b\bba\bas\bsh\bh ignores S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control  is  in  effect,  b\bba\bas\bsh\bh
        ignores S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
        Non-builtin commands run by b\bba\bas\bsh\bh have signal handlers set to the values
-       inherited  by  the  shell  from its parent.  When job control is not in
-       effect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition  to
-       these  inherited handlers.  Commands run as a result of command substi-
+       inherited by the shell from its parent.  When job  control  is  not  in
+       effect,  asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to
+       these inherited handlers.  Commands run as a result of command  substi-
        tution ignore the keyboard-generated job control signals S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bT-\b-
        T\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
-       The  shell  exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.  Before exiting,
-       an interactive shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs,  running  or
+       The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.   Before  exiting,
+       an  interactive  shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs, running or
        stopped.  Stopped jobs are sent S\bSI\bIG\bGC\bCO\bON\bNT\bT to ensure that they receive the
-       S\bSI\bIG\bGH\bHU\bUP\bP.  To prevent the shell from sending the signal to  a  particular
-       job,  it  should be removed from the jobs table with the d\bdi\bis\bso\bow\bwn\bn builtin
-       (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or  marked  to  not  receive  S\bSI\bIG\bGH\bHU\bUP\bP
+       S\bSI\bIG\bGH\bHU\bUP\bP.   To  prevent the shell from sending the signal to a particular
+       job, it should be removed from the jobs table with the  d\bdi\bis\bso\bow\bwn\b builtin
+       (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below)  or marked to not receive S\bSI\bIG\bGH\bHU\bUP\bP
        using d\bdi\bis\bso\bow\bwn\bn -\b-h\bh.
 
-       If  the  h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt  shell  option has been set with s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
+       If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set with  s\bsh\bho\bop\bpt\bt,  b\bba\bas\bsh\bh  sends  a
        S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an interactive login shell exits.
 
-       If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal  for
+       If  b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
        which a trap has been set, the trap will not be executed until the com-
-       mand completes.  When b\bba\bas\bsh\bh is waiting for an asynchronous  command  via
-       the  w\bwa\bai\bit\bt  builtin, the reception of a signal for which a trap has been
+       mand  completes.   When b\bba\bas\bsh\bh is waiting for an asynchronous command via
+       the w\bwa\bai\bit\bt builtin, the reception of a signal for which a trap  has  been
        set will cause the w\bwa\bai\bit\bt builtin to return immediately with an exit sta-
        tus greater than 128, immediately after which the trap is executed.
 
 J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL
-       _\bJ_\bo_\b _\bc_\bo_\bn_\bt_\br_\bo_\bl  refers  to  the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the
+       _\bJ_\bo_\b_\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to  selectively  stop  (_\bs_\bu_\bs_\bp_\be_\bn_\bd)  the
        execution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
-       point.   A  user  typically  employs  this  facility via an interactive
-       interface supplied jointly by the operating  system  kernel's  terminal
+       point.  A user typically  employs  this  facility  via  an  interactive
+       interface  supplied  jointly  by the operating system kernel's terminal
        driver and b\bba\bas\bsh\bh.
 
-       The  shell  associates  a  _\bj_\bo_\bb with each pipeline.  It keeps a table of
-       currently executing jobs, which may be listed with  the  j\bjo\bob\bbs\b command.
-       When  b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
+       The shell associates a _\bj_\bo_\bb with each pipeline.  It  keeps  a  table  of
+       currently  executing  jobs,  which may be listed with the j\bjo\bob\bbs\bs command.
+       When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints  a
        line that looks like:
 
               [1] 25647
 
        indicating that this job is job number 1 and that the process ID of the
        last process in the pipeline associated with this job is 25647.  All of
-       the processes in a single pipeline are members of the same  job.   B\bBa\bas\bsh\bh
+       the  processes  in a single pipeline are members of the same job.  B\bBa\bas\bsh\bh
        uses the _\bj_\bo_\bb abstraction as the basis for job control.
 
-       To  facilitate the implementation of the user interface to job control,
+       To facilitate the implementation of the user interface to job  control,
        the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
        _\bg_\br_\bo_\bu_\bp _\bI_\bD.  Members of this process group (processes whose process group
        ID is equal to the current terminal process group ID) receive keyboard-
-       generated  signals  such  as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said to be in
-       the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group  ID
+       generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said  to  be  in
+       the  _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
        differs from the terminal's; such processes are immune to keyboard-gen-
        erated signals.  Only foreground processes are allowed to read from or,
-       if  the  user  so  specifies  with  stty tostop, write to the terminal.
-       Background processes which attempt to read from  (write  to  when  stty
-       tostop  is  in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal
-       by the kernel's terminal driver, which,  unless  caught,  suspends  the
+       if the user so specifies with  stty  tostop,  write  to  the  terminal.
+       Background  processes  which  attempt  to read from (write to when stty
+       tostop is in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN  (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b signal
+       by  the  kernel's  terminal  driver, which, unless caught, suspends the
        process.
 
-       If  the operating system on which b\bba\bas\bsh\bh is running supports job control,
+       If the operating system on which b\bba\bas\bsh\bh is running supports job  control,
        b\bba\bas\bsh\bh contains facilities to use it.  Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
        ically ^\b^Z\bZ, Control-Z) while a process is running causes that process to
-       be stopped and returns control to b\bba\bas\bsh\bh.   Typing  the  _\bd_\be_\bl_\ba_\by_\be_\b _\bs_\bu_\bs_\bp_\be_\bn_\bd
-       character  (typically  ^\b^Y\bY,  Control-Y) causes the process to be stopped
-       when it attempts to read input from the terminal,  and  control  to  be
-       returned  to b\bba\bas\bsh\bh.  The user may then manipulate the state of this job,
-       using the b\bbg\bg command to continue it in the background, the  f\bfg\b command
+       be  stopped  and  returns  control to b\bba\bas\bsh\bh.  Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
+       character (typically ^\b^Y\bY, Control-Y) causes the process  to  be  stopped
+       when  it  attempts  to  read input from the terminal, and control to be
+       returned to b\bba\bas\bsh\bh.  The user may then manipulate the state of this  job,
+       using  the  b\bbg\bg command to continue it in the background, the f\bfg\bg command
        to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it.  A ^\b^Z\bZ
        takes effect immediately, and has the additional side effect of causing
        pending output and typeahead to be discarded.
 
        There are a number of ways to refer to a job in the shell.  The charac-
-       ter %\b% introduces a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc).  Job number  _\bn  may  be
+       ter  %\b%  introduces  a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc).  Job number _\bn may be
        referred to as %\b%n\bn.  A job may also be referred to using a prefix of the
        name used to start it, or using a substring that appears in its command
-       line.   For  example,  %\b%c\bce\be  refers  to  a  stopped c\bce\be job.  If a prefix
-       matches more than one job, b\bba\bas\bsh\bh reports an error.  Using %\b%?\b?c\bce\be,  on  the
-       other  hand,  refers to any job containing the string c\bce\be in its command
-       line.  If the substring matches more than  one  job,  b\bba\bas\bsh\bh  reports  an
-       error.   The  symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\b-
-       _\br_\be_\bn_\b_\bj_\bo_\bb, which is the last job stopped while it was in the  foreground
+       line.  For example, %\b%c\bce\be refers to  a  stopped  c\bce\be  job.   If  a  prefix
+       matches  more  than one job, b\bba\bas\bsh\bh reports an error.  Using %\b%?\b?c\bce\be, on the
+       other hand, refers to any job containing the string c\bce\be in  its  command
+       line.   If  the  substring  matches  more than one job, b\bba\bas\bsh\bh reports an
+       error.  The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of  the  _\bc_\bu_\br_\b-
+       _\br_\be_\bn_\b _\bj_\bo_\bb, which is the last job stopped while it was in the foreground
        or started in the background.  The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may be referenced using
        %\b%-\b-.  If there is only a single job, %\b%+\b+ and %\b%-\b- can both be used to refer
-       to  that  job.   In  output pertaining to jobs (e.g., the output of the
+       to that job.  In output pertaining to jobs (e.g.,  the  output  of  the
        j\bjo\bob\bbs\bs command), the current job is always flagged with a +\b+, and the pre-
-       vious  job  with  a -\b-.  A single % (with no accompanying job specifica-
+       vious job with a -\b-.  A single % (with no  accompanying  job  specifica-
        tion) also refers to the current job.
 
-       Simply naming a job can be used to bring it into the foreground: %\b%1\b is
-       a  synonym  for  `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the background into the
-       foreground.  Similarly, `\b``\b`%\b%1\b1 &\b&'\b''\b'  resumes  job  1  in  the  background,
+       Simply  naming a job can be used to bring it into the foreground: %\b%1\b1 is
+       a synonym for `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the  background  into  the
+       foreground.   Similarly,  `\b``\b`%\b%1\b1  &\b&'\b''\b'  resumes  job  1 in the background,
        equivalent to `\b``\b`b\bbg\bg %\b%1\b1'\b''\b'.
 
-       The  shell  learns immediately whenever a job changes state.  Normally,
+       The shell learns immediately whenever a job changes  state.   Normally,
        b\bba\bas\bsh\bh waits until it is about to print a prompt before reporting changes
-       in  a  job's status so as to not interrupt any other output.  If the -\b-b\bb
+       in a job's status so as to not interrupt any other output.  If  the  -\b-b\bb
        option to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes
-       immediately.   Any  trap  on  S\bSI\bIG\bGC\bCH\bHL\bLD\bD  is  executed for each child that
+       immediately.  Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD  is  executed  for  each  child  that
        exits.
 
-       If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or,  if  the
-       c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\b shell  option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
+       If  an  attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
+       c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bshell option has been enabled using the s\bsh\bho\bop\bpt\bt  builtin,  run-
        ning), the shell prints a warning message, and, if the c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs option
-       is  enabled,  lists  the jobs and their statuses.  The j\bjo\bob\bbs\bs command may
-       then be used to inspect their status.  If a second attempt to  exit  is
-       made  without  an intervening command, the shell does not print another
+       is enabled, lists the jobs and their statuses.  The  j\bjo\bob\bbs\bs  command  may
+       then  be  used to inspect their status.  If a second attempt to exit is
+       made without an intervening command, the shell does not  print  another
        warning, and any stopped jobs are terminated.
 
 P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
        When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
-       it  is  ready  to  read a command, and the secondary prompt P\bPS\bS2\b2 when it
-       needs more input to complete  a  command.   B\bBa\bas\bsh\bh  allows  these  prompt
-       strings  to  be  customized  by inserting a number of backslash-escaped
+       it is ready to read a command, and the secondary  prompt  P\bPS\bS2\b2  when  it
+       needs  more  input  to  complete  a  command.  B\bBa\bas\bsh\bh allows these prompt
+       strings to be customized by inserting  a  number  of  backslash-escaped
        special characters that are decoded as follows:
               \\b\a\ba     an ASCII bell character (07)
-              \\b\d\bd     the date in "Weekday Month Date" format (e.g.,  "Tue  May
+              \\b\d\bd     the  date  in "Weekday Month Date" format (e.g., "Tue May
                      26")
               \\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
-                     the  _\bf_\bo_\br_\bm_\ba_\bt  is  passed  to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is
-                     inserted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\b results
+                     the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  and  the  result  is
+                     inserted  into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results
                      in a locale-specific time representation.  The braces are
                      required
               \\b\e\be     an ASCII escape character (033)
@@ -2599,7 +2602,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
@@ -2608,8 +2611,8 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\u\bu     the username of the current user
               \\b\v\bv     the version of b\bba\bas\bsh\bh (e.g., 2.00)
               \\b\V\bV     the release of b\bba\bas\bsh\bh, version + patch level (e.g., 2.00.0)
-              \\b\w\bw     the current working  directory,  with  $\b$H\bHO\bOM\bME\b abbreviated
-                     with  a tilde (uses the value of the P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM vari-
+              \\b\w\bw     the  current  working  directory,  with $\b$H\bHO\bOM\bME\bE abbreviated
+                     with a tilde (uses the value of the P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\b vari-
                      able)
               \\b\W\bW     the basename of the current working directory, with $\b$H\bHO\bOM\bME\bE
                      abbreviated with a tilde
@@ -2618,66 +2621,66 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\$\b$     if the effective UID is 0, a #\b#, otherwise a $\b$
               \\b\_\bn_\bn_\bn   the character corresponding to the octal number _\bn_\bn_\bn
               \\b\\\b\     a backslash
-              \\b\[\b[     begin  a sequence of non-printing characters, which could
-                     be used to embed a terminal  control  sequence  into  the
+              \\b\[\b[     begin a sequence of non-printing characters, which  could
+                     be  used  to  embed  a terminal control sequence into the
                      prompt
               \\b\]\b]     end a sequence of non-printing characters
 
-       The  command  number  and the history number are usually different: the
-       history number of a command is its position in the history list,  which
-       may  include  commands  restored  from  the  history  file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY
-       below), while the command number is the position  in  the  sequence  of
-       commands  executed  during the current shell session.  After the string
-       is decoded, it is expanded via parameter expansion,  command  substitu-
-       tion,  arithmetic expansion, and quote removal, subject to the value of
-       the p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the  s\bsh\bho\bop\bpt\b command
+       The command number and the history number are  usually  different:  the
+       history  number of a command is its position in the history list, which
+       may include commands  restored  from  the  history  file  (see  H\bHI\bIS\bST\bTO\bOR\bRY\bY
+       below),  while  the  command  number is the position in the sequence of
+       commands executed during the current shell session.  After  the  string
+       is  decoded,  it is expanded via parameter expansion, command substitu-
+       tion, arithmetic expansion, and quote removal, subject to the value  of
+       the  p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs  shell option (see the description of the s\bsh\bho\bop\bpt\bt command
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
 R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
-       This  is  the library that handles reading input when using an interac-
+       This is the library that handles reading input when using  an  interac-
        tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is given at shell invocation.
        Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd builtin.
        By default, the line editing commands are similar to those of Emacs.  A
        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
-       the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable.  If  that  variable  is  unset,  the  default  is
-       _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.   When a program which uses the readline library starts up,
+       Readline  is  customized  by putting commands in an initialization file
+       (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file).  The name of this file is taken from the  value  of
+       the  I\bIN\bNP\bPU\bUT\bTR\bRC\bC  variable.   If  that  variable  is  unset, the default is
+       _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.  When a program which uses the readline library starts  up,
        the initialization file is read, and the key bindings and variables are
-       set.   There  are  only  a few basic constructs allowed in the readline
-       initialization file.  Blank lines are ignored.  Lines beginning with  a
-       #\b are  comments.   Lines  beginning with a $\b$ indicate conditional con-
+       set.  There are only a few basic constructs  allowed  in  the  readline
+       initialization  file.  Blank lines are ignored.  Lines beginning with a
+       #\bare comments.  Lines beginning with a  $\b$  indicate  conditional  con-
        structs.  Other lines denote key bindings and variable settings.
 
-       The default key-bindings may be changed with an  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file.   Other
+       The  default  key-bindings  may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.  Other
        programs that use this library may add their own commands and bindings.
 
        For example, placing
@@ -2685,19 +2688,19 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               M-Control-u: universal-argument
        or
               C-Meta-u: universal-argument
-       into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command  _\bu_\bn_\bi_\bv_\be_\br_\b-
+       into  the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
        _\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
 
-       The  following  symbolic  character  names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
+       The following symbolic character names  are  recognized:  _\bR_\bU_\bB_\bO_\bU_\bT,  _\bD_\bE_\bL,
        _\bE_\bS_\bC, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bS_\bP_\bC, _\bS_\bP_\bA_\bC_\bE, and _\bT_\bA_\bB.
 
-       In addition to command names, readline allows keys to  be  bound  to  a
+       In  addition  to  command  names, readline allows keys to be bound to a
        string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
-       The  syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
-       All that is required is the name of the command or the text of a  macro
-       and  a key sequence to which it should be bound. The name may be speci-
+       The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is  simple.
+       All  that is required is the name of the command or the text of a macro
+       and a key sequence to which it should be bound. The name may be  speci-
        fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
        _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
 
@@ -2708,15 +2711,15 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
 
-       In the above example, _\bC_\b-_\bu is bound to the function  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
-       _\bM_\b-_\bD_\bE_\b is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
-       run the macro expressed on the right hand side (that is, to insert  the
+       In  the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+       _\bM_\b-_\bD_\bE_\bis bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound  to
+       run  the macro expressed on the right hand side (that is, to insert the
        text ``> output'' into the line).
 
-       In  the  second  form,  "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
-       from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence  may
-       be  specified  by  placing the sequence within double quotes.  Some GNU
-       Emacs style key escapes can be used, as in the following  example,  but
+       In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be  or  _\bm_\ba_\bc_\br_\bo,  k\bke\bey\bys\bse\beq\b differs
+       from  k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+       be specified by placing the sequence within double  quotes.   Some  GNU
+       Emacs  style  key escapes can be used, as in the following example, but
        the symbolic character names are not recognized.
 
               "\C-u": universal-argument
@@ -2724,7 +2727,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
@@ -2735,7 +2738,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
@@ -2745,20 +2748,20 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\r\br     carriage return
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
-              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
+              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (one to three digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
 
        When entering the text of a macro, single or double quotes must be used
        to indicate a macro definition.  Unquoted text is assumed to be a func-
-       tion name.  In the macro body, the backslash  escapes  described  above
-       are  expanded.   Backslash  will quote any other character in the macro
+       tion  name.   In  the macro body, the backslash escapes described above
+       are expanded.  Backslash will quote any other character  in  the  macro
        text, including " and '.
 
-       B\bBa\bas\bsh\ballows the current readline key bindings to be displayed or  modi-
-       fied  with  the b\bbi\bin\bnd\bd builtin command.  The editing mode may be switched
-       during interactive use by using the -\b-o\bo option to the s\bse\bet\bt  builtin  com-
+       B\bBa\bas\bsh\b allows the current readline key bindings to be displayed or modi-
+       fied with the b\bbi\bin\bnd\bd builtin command.  The editing mode may  be  switched
+       during  interactive  use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
@@ -2768,190 +2771,190 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
               s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
 
-       Except  where  noted,  readline variables can take the values O\bOn\bn or O\bOf\bff\bf
-       (without regard to case).  Unrecognized  variable  names  are  ignored.
-       When  a variable value is read, empty or null values, "on" (case-insen-
+       Except where noted, readline variables can take the values  O\bOn\bn  or  O\bOf\bff\bf
+       (without  regard  to  case).   Unrecognized variable names are ignored.
+       When a variable value is read, empty or null values, "on"  (case-insen-
        sitive), and "1" are equivalent to O\bOn\bn.  All other values are equivalent
        to O\bOf\bff\bf.  The variables and their default values are:
 
        b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
-              Controls  what  happens when readline wants to ring the terminal
+              Controls what happens when readline wants to ring  the  terminal
               bell.  If set to n\bno\bon\bne\be, readline never rings the bell.  If set to
-              v\bvi\bis\bsi\bib\bbl\ble\be,  readline  uses a visible bell if one is available.  If
+              v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is  available.   If
               set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
        b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, readline attempts to bind the  control  characters
+              If  set  to O\bOn\bn, readline attempts to bind the control characters
               treated specially by the kernel's terminal driver to their read-
               line equivalents.
        c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b(`\b``\b`#\b#'\b''\b')\b)
-              The string that is inserted  when  the  readline  i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
+              The  string  that  is  inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
               command is executed.  This command is bound to M\bM-\b-#\b# in emacs mode
               and to #\b# in vi command mode.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline performs filename matching and completion
               in a case-insensitive fashion.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
-              The  length in characters of the common prefix of a list of pos-
-              sible completions that is displayed without modification.   When
-              set  to  a  value greater than zero, common prefixes longer than
-              this value are replaced with an ellipsis when displaying  possi-
+              The length in characters of the common prefix of a list of  pos-
+              sible  completions that is displayed without modification.  When
+              set to a value greater than zero, common  prefixes  longer  than
+              this  value are replaced with an ellipsis when displaying possi-
               ble completions.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
-              This  determines when the user is queried about viewing the num-
-              ber of possible completions generated  by  the  p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
-              t\bti\bio\bon\bns\b command.  It may be set to any integer value greater than
-              or equal to zero.  If the  number  of  possible  completions  is
+              This determines when the user is queried about viewing the  num-
+              ber  of  possible  completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+              t\bti\bio\bon\bns\bcommand.  It may be set to any integer value greater  than
+              or  equal  to  zero.   If  the number of possible completions is
               greater than or equal to the value of this variable, the user is
-              asked whether or not he wishes to view them; otherwise they  are
+              asked  whether or not he wishes to view them; otherwise they are
               simply listed on the terminal.
        c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
-              If  set  to O\bOn\bn, readline will convert characters with the eighth
+              If set to O\bOn\bn, readline will convert characters with  the  eighth
               bit set to an ASCII key sequence by stripping the eighth bit and
-              prefixing  an  escape  character (in effect, using escape as the
+              prefixing an escape character (in effect, using  escape  as  the
               _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx).
        d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, readline will inhibit word completion.  Completion
-              characters  will  be  inserted into the line as if they had been
+              characters will be inserted into the line as if  they  had  been
               mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
        e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
               Controls whether readline begins with a set of key bindings sim-
               ilar to _\bE_\bm_\ba_\bc_\bs or _\bv_\bi.  e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or
               v\bvi\bi.
        e\bec\bch\bho\bo-\b-c\bco\bon\bnt\btr\bro\bol\bl-\b-c\bch\bha\bar\bra\bac\bct\bte\ber\brs\bs (\b(O\bOn\bn)\b)
-              When set to O\bOn\bn, on operating systems that indicate they  support
+              When  set to O\bOn\bn, on operating systems that indicate they support
               it, readline echoes a character corresponding to a signal gener-
               ated from the keyboard.
        e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
               When set to O\bOn\bn, readline will try to enable the application key-
-              pad  when  it  is  called.  Some systems need this to enable the
+              pad when it is called.  Some systems need  this  to  enable  the
               arrow keys.
        e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by (\b(O\bOn\bn)\b)
-              When set to O\bOn\bn, readline will try to enable  any  meta  modifier
-              key  the  terminal claims to support when it is called.  On many
+              When  set  to  O\bOn\bn, readline will try to enable any meta modifier
+              key the terminal claims to support when it is called.   On  many
               terminals, the meta key is used to send eight-bit characters.
        e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
-              If set  to  O\bOn\bn,  tilde  expansion  is  performed  when  readline
+              If  set  to  O\bOn\bn,  tilde  expansion  is  performed  when readline
               attempts word completion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn, the history code attempts to place point at the
-              same location on each history line retrieved with  p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+              If set to O\bOn\bn, the history code attempts to place  point  at  the
+              same  location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
               t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(0\b0)\b)
-              Set  the  maximum number of history entries saved in the history
+              Set the maximum number of history entries saved in  the  history
               list.  If set to zero, the number of entries in the history list
               is not limited.
        h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
-              When  set  to  O\bOn\bn, makes readline use a single line for display,
+              When set to O\bOn\bn, makes readline use a single  line  for  display,
               scrolling the input horizontally on a single screen line when it
-              becomes  longer  than the screen width rather than wrapping to a
+              becomes longer than the screen width rather than wrapping  to  a
               new line.
        i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will enable eight-bit input (that is,  it
-              will  not  strip  the  high  bit  from the characters it reads),
+              If  set to O\bOn\bn, readline will enable eight-bit input (that is, it
+              will not strip the high  bit  from  the  characters  it  reads),
               regardless of what the terminal claims it can support.  The name
               m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for this variable.
        i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b(`\b``\b`C\bC-\b-[\b[C\bC-\b-J\bJ'\b''\b')\b)
-              The  string  of  characters that should terminate an incremental
-              search without subsequently executing the character  as  a  com-
-              mand.   If this variable has not been given a value, the charac-
+              The string of characters that should  terminate  an  incremental
+              search  without  subsequently  executing the character as a com-
+              mand.  If this variable has not been given a value, the  charac-
               ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
        k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
-              Set the current readline keymap.  The set of valid keymap  names
-              is  _\be_\bm_\ba_\bc_\bs_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
-              _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd;  _\be_\bm_\ba_\bc_\b is
-              equivalent  to  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is _\be_\bm_\ba_\bc_\bs; the
+              Set  the current readline keymap.  The set of valid keymap names
+              is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+              _\bm_\ba_\bn_\bd,  and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+              equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is  _\be_\bm_\ba_\bc_\bs;  the
               value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
        m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
               If set to O\bOn\bn, completed directory names have a slash appended.
        m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, history lines that have  been  modified  are  dis-
+              If  set  to  O\bOn\bn,  history lines that have been modified are dis-
               played with a preceding asterisk (*\b*).
        m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, completed names which are symbolic links to direc-
-              tories  have  a  slash  appended  (subject  to  the   value   of
+              tories   have   a  slash  appended  (subject  to  the  value  of
               m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs).
        m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
-              This  variable,  when  set to O\bOn\bn, causes readline to match files
-              whose names begin with a  `.'  (hidden  files)  when  performing
-              filename  completion.   If  set  to O\bOf\bff\bf, the leading `.' must be
+              This variable, when set to O\bOn\bn, causes readline  to  match  files
+              whose  names  begin  with  a  `.' (hidden files) when performing
+              filename completion.  If set to O\bOf\bff\bf, the  leading  `.'  must  be
               supplied by the user in the filename to be completed.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, menu completion displays the common prefix of  the
+              If  set to O\bOn\bn, menu completion displays the common prefix of the
               list of possible completions (which may be empty) before cycling
               through the list.
        o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline will display characters with  the  eighth
+              If  set  to O\bOn\bn, readline will display characters with the eighth
               bit set directly rather than as a meta-prefixed escape sequence.
        p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to  dis-
+              If  set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
               play a screenful of possible completions at a time.
        p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn,  readline will display completions with matches
-              sorted horizontally in alphabetical order, rather than down  the
+              If set to O\bOn\bn, readline will  display  completions  with  matches
+              sorted  horizontally in alphabetical order, rather than down the
               screen.
        r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn, readline will undo all changes to history lines
+              If set to O\bOn\bn, readline will undo all changes  to  history  lines
               before returning when a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be is executed.  By default, his-
-              tory  lines  may  be  modified  and retain individual undo lists
+              tory lines may be modified  and  retain  individual  undo  lists
               across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
        s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
-              This alters the default behavior of  the  completion  functions.
+              This  alters  the  default behavior of the completion functions.
               If set to O\bOn\bn, words which have more than one possible completion
-              cause the matches to be listed immediately  instead  of  ringing
+              cause  the  matches  to be listed immediately instead of ringing
               the bell.
        s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
-              This  alters the default behavior of the completion functions in
+              This alters the default behavior of the completion functions  in
               a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs.  If set to O\bOn\bn, words
-              which  have more than one possible completion without any possi-
-              ble partial completion (the possible completions don't  share  a
-              common  prefix)  cause  the  matches  to  be  listed immediately
+              which have more than one possible completion without any  possi-
+              ble  partial  completion (the possible completions don't share a
+              common prefix)  cause  the  matches  to  be  listed  immediately
               instead of ringing the bell.
        s\bsk\bki\bip\bp-\b-c\bco\bom\bmp\bpl\ble\bet\bte\bed\bd-\b-t\bte\bex\bxt\bt (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, this alters the default completion  behavior  when
-              inserting  a  single match into the line.  It's only active when
-              performing completion in the middle  of  a  word.   If  enabled,
-              readline  does  not  insert  characters from the completion that
-              match characters after point in the  word  being  completed,  so
+              If  set  to O\bOn\bn, this alters the default completion behavior when
+              inserting a single match into the line.  It's only  active  when
+              performing  completion  in  the  middle  of a word.  If enabled,
+              readline does not insert characters  from  the  completion  that
+              match  characters  after  point  in the word being completed, so
               portions of the word following the cursor are not duplicated.
        v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
-              If  set to O\bOn\bn, a character denoting a file's type as reported by
-              _\bs_\bt_\ba_\bt(2) is appended to the filename when listing  possible  com-
+              If set to O\bOn\bn, a character denoting a file's type as reported  by
+              _\bs_\bt_\ba_\bt(2)  is  appended to the filename when listing possible com-
               pletions.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
-       Readline  implements  a  facility  similar in spirit to the conditional
-       compilation features of the C preprocessor which  allows  key  bindings
-       and  variable  settings  to be performed as the result of tests.  There
+       Readline implements a facility similar in  spirit  to  the  conditional
+       compilation  features  of  the C preprocessor which allows key bindings
+       and variable settings to be performed as the result  of  tests.   There
        are four parser directives used.
 
-       $\b$i\bif\bf    The $\b$i\bif\bf construct allows bindings to be made based on the  edit-
-              ing  mode,  the  terminal  being  used, or the application using
-              readline.  The text of the test extends to the end of the  line;
+       $\b$i\bif\bf    The  $\b$i\bif\bf construct allows bindings to be made based on the edit-
+              ing mode, the terminal being  used,  or  the  application  using
+              readline.   The text of the test extends to the end of the line;
               no characters are required to isolate it.
 
-              m\bmo\bod\bde\be   The  m\bmo\bod\bde\be=\b=  form  of  the  $\b$i\bif\bf  directive is used to test
-                     whether readline is in emacs or vi  mode.   This  may  be
-                     used  in  conjunction  with  the  s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for
-                     instance, to  set  bindings  in  the  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\b and
-                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\b keymaps  only  if readline is starting out in
+              m\bmo\bod\bde\be   The m\bmo\bod\bde\be=\b= form of the  $\b$i\bif\bf  directive  is  used  to  test
+                     whether  readline  is  in  emacs or vi mode.  This may be
+                     used in conjunction with  the  s\bse\bet\bt  k\bke\bey\bym\bma\bap\bp  command,  for
+                     instance,  to  set  bindings  in  the  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
+                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bkeymaps only if readline is  starting  out  in
                      emacs mode.
 
-              t\bte\ber\brm\bm   The t\bte\ber\brm\bm=\b= form may be used to  include  terminal-specific
+              t\bte\ber\brm\bm   The  t\bte\ber\brm\bm=\b=  form may be used to include terminal-specific
                      key bindings, perhaps to bind the key sequences output by
                      the terminal's function keys.  The word on the right side
                      of the =\b= is tested against the both full name of the ter-
-                     minal and the portion of the  terminal  name  before  the
-                     first  -\b-.  This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
+                     minal  and  the  portion  of the terminal name before the
+                     first -\b-.  This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and  _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
                      for instance.
 
               a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn
                      The a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn construct is used to include application-
                      specific  settings.   Each  program  using  the  readline
-                     library sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an  initialization
+                     library  sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
                      file can test for a particular value.  This could be used
-                     to bind key sequences to functions useful for a  specific
-                     program.   For instance, the following command adds a key
-                     sequence that quotes the  current  or  previous  word  in
+                     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
@@ -2966,51 +2969,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
@@ -3026,17 +3029,17 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Move forward to the end of the next word.  Words are composed of
               alphanumeric characters (letters and digits).
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
-              Move  back  to the start of the current or previous word.  Words
+              Move back to the start of the current or previous  word.   Words
               are composed of alphanumeric characters (letters and digits).
        s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move forward to the end of the next word.  Words  are  delimited
+              Move  forward  to the end of the next word.  Words are delimited
               by non-quoted shell metacharacters.
        s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Move  back  to the start of the current or previous word.  Words
+              Move back to the start of the current or previous  word.   Words
               are delimited by non-quoted shell metacharacters.
        c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
-              Clear the screen leaving the current line  at  the  top  of  the
-              screen.   With  an  argument,  refresh  the current line without
+              Clear  the  screen  leaving  the  current line at the top of the
+              screen.  With an argument,  refresh  the  current  line  without
               clearing the screen.
        r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
               Refresh the current line.
@@ -3044,136 +3047,136 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
        a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
               Accept the line regardless of where the cursor is.  If this line
-              is  non-empty, add it to the history list according to the state
-              of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable.  If the line is a modified  history
+              is non-empty, add it to the history list according to the  state
+              of  the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable.  If the line is a modified history
               line, then restore the history line to its original state.
        p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
               Fetch the previous command from the history list, moving back in
               the list.
        n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
-              Fetch the next command from the history list, moving forward  in
+              Fetch  the next command from the history list, moving forward in
               the list.
        b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
               Move to the first line in the history.
        e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
-              Move  to  the end of the input history, i.e., the line currently
+              Move to the end of the input history, i.e., the  line  currently
               being entered.
        r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
-              Search backward starting at the current  line  and  moving  `up'
-              through  the  history  as  necessary.   This  is  an incremental
+              Search  backward  starting  at  the current line and moving `up'
+              through the  history  as  necessary.   This  is  an  incremental
               search.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
-              Search forward starting at the current line  and  moving  `down'
-              through  the  history  as  necessary.   This  is  an incremental
+              Search  forward  starting  at the current line and moving `down'
+              through the  history  as  necessary.   This  is  an  incremental
               search.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
               Search backward through the history starting at the current line
-              using  a  non-incremental  search  for  a string supplied by the
+              using a non-incremental search for  a  string  supplied  by  the
               user.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
-              Search forward  through  the  history  using  a  non-incremental
+              Search  forward  through  the  history  using  a non-incremental
               search for a string supplied by the user.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
-              Search  forward through the history for the string of characters
-              between the start of the current line and the point.  This is  a
+              Search forward through the history for the string of  characters
+              between  the start of the current line and the point.  This is a
               non-incremental search.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
               Search backward through the history for the string of characters
-              between the start of the current line and the point.  This is  a
+              between  the start of the current line and the point.  This is a
               non-incremental search.
        y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
-              Insert  the  first argument to the previous command (usually the
+              Insert the first argument to the previous command  (usually  the
               second word on the previous line) at point.  With an argument _\bn,
-              insert  the _\bnth word from the previous command (the words in the
-              previous command  begin  with  word  0).   A  negative  argument
+              insert the _\bnth word from the previous command (the words in  the
+              previous  command  begin  with  word  0).   A  negative argument
               inserts the _\bnth word from the end of the previous command.  Once
-              the argument _\bn is computed, the argument is extracted as if  the
+              the  argument _\bn is computed, the argument is extracted as if the
               "!_\bn" history expansion had been specified.
        y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
-              Insert  the last argument to the previous command (the last word
+              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 argument, as if the "!$" history expansion  had
+              extract  the last argument, as if the "!$" history expansion had
               been specified.
        s\bsh\bhe\bel\bll\bl-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-C\bC-\b-e\be)\b)
               Expand the line as the shell does.  This performs alias and his-
               tory expansion as well as all of the shell word expansions.  See
-              H\bHI\bIS\bST\bTO\bOR\bRY\b E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
+              H\bHI\bIS\bST\bTO\bOR\bRY\bE\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history  expansion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-^\b^)\b)
-              Perform history expansion on  the  current  line.   See  H\bHI\bIS\bST\bTO\bOR\bRY\bY
+              Perform  history  expansion  on  the  current line.  See H\bHI\bIS\bST\bTO\bOR\bRY\bY
               E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
        m\bma\bag\bgi\bic\bc-\b-s\bsp\bpa\bac\bce\be
-              Perform  history  expansion  on  the  current  line and insert a
+              Perform history expansion on  the  current  line  and  insert  a
               space.  See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history
               expansion.
        a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
-              Perform  alias expansion on the current line.  See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
+              Perform alias expansion on the current line.  See A\bAL\bLI\bIA\bAS\bSE\bES\b above
               for a description of alias expansion.
        h\bhi\bis\bst\bto\bor\bry\by-\b-a\ban\bnd\bd-\b-a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
               Perform history and alias expansion on the current line.
        i\bin\bns\bse\ber\brt\bt-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
               A synonym for y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg.
        o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
-              Accept the current line for execution and fetch  the  next  line
-              relative  to the current line from the history for editing.  Any
+              Accept  the  current  line for execution and fetch the next line
+              relative to the current line from the history for editing.   Any
               argument is ignored.
        e\bed\bdi\bit\bt-\b-a\ban\bnd\bd-\b-e\bex\bxe\bec\bcu\but\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(C\bC-\b-x\bxC\bC-\b-e\be)\b)
-              Invoke an editor on the current command line,  and  execute  the
-              result  as  shell  commands.   B\bBa\bas\bsh\bh  attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL,
+              Invoke  an  editor  on the current command line, and execute the
+              result as shell commands.   B\bBa\bas\bsh\bh  attempts  to  invoke  $\b$V\bVI\bIS\bSU\bUA\bAL\bL,
               $\b$E\bED\bDI\bIT\bTO\bOR\bR, and _\be_\bm_\ba_\bc_\bs as the editor, in that order.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
-              Delete the character at point.  If point is at the beginning  of
-              the  line,  there  are  no  characters in the line, and the last
+              Delete  the character at point.  If point is at the beginning of
+              the line, there are no characters in  the  line,  and  the  last
               character typed was not bound to d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br, then return E\bEO\bOF\bF.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
-              Delete the character behind the cursor.  When  given  a  numeric
+              Delete  the  character  behind the cursor.  When given a numeric
               argument, save the deleted text on the kill ring.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
-              Delete  the  character under the cursor, unless the cursor is at
+              Delete the character under the cursor, unless the cursor  is  at
               the end of the line, in which case the character behind the cur-
               sor is deleted.
        q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
-              Add  the next character typed to the line verbatim.  This is how
+              Add the next character typed to the line verbatim.  This is  how
               to insert characters like C\bC-\b-q\bq, for example.
        t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-v\bv T\bTA\bAB\bB)\b)
               Insert a tab character.
        s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, .\b..\b..\b.)\b)
               Insert the character typed.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
-              Drag the character before point forward over  the  character  at
-              point,  moving point forward as well.  If point is at the end of
-              the line, then this transposes the two characters before  point.
+              Drag  the  character  before point forward over the character at
+              point, moving point forward as well.  If point is at the end  of
+              the  line, then this transposes the two characters before point.
               Negative arguments have no effect.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
-              Drag  the  word  before  point past the word after point, moving
-              point over that word as well.  If point is at  the  end  of  the
+              Drag the word before point past the  word  after  point,  moving
+              point  over  that  word  as well.  If point is at the end of the
               line, this transposes the last two words on the line.
        u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
-              Uppercase  the  current  (or  following)  word.  With a negative
+              Uppercase the current (or  following)  word.   With  a  negative
               argument, uppercase the previous word, but do not move point.
        d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
-              Lowercase the current (or  following)  word.   With  a  negative
+              Lowercase  the  current  (or  following)  word.  With a negative
               argument, lowercase the previous word, but do not move point.
        c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
-              Capitalize  the  current  (or  following) word.  With a negative
+              Capitalize the current (or following)  word.   With  a  negative
               argument, capitalize the previous word, but do not move point.
        o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
-              Toggle overwrite mode.  With an explicit positive numeric  argu-
+              Toggle  overwrite mode.  With an explicit positive numeric argu-
               ment, switches to overwrite mode.  With an explicit non-positive
               numeric argument, switches to insert mode.  This command affects
-              only  e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently.  Each call
+              only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently.  Each  call
               to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode.  In overwrite mode, charac-
-              ters  bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather than
-              pushing the text  to  the  right.   Characters  bound  to  b\bba\bac\bck\bk-\b-
-              w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\b replace  the  character  before  point  with a
+              ters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather  than
+              pushing  the  text  to  the  right.   Characters  bound to b\bba\bac\bck\bk-\b-
+              w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\breplace  the  character  before  point  with  a
               space.  By default, this command is unbound.
 
    K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
@@ -3182,31 +3185,31 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
               Kill backward to the beginning of the line.
        u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
-              Kill backward from point to the  beginning  of  the  line.   The
+              Kill  backward  from  point  to  the beginning of the line.  The
               killed text is saved on the kill-ring.
        k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
-              Kill  all  characters on the current line, no matter where point
+              Kill all characters on the current line, no matter  where  point
               is.
        k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill from point to the end of the current word,  or  if  between
-              words,  to  the  end  of the next word.  Word boundaries are the
+              Kill  from  point  to the end of the current word, or if between
+              words, to the end of the next word.   Word  boundaries  are  the
               same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill the word behind point.  Word boundaries  are  the  same  as
+              Kill  the  word  behind  point.  Word boundaries are the same as
               those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill  from  point  to the end of the current word, or if between
-              words, to the end of the next word.   Word  boundaries  are  the
+              Kill from point to the end of the current word,  or  if  between
+              words,  to  the  end  of the next word.  Word boundaries are the
               same as those used by s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill  the  word  behind  point.  Word boundaries are the same as
+              Kill the word behind point.  Word boundaries  are  the  same  as
               those used by s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
-              Kill the word behind point, using white space as a  word  bound-
+              Kill  the  word behind point, using white space as a word bound-
               ary.  The killed text is saved on the kill-ring.
        u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
-              Kill  the  word  behind  point,  using white space and the slash
-              character as the word boundaries.  The killed text is  saved  on
+              Kill the word behind point, using  white  space  and  the  slash
+              character  as  the word boundaries.  The killed text is saved on
               the kill-ring.
        d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
               Delete all spaces and tabs around point.
@@ -3215,65 +3218,65 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
               Copy the text in the region to the kill buffer.
        c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy  the word before point to the kill buffer.  The word bound-
+              Copy the word before point to the kill buffer.  The word  bound-
               aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy the word following point to  the  kill  buffer.   The  word
+              Copy  the  word  following  point  to the kill buffer.  The word
               boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
               Yank the top of the kill ring into the buffer at point.
        y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
-              Rotate  the kill ring, and yank the new top.  Only works follow-
+              Rotate the kill ring, and yank the new top.  Only works  follow-
               ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
 
    N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
        d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, .\b..\b..\b.,\b, M\bM-\b--\b-)\b)
-              Add this digit to the argument already accumulating, or start  a
+              Add  this digit to the argument already accumulating, or start a
               new argument.  M-- starts a negative argument.
        u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
-              This  is another way to specify an argument.  If this command is
-              followed by one or more digits, optionally with a leading  minus
-              sign,  those digits define the argument.  If the command is fol-
-              lowed by digits, executing  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt  again  ends  the
-              numeric  argument, but is otherwise ignored.  As a special case,
-              if this command is immediately followed by a character  that  is
-              neither  a  digit or minus sign, the argument count for the next
-              command is multiplied by four.  The argument count is  initially
-              one,  so  executing this function the first time makes the argu-
+              This is another way to specify an argument.  If this command  is
+              followed  by one or more digits, optionally with a leading minus
+              sign, those digits define the argument.  If the command is  fol-
+              lowed  by  digits,  executing  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the
+              numeric argument, but is otherwise ignored.  As a special  case,
+              if  this  command is immediately followed by a character that is
+              neither a digit or minus sign, the argument count for  the  next
+              command  is multiplied by four.  The argument count is initially
+              one, so executing this function the first time makes  the  argu-
               ment count four, a second time makes the argument count sixteen,
               and so on.
 
    C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
        c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
-              Attempt  to  perform  completion on the text before point.  B\bBa\bas\bsh\bh
+              Attempt to perform completion on the text  before  point.   B\bBa\bas\bsh\bh
               attempts completion treating the text as a variable (if the text
-              begins  with  $\b$), username (if the text begins with ~\b~), hostname
-              (if the text begins with @\b@), or command (including  aliases  and
+              begins with $\b$), username (if the text begins with  ~\b~),  hostname
+              (if  the  text begins with @\b@), or command (including aliases and
               functions) in turn.  If none of these produces a match, filename
               completion is attempted.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
               List the possible completions of the text before point.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
-              Insert all completions of the text before point that would  have
+              Insert  all completions of the text before point that would have
               been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
-              Similar  to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
-              a single match from the list of possible completions.   Repeated
-              execution  of  m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be  steps through the list of possible
-              completions, inserting each match in turn.  At the  end  of  the
+              Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed  with
+              a  single match from the list of possible completions.  Repeated
+              execution of m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the  list  of  possible
+              completions,  inserting  each  match in turn.  At the end of the
               list of completions, the bell is rung (subject to the setting of
               b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and the original text is restored.  An argument of _\bn
-              moves  _\bn  positions  forward  in the list of matches; a negative
-              argument may be used to move backward through  the  list.   This
-              command  is  intended  to  be  bound  to  T\bTA\bAB\bB, but is unbound by
+              moves _\bn positions forward in the list  of  matches;  a  negative
+              argument  may  be  used to move backward through the list.  This
+              command is intended to be  bound  to  T\bTA\bAB\bB,  but  is  unbound  by
               default.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
-              Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the  list
-              of  possible  completions,  as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
+              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)
@@ -3282,213 +3285,213 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               List the possible completions of the text before point, treating
               it as a filename.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be (\b(M\bM-\b-~\b~)\b)
-              Attempt completion on the text before point, treating  it  as  a
+              Attempt  completion  on  the text before point, treating it as a
               username.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx ~\b~)\b)
               List the possible completions of the text before point, treating
               it as a username.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be (\b(M\bM-\b-$\b$)\b)
-              Attempt completion on the text before point, treating  it  as  a
+              Attempt  completion  on  the text before point, treating it as a
               shell variable.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx $\b$)\b)
               List the possible completions of the text before point, treating
               it as a shell variable.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be (\b(M\bM-\b-@\b@)\b)
-              Attempt completion on the text before point, treating  it  as  a
+              Attempt  completion  on  the text before point, treating it as a
               hostname.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx @\b@)\b)
               List the possible completions of the text before point, treating
               it as a hostname.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-!\b!)\b)
-              Attempt completion on the text before point, treating  it  as  a
-              command  name.   Command  completion  attempts to match the text
-              against  aliases,  reserved  words,   shell   functions,   shell
+              Attempt  completion  on  the text before point, treating it as a
+              command name.  Command completion attempts  to  match  the  text
+              against   aliases,   reserved   words,  shell  functions,  shell
               builtins, and finally executable filenames, in that order.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx !\b!)\b)
               List the possible completions of the text before point, treating
               it as a command name.
        d\bdy\byn\bna\bam\bmi\bic\bc-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-T\bTA\bAB\bB)\b)
-              Attempt completion on the text before point, comparing the  text
-              against  lines  from  the  history  list for possible completion
+              Attempt  completion on the text before point, comparing the text
+              against lines from the  history  list  for  possible  completion
               matches.
        d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
-              Attempt menu completion on the text before point, comparing  the
+              Attempt  menu completion on the text before point, comparing the
               text against lines from the history list for possible completion
               matches.
        c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
               Perform filename completion and insert the list of possible com-
-              pletions  enclosed within braces so the list is available to the
+              pletions enclosed within braces so the list is available to  the
               shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
    K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
        s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
-              Begin saving the characters  typed  into  the  current  keyboard
+              Begin  saving  the  characters  typed  into the current keyboard
               macro.
        e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
               Stop saving the characters typed into the current keyboard macro
               and store the definition.
        c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
-              Re-execute the last keyboard macro defined, by making the  char-
+              Re-execute  the last keyboard macro defined, by making the char-
               acters in the macro appear as if typed at the keyboard.
 
    M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
        r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
-              Read  in  the  contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
+              Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file,  and  incorporate  any
               bindings or variable assignments found there.
        a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
-              Abort the current editing command and ring the  terminal's  bell
+              Abort  the  current editing command and ring the terminal's bell
               (subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
        d\bdo\bo-\b-u\bup\bpp\bpe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-a\ba,\b, M\bM-\b-b\bb,\b, M\bM-\b-_\bx,\b, .\b..\b..\b.)\b)
-              If  the  metafied character _\bx is lowercase, run the command that
+              If the metafied character _\bx is lowercase, run the  command  that
               is bound to the corresponding uppercase character.
        p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
               Metafy the next character typed.  E\bES\bSC\bC f\bf is equivalent to M\bMe\bet\bta\ba-\b-f\bf.
        u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
               Incremental undo, separately remembered for each line.
        r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
-              Undo  all changes made to this line.  This is like executing the
-              u\bun\bnd\bdo\bcommand enough times to return  the  line  to  its  initial
+              Undo all changes made to this line.  This is like executing  the
+              u\bun\bnd\bdo\b command  enough  times  to  return the line to its initial
               state.
        t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
               Perform tilde expansion on the current word.
        s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
-              Set  the  mark to the point.  If a numeric argument is supplied,
+              Set the mark to the point.  If a numeric argument  is  supplied,
               the mark is set to that position.
        e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
-              Swap the point with the mark.  The current  cursor  position  is
-              set  to the saved position, and the old cursor position is saved
+              Swap  the  point  with the mark.  The current cursor position is
+              set to the saved position, and the old cursor position is  saved
               as the mark.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
               A character is read and point is moved to the next occurrence of
-              that  character.   A negative count searches for previous occur-
+              that character.  A negative count searches for  previous  occur-
               rences.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
-              A character is read and point is moved to  the  previous  occur-
-              rence  of  that character.  A negative count searches for subse-
+              A  character  is  read and point is moved to the previous occur-
+              rence of that character.  A negative count searches  for  subse-
               quent occurrences.
        s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
-              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
+              ning  of the line.  In either case, the line is accepted as if a
+              newline had been typed.   The  default  value  of  c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
+              causes  this  command  to make the current line a shell comment.
+              If a  numeric  argument  causes  the  comment  character  to  be
               removed, the line will be executed by the shell.
        g\bgl\blo\bob\bb-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-g\bg)\b)
-              The word before point is  treated  as  a  pattern  for  pathname
-              expansion,  with  an asterisk implicitly appended.  This pattern
-              is used to generate a list of matching  filenames  for  possible
+              The  word  before  point  is  treated  as a pattern for pathname
+              expansion, with an asterisk implicitly appended.   This  pattern
+              is  used  to  generate a list of matching filenames for possible
               completions.
        g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
-              The  word  before  point  is  treated  as a pattern for pathname
-              expansion, and the  list  of  matching  filenames  is  inserted,
-              replacing  the  word.   If  a  numeric  argument is supplied, an
+              The word before point is  treated  as  a  pattern  for  pathname
+              expansion,  and  the  list  of  matching  filenames is inserted,
+              replacing the word.  If  a  numeric  argument  is  supplied,  an
               asterisk is appended before pathname expansion.
        g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
-              The list  of  expansions  that  would  have  been  generated  by
-              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\b is  displayed,  and the line is redrawn.  If a
-              numeric argument is supplied, an  asterisk  is  appended  before
+              The  list  of  expansions  that  would  have  been  generated by
+              g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bis displayed, and the line is  redrawn.   If  a
+              numeric  argument  is  supplied,  an asterisk is appended before
               pathname expansion.
        d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
-              Print  all  of the functions and their key bindings to the read-
+              Print all of the functions and their key bindings to  the  read-
               line output stream.  If a numeric argument is supplied, the out-
-              put  is  formatted  in such a way that it can be made part of an
+              put is formatted in such a way that it can be made  part  of  an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
               Print all of the settable readline variables and their values to
-              the  readline output stream.  If a numeric argument is supplied,
-              the output is formatted in such a way that it can be  made  part
+              the readline output stream.  If a numeric argument is  supplied,
+              the  output  is formatted in such a way that it can be made part
               of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
-              Print  all of the readline key sequences bound to macros and the
-              strings they output.  If a numeric  argument  is  supplied,  the
+              Print all of the readline key sequences bound to macros and  the
+              strings  they  output.   If  a numeric argument is supplied, the
               output is formatted in such a way that it can be made part of an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdi\bis\bsp\bpl\bla\bay\by-\b-s\bsh\bhe\bel\bll\bl-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(C\bC-\b-x\bx C\bC-\b-v\bv)\b)
-              Display version information about the current instance of  b\bba\bas\bsh\bh.
+              Display  version information about the current instance of b\bba\bas\bsh\bh.
 
    P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-       When  word  completion  is  attempted  for an argument to a command for
-       which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has  been  defined  using
-       the  c\bco\bom\bmp\bpl\ble\bet\bte\be  builtin  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the pro-
+       When word completion is attempted for an  argument  to  a  command  for
+       which  a  completion  specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+       the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below),  the  pro-
        grammable completion facilities are invoked.
 
-       First, the command name is identified.  If  the  command  word  is  the
-       empty  string (completion attempted at the beginning of an empty line),
-       any compspec defined with the -\b-E\bE option to  c\bco\bom\bmp\bpl\ble\bet\bte\be  is  used.   If  a
-       compspec  has  been  defined  for that command, the compspec is used to
+       First,  the  command  name  is  identified.  If the command word is the
+       empty string (completion attempted at the beginning of an empty  line),
+       any  compspec  defined  with  the  -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used.  If a
+       compspec has been defined for that command, the  compspec  is  used  to
        generate the list of possible completions for the word.  If the command
-       word  is  a full pathname, a compspec for the full pathname is searched
-       for first.  If no compspec is found for the full pathname,  an  attempt
-       is  made  to find a compspec for the portion following the final slash.
-       If those searches do not result in a  compspec,  any  compspec  defined
+       word is a full pathname, a compspec for the full pathname  is  searched
+       for  first.   If no compspec is found for the full pathname, an attempt
+       is made to find a compspec for the portion following the  final  slash.
+       If  those  searches  do  not result in a compspec, any compspec defined
        with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default.
 
-       Once  a  compspec  has  been  found, it is used to generate the list of
-       matching words.  If a compspec is not found, the default  b\bba\bas\bsh\b comple-
+       Once a compspec has been found, it is used  to  generate  the  list  of
+       matching  words.   If a compspec is not found, the default b\bba\bas\bsh\bh comple-
        tion as described above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg is performed.
 
-       First,  the  actions  specified by the compspec are used.  Only matches
-       which are prefixed by the word being completed are returned.  When  the
-       -\b-f\b or -\b-d\bd option is used for filename or directory name completion, the
+       First, the actions specified by the compspec are  used.   Only  matches
+       which  are prefixed by the word being completed are returned.  When the
+       -\b-f\bor -\b-d\bd option is used for filename or directory name completion,  the
        shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE is used to filter the matches.
 
-       Any completions specified by a pathname expansion  pattern  to  the  -\b-G\bG
+       Any  completions  specified  by  a pathname expansion pattern to the -\b-G\bG
        option are generated next.  The words generated by the pattern need not
-       match the word being completed.  The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable  is  not
+       match  the  word being completed.  The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
        used to filter the matches, but the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable is used.
 
-       Next,  the string specified as the argument to the -\b-W\bW option is consid-
-       ered.  The string is first split using the characters in the  I\bIF\bFS\b spe-
-       cial  variable  as delimiters.  Shell quoting is honored.  Each word is
-       then expanded using brace expansion,  tilde  expansion,  parameter  and
-       variable  expansion, command substitution, and arithmetic expansion, as
+       Next, the string specified as the argument to the -\b-W\bW option is  consid-
+       ered.   The  string is first split using the characters in the I\bIF\bFS\bS spe-
+       cial variable as delimiters.  Shell quoting is honored.  Each  word  is
+       then  expanded  using  brace  expansion, tilde expansion, parameter and
+       variable expansion, command substitution, and arithmetic expansion,  as
        described above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN.  The results are split using the rules
        described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg.  The results of the expansion are
        prefix-matched against the word being completed, and the matching words
        become the possible completions.
 
-       After  these matches have been generated, any shell function or command
-       specified with the -\b-F\bF and -\b-C\bC options is invoked.  When the  command  or
+       After these matches have been generated, any shell function or  command
+       specified  with  the -\b-F\bF and -\b-C\bC options is invoked.  When the command or
        function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE
        variables are assigned values as described above under S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.
-       If  a  shell  function  is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
-       variables are also set.  When the function or command is  invoked,  the
-       first  argument  is  the  name of the command whose arguments are being
-       completed, the second argument is the word  being  completed,  and  the
-       third  argument  is  the word preceding the word being completed on the
-       current command  line.   No  filtering  of  the  generated  completions
-       against  the word being completed is performed; the function or command
+       If a shell function is being invoked,  the  C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS  and  C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
+       variables  are  also set.  When the function or command is invoked, the
+       first argument is the name of the command  whose  arguments  are  being
+       completed,  the  second  argument  is the word being completed, and the
+       third argument is the word preceding the word being  completed  on  the
+       current  command  line.   No  filtering  of  the  generated completions
+       against the word being completed is performed; the function or  command
        has complete freedom in generating the matches.
 
-       Any function specified with -\b-F\bF is invoked first.  The function may  use
-       any  of  the  shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn builtin described
-       below, to generate the matches.  It must put the  possible  completions
+       Any  function specified with -\b-F\bF is invoked first.  The function may use
+       any of the shell facilities, including the  c\bco\bom\bmp\bpg\bge\ben\bn  builtin  described
+       below,  to  generate the matches.  It must put the possible completions
        in the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable.
 
-       Next,  any  command specified with the -\b-C\bC option is invoked in an envi-
-       ronment equivalent to command substitution.  It should print a list  of
-       completions,  one  per  line, to the standard output.  Backslash may be
+       Next, any command specified with the -\b-C\bC option is invoked in  an  envi-
+       ronment  equivalent to command substitution.  It should print a list of
+       completions, one per line, to the standard output.   Backslash  may  be
        used to escape a newline, if necessary.
 
-       After all of the possible completions are generated, any filter  speci-
-       fied  with  the -\b-X\bX option is applied to the list.  The filter is a pat-
-       tern as used for pathname expansion; a &\b& in  the  pattern  is  replaced
-       with  the text of the word being completed.  A literal &\b& may be escaped
-       with a backslash; the backslash is removed before attempting  a  match.
-       Any  completion that matches the pattern will be removed from the list.
+       After  all of the possible completions are generated, any filter speci-
+       fied with the -\b-X\bX option is applied to the list.  The filter is  a  pat-
+       tern  as  used  for  pathname expansion; a &\b& in the pattern is replaced
+       with the text of the word being completed.  A literal &\b& may be  escaped
+       with  a  backslash; the backslash is removed before attempting a match.
+       Any completion that matches the pattern will be removed from the  list.
        A leading !\b! negates the pattern; in this case any completion not match-
        ing the pattern will be removed.
 
@@ -3496,44 +3499,44 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        added to each member of the completion list, and the result is returned
        to the readline completion code as the list of possible completions.
 
-       If  the previously-applied actions do not generate any matches, and the
-       -\b-o\bd\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied  to  c\bco\bom\bmp\bpl\ble\bet\bte\be  when  the  compspec  was
+       If the previously-applied actions do not generate any matches, and  the
+       -\b-o\b d\bdi\bir\brn\bna\bam\bme\bes\bs  option  was  supplied  to  c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was
        defined, directory name completion is attempted.
 
-       If  the  -\b-o\bo  p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
+       If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be  when  the  compspec
        was defined, directory name completion is attempted and any matches are
        added to the results of the other actions.
 
-       By  default,  if a compspec is found, whatever it generates is returned
-       to the completion code as the full set of  possible  completions.   The
+       By default, if a compspec is found, whatever it generates  is  returned
+       to  the  completion  code as the full set of possible completions.  The
        default b\bba\bas\bsh\bh completions are not attempted, and the readline default of
        filename completion is disabled.  If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was sup-
-       plied  to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
+       plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default  com-
        pletions are attempted if the compspec generates no matches.  If the -\b-o\bo
-       d\bde\bef\bfa\bau\bul\blt\b option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
-       readline's default completion will be performed if the  compspec  (and,
+       d\bde\bef\bfa\bau\bul\blt\boption was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was  defined,
+       readline's  default  completion will be performed if the compspec (and,
        if attempted, the default b\bba\bas\bsh\bh completions) generate no matches.
 
-       When  a  compspec  indicates that directory name completion is desired,
-       the programmable completion functions force readline to append a  slash
-       to  completed names which are symbolic links to directories, subject to
-       the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of  the
+       When a compspec indicates that directory name  completion  is  desired,
+       the  programmable completion functions force readline to append a slash
+       to completed names which are symbolic links to directories, subject  to
+       the  value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
        setting of the m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable.
 
-       There  is  some support for dynamically modifying completions.  This is
-       most useful when used in combination with a default  completion  speci-
-       fied  with  c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions executed as
-       completion handlers to indicate that completion should  be  retried  by
-       returning  an exit status of 124.  If a shell function returns 124, and
+       There is some support for dynamically modifying completions.   This  is
+       most  useful  when used in combination with a default completion speci-
+       fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD.  It's possible for shell functions  executed  as
+       completion  handlers  to  indicate that completion should be retried by
+       returning an exit status of 124.  If a shell function returns 124,  and
        changes the compspec associated with the command on which completion is
-       being  attempted  (supplied  as the first argument when the function is
+       being attempted (supplied as the first argument when  the  function  is
        executed), programmable completion restarts from the beginning, with an
-       attempt  to find a new compspec for that command.  This allows a set of
-       completions to be built dynamically as completion is attempted,  rather
+       attempt to find a new compspec for that command.  This allows a set  of
+       completions  to be built dynamically as completion is attempted, rather
        than being loaded all at once.
 
-       For  instance, assuming that there is a library of compspecs, each kept
-       in a file corresponding to the  name  of  the  command,  the  following
+       For instance, assuming that there is a library of compspecs, each  kept
+       in  a  file  corresponding  to  the  name of the command, the following
        default completion function would load completions dynamically:
 
        _completion_loader()
@@ -3544,135 +3547,135 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
 
 H\bHI\bIS\bST\bTO\bOR\bRY\bY
-       When  the  -\b-o\bo  h\bhi\bis\bst\bto\bor\bry\by  option to the s\bse\bet\bt builtin is enabled, the shell
+       When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin  is  enabled,  the  shell
        provides access to the _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bh_\bi_\bs_\bt_\bo_\br_\by, the list of commands previously
-       typed.   The  value  of  the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
+       typed.  The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used  as  the  number  of
        commands to save in a history list.  The text of the last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE com-
-       mands  (default  500)  is  saved.  The shell stores each command in the
-       history list prior to parameter and variable expansion  (see  E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       above)  but after history expansion is performed, subject to the values
+       mands (default 500) is saved.  The shell stores  each  command  in  the
+       history  list  prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
+       above) but after history expansion is performed, subject to the  values
        of the shell variables H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE and H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
 
        On startup, the history is initialized from the file named by the vari-
-       able  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  The file named by the value
-       of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain  no  more  than  the
-       number  of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE.  When the his-
-       tory file is read, lines beginning with the history  comment  character
-       followed  immediately  by a digit are interpreted as timestamps for the
-       preceding history line.   These  timestamps  are  optionally  displayed
-       depending  on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.  When an inter-
-       active shell exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from  the  his-
+       able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by).  The file named by  the  value
+       of  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  is  truncated,  if necessary, to contain no more than the
+       number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE.  When the  his-
+       tory  file  is read, lines beginning with the history comment character
+       followed immediately by a digit are interpreted as timestamps  for  the
+       preceding  history  line.   These  timestamps  are optionally displayed
+       depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable.  When an  inter-
+       active  shell  exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from the his-
        tory list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE.  If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell option is enabled (see
        the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the lines
-       are  appended  to the history file, otherwise the history file is over-
-       written.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset, or if the history file  is  unwritable,
-       the  history is not saved.  If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, time
+       are appended to the history file, otherwise the history file  is  over-
+       written.   If  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset, or if the history file is unwritable,
+       the history is not saved.  If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set,  time
        stamps are written to the history file, marked with the history comment
-       character,  so  they may be preserved across shell sessions.  This uses
+       character, so they may be preserved across shell sessions.   This  uses
        the history comment character to distinguish timestamps from other his-
        tory lines.  After saving the history, the history file is truncated to
-       contain no more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is  not  set,
+       contain  no  more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines.  If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is not set,
        no truncation is performed.
 
-       The  builtin  command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may be used
+       The builtin command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may  be  used
        to list or edit and re-execute a portion of the history list.  The h\bhi\bis\bs-\b-
-       t\bto\bor\bry\b builtin  may  be  used  to display or modify the history list and
-       manipulate the history file.  When using command-line  editing,  search
-       commands  are available in each editing mode that provide access to the
+       t\bto\bor\bry\bbuiltin may be used to display or  modify  the  history  list  and
+       manipulate  the  history file.  When using command-line editing, search
+       commands are available in each editing mode that provide access to  the
        history list.
 
-       The shell allows control over which commands are saved on  the  history
+       The  shell  allows control over which commands are saved on the history
        list.  The H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables may be set to cause the
        shell to save only a subset of the commands entered.  The c\bcm\bmd\bdh\bhi\bis\bst\bt shell
-       option,  if enabled, causes the shell to attempt to save each line of a
-       multi-line command in the same history entry, adding  semicolons  where
-       necessary  to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell option
-       causes the shell to save the command with embedded newlines instead  of
+       option, if enabled, causes the shell to attempt to save each line of  a
+       multi-line  command  in the same history entry, adding semicolons where
+       necessary to preserve syntactic correctness.  The l\bli\bit\bth\bhi\bis\bst\bt shell  option
+       causes  the shell to save the command with embedded newlines instead of
        semicolons.  See the description of the s\bsh\bho\bop\bpt\bt builtin below under S\bSH\bHE\bEL\bLL\bL
        B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  for  information  on  setting  and  unsetting  shell
        options.
 
 H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       The  shell  supports a history expansion feature that is similar to the
-       history expansion in c\bcs\bsh\bh.\b.  This section describes what syntax  features
-       are  available.   This  feature  is  enabled by default for interactive
+       The shell supports a history expansion feature that is similar  to  the
+       history  expansion in c\bcs\bsh\bh.\b.  This section describes what syntax features
+       are available.  This feature is  enabled  by  default  for  interactive
        shells, and can be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  Non-interactive shells do not
        perform history expansion by default.
 
        History expansions introduce words from the history list into the input
-       stream,  making  it  easy to repeat commands, insert the arguments to a
+       stream, making it easy to repeat commands, insert the  arguments  to  a
        previous command into the current input line, or fix errors in previous
        commands quickly.
 
-       History  expansion  is  performed  immediately after a complete line is
-       read, before the shell breaks it into words.  It  takes  place  in  two
-       parts.   The  first is to determine which line from the history list to
+       History expansion is performed immediately after  a  complete  line  is
+       read,  before  the  shell  breaks it into words.  It takes place in two
+       parts.  The first is to determine which line from the history  list  to
        use during substitution.  The second is to select portions of that line
        for inclusion into the current one.  The line selected from the history
-       is the _\be_\bv_\be_\bn_\bt, and the portions of that line that  are  acted  upon  are
-       _\bw_\bo_\br_\bd_\bs.   Various  _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs  are  available  to manipulate the selected
+       is  the  _\be_\bv_\be_\bn_\bt,  and  the portions of that line that are acted upon are
+       _\bw_\bo_\br_\bd_\bs.  Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are  available  to  manipulate  the  selected
        words.  The line is broken into words in the same fashion as when read-
-       ing  input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br-separated words surrounded by
-       quotes are considered one word.  History expansions are  introduced  by
-       the  appearance  of  the  history  expansion  character,  which is !\b! by
-       default.  Only backslash (\\b\) and single quotes can  quote  the  history
+       ing input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br-separated words surrounded  by
+       quotes  are  considered one word.  History expansions are introduced by
+       the appearance of the  history  expansion  character,  which  is  !\b by
+       default.   Only  backslash  (\\b\) and single quotes can quote the history
        expansion character.
 
-       Several  characters inhibit history expansion if found immediately fol-
-       lowing the history expansion character, even if it is unquoted:  space,
-       tab,  newline,  carriage return, and =\b=.  If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is
+       Several characters inhibit history expansion if found immediately  fol-
+       lowing  the history expansion character, even if it is unquoted: space,
+       tab, newline, carriage return, and =\b=.  If the e\bex\bxt\btg\bgl\blo\bob\bb shell  option  is
        enabled, (\b( will also inhibit expansion.
 
-       Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin may  be  used  to
-       tailor  the  behavior  of  history  expansion.  If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell
+       Several  shell  options  settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
+       tailor the behavior of history  expansion.   If  the  h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\b shell
        option is enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin below), and
-       r\bre\bea\bad\bdl\bli\bin\bne\b is  being  used,  history  substitutions  are not immediately
-       passed to the shell parser.  Instead, the  expanded  line  is  reloaded
+       r\bre\bea\bad\bdl\bli\bin\bne\bis being  used,  history  substitutions  are  not  immediately
+       passed  to  the  shell  parser.  Instead, the expanded line is reloaded
        into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for further modification.  If r\bre\bea\bad\bdl\bli\bin\bne\be
-       is being used, and the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option  is  enabled,  a  failed
-       history  substitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer
-       for correction.  The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin  command  may  be
-       used  to  see what a history expansion will do before using it.  The -\b-s\bs
+       is  being  used,  and  the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed
+       history substitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing  buffer
+       for  correction.   The  -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command may be
+       used to see what a history expansion will do before using it.   The  -\b-s\bs
        option to the h\bhi\bis\bst\bto\bor\bry\by builtin may be used to add commands to the end of
-       the  history  list  without  actually  executing them, so that they are
+       the history list without actually executing  them,  so  that  they  are
        available for subsequent recall.
 
-       The shell allows control of the various characters used by the  history
+       The  shell allows control of the various characters used by the history
        expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
-       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).  The shell uses the history comment character to mark  his-
+       V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs).   The shell uses the history comment character to mark his-
        tory timestamps when writing the history file.
 
    E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       An  event designator is a reference to a command line entry in the his-
-       tory list.  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 postition
-              in  the  history  list containing _\bs_\bt_\br_\bi_\bn_\bg.  The trailing ?\b? may be
+              in the history list containing _\bs_\bt_\br_\bi_\bn_\bg.  The trailing  ?\b?  may  be
               omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a newline.
        ^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b1^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b2^\b^
-              Quick substitution.   Repeat  the  previous  command,  replacing
-              _\bs_\bt_\br_\bi_\bn_\bg_\b with  _\bs_\bt_\br_\bi_\bn_\bg_\b2.  Equivalent to ``!!:s/_\bs_\bt_\br_\bi_\bn_\bg_\b1/_\bs_\bt_\br_\bi_\bn_\bg_\b2/''
+              Quick  substitution.   Repeat  the  previous  command, replacing
+              _\bs_\bt_\br_\bi_\bn_\bg_\bwith _\bs_\bt_\br_\bi_\bn_\bg_\b2.  Equivalent  to  ``!!:s/_\bs_\bt_\br_\bi_\bn_\bg_\b1/_\bs_\bt_\br_\bi_\bn_\bg_\b2/''
               (see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
        !\b!#\b#     The entire command line typed so far.
 
    W\bWo\bor\brd\bd D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
-       Word designators are used to select desired words from the event.  A  :\b:
-       separates  the event specification from the word designator.  It may be
-       omitted if the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or  %\b%.   Words
-       are  numbered from the beginning of the line, with the first word being
-       denoted by 0 (zero).  Words are inserted into the  current  line  sepa-
+       Word  designators are used to select desired words from the event.  A :\b:
+       separates the event specification from the word designator.  It may  be
+       omitted  if  the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or %\b%.  Words
+       are numbered from the beginning of the line, with the first word  being
+       denoted  by  0  (zero).  Words are inserted into the current line sepa-
        rated by single spaces.
 
        0\b0 (\b(z\bze\ber\bro\bo)\b)
@@ -3682,17 +3685,17 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        $\b$      The last argument.
        %\b%      The word matched by the most recent `?_\bs_\bt_\br_\bi_\bn_\bg?' search.
        _\bx-\b-_\by    A range of words; `-_\by' abbreviates `0-_\by'.
-       *\b*      All  of  the words but the zeroth.  This is a synonym for `_\b1_\b-_\b$'.
-              It is not an error to use *\b* if there is just  one  word  in  the
+       *\b*      All of the words but the zeroth.  This is a synonym  for  `_\b1_\b-_\b$'.
+              It  is  not  an  error to use *\b* if there is just one word in the
               event; the empty string is returned in that case.
        x\bx*\b*     Abbreviates _\bx_\b-_\b$.
        x\bx-\b-     Abbreviates _\bx_\b-_\b$ like x\bx*\b*, but omits the last word.
 
-       If  a  word  designator is supplied without an event specification, the
+       If a word designator is supplied without an  event  specification,  the
        previous command is used as the event.
 
    M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
-       After the optional word designator, there may appear a sequence of  one
+       After  the optional word designator, there may appear a sequence of one
        or more of the following modifiers, each preceded by a `:'.
 
        h\bh      Remove a trailing filename component, leaving only the head.
@@ -3701,74 +3704,74 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        e\be      Remove all but the trailing suffix.
        p\bp      Print the new command but do not execute it.
        q\bq      Quote the substituted words, escaping further substitutions.
-       x\bx      Quote the substituted words as with q\bq, but break into  words  at
+       x\bx      Quote  the  substituted words as with q\bq, but break into words at
               b\bbl\bla\ban\bnk\bks\bs and newlines.
        s\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/
-              Substitute  _\bn_\be_\bw  for  the  first  occurrence of _\bo_\bl_\bd in the event
-              line.  Any delimiter can be used  in  place  of  /.   The  final
-              delimiter  is  optional if it is the last character of the event
-              line.  The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with a  single
-              backslash.   If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd.  A sin-
-              gle backslash will quote the &.  If _\bo_\bl_\bd is null, it  is  set  to
-              the  last  _\bo_\bl_\bd substituted, or, if no previous history substitu-
+              Substitute _\bn_\be_\bw for the first occurrence  of  _\bo_\bl_\bd  in  the  event
+              line.   Any  delimiter  can  be  used  in place of /.  The final
+              delimiter is optional if it is the last character of  the  event
+              line.   The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with a single
+              backslash.  If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd.  A  sin-
+              gle  backslash  will  quote the &.  If _\bo_\bl_\bd is null, it is set to
+              the last _\bo_\bl_\bd substituted, or, if no previous  history  substitu-
               tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]  search.
        &\b&      Repeat the previous substitution.
        g\bg      Cause changes to be applied over the entire event line.  This is
-              used  in  conjunction  with `:\b:s\bs' (e.g., `:\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/') or `:\b:&\b&'.
-              If used with `:\b:s\bs', any delimiter can be used in place of /,  and
-              the  final  delimiter is optional if it is the last character of
+              used in conjunction with `:\b:s\bs' (e.g.,  `:\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/')  or  `:\b:&\b&'.
+              If  used with `:\b:s\bs', any delimiter can be used in place of /, and
+              the final delimiter is optional if it is the last  character  of
               the event line.  An a\ba may be used as a synonym for g\bg.
-       G\bG      Apply the following `s\bs' modifier once to each word in the  event
+       G\bG      Apply  the following `s\bs' modifier once to each word in the event
               line.
 
 S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        Unless otherwise noted, each builtin command documented in this section
        as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
-       options.   The  :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not accept options
+       options.  The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not  accept  options
        and do not treat -\b--\b- specially.  The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, b\bbr\bre\bea\bak\bk, c\bco\bon\bnt\bti\bin\bnu\bue\be, l\ble\bet\bt,
-       and  s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning with -\b- with-
-       out requiring -\b--\b-.  Other builtins that accept  arguments  but  are  not
-       specified  as accepting options interpret arguments beginning with -\b- as
+       and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning with -\b with-
+       out  requiring  -\b--\b-.   Other  builtins that accept arguments but are not
+       specified as accepting options interpret arguments beginning with -\b as
        invalid options and require -\b--\b- to prevent this interpretation.
        :\b: [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              No effect; the command does nothing beyond  expanding  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
-              and  performing any specified redirections.  A zero exit code is
+              No  effect;  the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
+              and performing any specified redirections.  A zero exit code  is
               returned.
 
         .\b.  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
        s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  in  the  current  shell
-              environment  and return the exit status of the last command exe-
-              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
+              Read  and  execute  commands  from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell
+              environment and return the exit status of the last command  exe-
+              cuted  from  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.   If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  does not contain a slash,
+              filenames in P\bPA\bAT\bTH\bH are used  to  find  the  directory  containing
               _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH need not be executable.
-              When  b\bba\bas\bsh\bh  is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current directory is
-              searched if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\b option
-              to  the  s\bsh\bho\bop\bpt\bt  builtin  command  is turned off, the P\bPA\bAT\bTH\bH is not
-              searched.  If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the  posi-
-              tional  parameters  when  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  is  executed.  Otherwise the
-              positional parameters are unchanged.  The return status  is  the
-              status  of  the  last  command exited within the script (0 if no
-              commands are executed), and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is  not  found  or
+              When b\bba\bas\bsh\bh is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current  directory  is
+              searched  if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option
+              to the s\bsh\bho\bop\bpt\bt builtin command is turned  off,  the  P\bPA\bAT\bTH\bH  is  not
+              searched.   If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the posi-
+              tional parameters when  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  is  executed.   Otherwise  the
+              positional  parameters  are unchanged.  The return status is the
+              status of the last command exited within the  script  (0  if  no
+              commands  are  executed),  and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or
               cannot be read.
 
        a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
               A\bAl\bli\bia\bas\bs with no arguments or with the -\b-p\bp option prints the list of
-              aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard  output.   When
-              arguments  are supplied, an alias is defined for each _\bn_\ba_\bm_\be whose
+              aliases  in  the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output.  When
+              arguments are supplied, an alias is defined for each _\bn_\ba_\bm_\b whose
               _\bv_\ba_\bl_\bu_\be is given.  A trailing space in  _\bv_\ba_\bl_\bu_\be causes the next word
               to be checked for alias substitution when the alias is expanded.
-              For each _\bn_\ba_\bm_\be in the argument list for which no  _\bv_\ba_\bl_\bu_\be  is  sup-
-              plied,  the  name  and  value  of  the  alias is printed.  A\bAl\bli\bia\bas\bs
-              returns true unless a _\bn_\ba_\bm_\be is given for which no alias has  been
+              For  each  _\bn_\ba_\bm_\be  in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
+              plied, the name and  value  of  the  alias  is  printed.   A\bAl\bli\bia\bas\bs
+              returns  true unless a _\bn_\ba_\bm_\be is given for which no alias has been
               defined.
 
        b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Resume  each  suspended  job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
+              Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background,  as  if  it
               had been started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
-              notion  of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
-              run when job control is disabled or, when run with  job  control
-              enabled,  any  specified  _\bj_\bo_\bb_\bs_\bp_\be_\bc  was  not found or was started
+              notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0  unless
+              run  when  job control is disabled or, when run with job control
+              enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was  not  found  or  was  started
               without job control.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bV]
@@ -3777,28 +3780,28 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] _\bk_\be_\by_\bs_\be_\bq:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
        b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
-              Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind  a  key
-              sequence  to  a  r\bre\bea\bad\bdl\bli\bin\bne\be  function  or macro, or set a r\bre\bea\bad\bdl\bli\bin\bne\be
-              variable.  Each non-option argument is a  command  as  it  would
-              appear  in  _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be passed
-              as a separate argument; e.g.,  '"\C-x\C-r":  re-read-init-file'.
+              Display  current  r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
+              sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or  macro,  or  set  a  r\bre\bea\bad\bdl\bli\bin\bne\be
+              variable.   Each  non-option  argument  is a command as it would
+              appear in _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must  be  passed
+              as  a  separate argument; e.g., '"\C-x\C-r": re-read-init-file'.
               Options, if supplied, have the following meanings:
               -\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
                      Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
                      bindings.  Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
-                     _\bd_\ba_\br_\bd_\b _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
-                     and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\b is
+                     _\bd_\ba_\br_\bd_\b_\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b,  _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+                     and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
                      equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.
               -\b-l\bl     List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
-              -\b-p\bp     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  function  names and bindings in such a
+              -\b-p\bp     Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings  in  such  a
                      way that they can be re-read.
               -\b-P\bP     List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
-              -\b-s\bs     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
-                     strings  they  output  in such a way that they can be re-
+              -\b-s\bs     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
+                     strings they output in such a way that they  can  be  re-
                      read.
-              -\b-S\bS     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
+              -\b-S\bS     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
                      strings they output.
-              -\b-v\bv     Display  r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
+              -\b-v\bv     Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a  way
                      that they can be re-read.
               -\b-V\bV     List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
               -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
@@ -3810,157 +3813,157 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br _\bk_\be_\by_\bs_\be_\bq
                      Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
               -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:\b:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                     Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be  executed  whenever  _\bk_\be_\by_\bs_\be_\b is
-                     entered.   When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets
-                     the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of  the  r\bre\bea\bad\bd-\b-
-                     l\bli\bin\bne\b line  buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT variable to the
+                     Cause  _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd  to  be  executed whenever _\bk_\be_\by_\bs_\be_\bq is
+                     entered.  When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell  sets
+                     the  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  variable to the contents of the r\bre\bea\bad\bd-\b-
+                     l\bli\bin\bne\bline buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT variable  to  the
                      current location of the insertion point.  If the executed
-                     command  changes  the  value  of  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  or R\bRE\bEA\bAD\bD-\b-
-                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, those new values will  be  reflected  in  the
+                     command changes  the  value  of  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE  or  R\bRE\bEA\bAD\bD-\b-
+                     L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT,  those  new  values  will be reflected in the
                      editing state.
 
-              The  return value is 0 unless an unrecognized option is given or
+              The return value is 0 unless an unrecognized option is given  or
               an error occurred.
 
        b\bbr\bre\bea\bak\bk [_\bn]
-              Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If  _\b is
-              specified,  break  _\bn  levels.   _\bn must be >= 1.  If _\bn is greater
-              than the number of enclosing  loops,  all  enclosing  loops  are
-              exited.   The  return value is 0 unless _\bn is not greater than or
+              Exit  from  within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If _\bn is
+              specified, break _\bn levels.  _\bn must be >= 1.   If  _\bn  is  greater
+              than  the  number  of  enclosing  loops, all enclosing loops are
+              exited.  The return value is 0 unless _\bn is not greater  than  or
               equal to 1.
 
        b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Execute the specified shell builtin, passing it  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs,  and
+              Execute  the  specified shell builtin, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
               return its exit status.  This is useful when defining a function
-              whose name is the same as a shell builtin, retaining  the  func-
+              whose  name  is the same as a shell builtin, retaining the func-
               tionality of the builtin within the function.  The c\bcd\bd builtin is
-              commonly redefined this way.  The  return  status  is  false  if
+              commonly  redefined  this  way.   The  return status is false if
               _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
 
        c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
               Returns the context of any active subroutine call (a shell func-
               tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins).  With-
               out _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source filename of
-              the current subroutine call.  If a non-negative integer is  sup-
+              the  current subroutine call.  If a non-negative integer is sup-
               plied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine name,
-              and source file corresponding to that position  in  the  current
-              execution  call  stack.  This extra information may be used, for
-              example, to print a stack trace.  The current frame is frame  0.
-              The  return  value is 0 unless the shell is not executing a sub-
-              routine call or _\be_\bx_\bp_\br does not correspond to a valid position  in
+              and  source  file  corresponding to that position in the current
+              execution call stack.  This extra information may be  used,  for
+              example,  to print a stack trace.  The current frame is frame 0.
+              The return value is 0 unless the shell is not executing  a  sub-
+              routine  call or _\be_\bx_\bp_\br does not correspond to a valid position in
               the call stack.
 
        c\bcd\bd [-\b-L\bL|[-\b-P\bP [-\b-e\be]]] [_\bd_\bi_\br]
-              Change  the  current directory to _\bd_\bi_\br.  The variable H\bHO\bOM\bME\bE is the
-              default _\bd_\bi_\br.  The variable C\bCD\bDP\bPA\bAT\bTH\bH defines the  search  path  for
-              the  directory  containing  _\bd_\bi_\br.  Alternative directory names in
-              C\bCD\bDP\bPA\bAT\bTH\bare separated by a colon (:).  A null directory  name  in
-              C\bCD\bDP\bPA\bAT\bTH\b is  the  same as the current directory, i.e., ``.\b.''.  If
-              _\bd_\bi_\bbegins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is  not  used.  The  -\b-P\bP
-              option  says  to use the physical directory structure instead of
-              following symbolic links (see also the  -\b-P\bP  option  to  the  s\bse\bet\bt
+              Change the current directory to _\bd_\bi_\br.  The variable H\bHO\bOM\bME\bE  is  the
+              default  _\bd_\bi_\br.   The  variable C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for
+              the directory containing _\bd_\bi_\br.  Alternative  directory  names  in
+              C\bCD\bDP\bPA\bAT\bTH\b are  separated by a colon (:).  A null directory name in
+              C\bCD\bDP\bPA\bAT\bTH\bis the same as the current directory,  i.e.,  ``.\b.''.   If
+              _\bd_\bi_\b begins  with  a  slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not used. The -\b-P\bP
+              option says to use the physical directory structure  instead  of
+              following  symbolic  links  (see  also  the -\b-P\bP option to the s\bse\bet\bt
               builtin command); the -\b-L\bL option forces symbolic links to be fol-
-              lowed.  If the -\b-e\be option is supplied with -\b-P\bP,  and  the  current
+              lowed.   If  the  -\b-e\be option is supplied with -\b-P\bP, and the current
               working directory cannot be successfully determined after a suc-
               cessful directory change, c\bcd\bd will return an unsuccessful status.
-              An  argument  of  -\b- is converted 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
+              An argument of -\b- is converted 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 absolute pathname of the new  working  direc-
-              tory  is  written  to  the standard output.  The return value is
+              is  successful,  the absolute pathname of the new working direc-
+              tory is written to the standard output.   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
-              lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\b are
-              executed.   If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
-              performed using a default value for P\bPA\bAT\bTH\bH that is  guaranteed  to
-              find  all  of  the  standard  utilities.  If either the -\b-V\bV or -\b-v\bv
+              Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs  suppressing  the  normal  shell  function
+              lookup.  Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
+              executed.  If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\b is
+              performed  using  a default value for P\bPA\bAT\bTH\bH that is guaranteed to
+              find all of the standard utilities.  If  either  the  -\b-V\bV  or  -\b-v\bv
               option is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.  The -\b-v\bv
-              option  causes  a single word indicating the command or filename
+              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 [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
-              Generate  possible  completion matches for _\bw_\bo_\br_\bd according to the
-              _\bo_\bp_\bt_\bi_\bo_\bns, which may  be  any  option  accepted  by  the  c\bco\bom\bmp\bpl\ble\bet\bte\be
-              builtin  with  the exception of -\b-p\bp and -\b-r\br, and write the matches
-              to the standard output.  When using the -\b-F\bF or  -\b-C\bC  options,  the
-              various  shell  variables  set  by  the  programmable completion
+              Generate possible completion matches for _\bw_\bo_\br_\bd according  to  the
+              _\bo_\bp_\bt_\bi_\bo_\bns,  which  may  be  any  option  accepted  by the c\bco\bom\bmp\bpl\ble\bet\bte\be
+              builtin with the exception of -\b-p\bp and -\b-r\br, and write  the  matches
+              to  the  standard  output.  When using the -\b-F\bF or -\b-C\bC options, the
+              various shell  variables  set  by  the  programmable  completion
               facilities, while available, will not have useful values.
 
-              The matches will be generated in the same way  as  if  the  pro-
-              grammable  completion  code  had  generated them directly from a
+              The  matches  will  be  generated in the same way as if the pro-
+              grammable completion code had generated  them  directly  from  a
               completion specification with the same flags.  If _\bw_\bo_\br_\bd is speci-
               fied, only those completions matching _\bw_\bo_\br_\bd will be displayed.
 
-              The  return  value is true unless an invalid option is supplied,
+              The return value is true unless an invalid option  is  supplied,
               or no matches were generated.
 
-       c\bco\bom\bmp\bpl\ble\bet\bte\b[-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]  [-\b-G\b _\bg_\bl_\bo_\bb_\b-
+       c\bco\bom\bmp\bpl\ble\bet\bte\b [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv]  [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\b-
        _\bp_\ba_\bt] [-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-D\bDE\bE] [_\bn_\ba_\bm_\be ...]
-              Specify how arguments to each _\bn_\ba_\bm_\be should be completed.  If  the
-              -\b-p\b option  is supplied, or if no options are supplied, existing
-              completion specifications are printed in a way that allows  them
+              Specify  how arguments to each _\bn_\ba_\bm_\be should be completed.  If the
+              -\b-p\boption is supplied, or if no options are  supplied,  existing
+              completion  specifications are printed in a way that allows them
               to be reused as input.  The -\b-r\br option removes a completion spec-
-              ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all  com-
+              ification  for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
               pletion  specifications.   The  -\b-D\bD  option  indicates  that  the
-              remaining options and actions should apply  to  the  ``default''
-              command  completion;  that is, completion attempted on a command
-              for which no completion has previously  been  defined.   The  -\b-E\bE
-              option  indicates  that the remaining options and actions should
-              apply to  ``empty''  command  completion;  that  is,  completion
+              remaining  options  and  actions should apply to the ``default''
+              command completion; that is, completion attempted on  a  command
+              for  which  no  completion  has previously been defined.  The -\b-E\bE
+              option indicates that the remaining options and  actions  should
+              apply  to  ``empty''  command  completion;  that  is, completion
               attempted on a blank line.
 
-              The  process  of  applying  these completion specifications when
-              word completion is  attempted  is  described  above  under  P\bPr\bro\bo-\b-
+              The process of applying  these  completion  specifications  when
+              word  completion  is  attempted  is  described  above under P\bPr\bro\bo-\b-
               g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other  options,  if specified, have the following meanings.  The
-              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
-              -\b-P\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\bos\bsp\bpa\bac\bce\be Tell  readline  not  to  append  a  space   (the
-                              default)  to  words  completed at the end of the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell   readline  not  to  append  a  space  (the
+                              default) to words completed at the  end  of  the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After any matches defined by  the  compspec  are
-                              generated,    directory   name   completion   is
-                              attempted and  any  matches  are  added  to  the
+                              After  any  matches  defined by the compspec are
+                              generated,   directory   name   completion    is
+                              attempted  and  any  matches  are  added  to the
                               results of the other actions.
               -\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
-                      The  _\ba_\bc_\bt_\bi_\bo_\bn  may  be  one of the following to generate a
+                      The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the  following  to  generate  a
                       list of possible completions:
                       a\bal\bli\bia\bas\bs   Alias names.  May also be specified as -\b-a\ba.
                       a\bar\brr\bra\bay\byv\bva\bar\br
                               Array variable names.
                       b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
-                      b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands.   May  also  be
+                      b\bbu\bui\bil\blt\bti\bin\bn Names  of  shell  builtin commands.  May also be
                               specified as -\b-b\bb.
                       c\bco\bom\bmm\bma\ban\bnd\bd Command names.  May also be specified as -\b-c\bc.
                       d\bdi\bir\bre\bec\bct\bto\bor\bry\by
@@ -3968,7 +3971,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
@@ -3977,17 +3980,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.
@@ -3996,175 +3999,175 @@ 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_\bis executed in a subshell environment,  and  its
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
                       output is used as the possible completions.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
-                      shell environment.  When it finishes, the possible  com-
-                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
+                      shell  environment.  When it finishes, the possible com-
+                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
+                      The  pathname  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
                       generate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
+                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
-                      special variable as delimiters, and each resultant  word
-                      is  expanded.   The possible completions are the members
-                      of the resultant list which match the  word  being  com-
+                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
+                      special  variable as delimiters, and each resultant word
+                      is expanded.  The possible completions are  the  members
+                      of  the  resultant  list which match the word being com-
                       pleted.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
                       It is applied to the list of possible completions gener-
-                      ated  by  the  preceding options and arguments, and each
-                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
-                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
-                      case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is  removed.
-
-              The  return  value is true unless an invalid option is supplied,
-              an option other than -\b-p\bp or -\b-r\br is supplied without a  _\bn_\ba_\bm_\b argu-
-              ment,  an  attempt  is made to remove a completion specification
+                      ated by the preceding options and  arguments,  and  each
+                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
+                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
+                      case,  any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
+
+              The return value is true unless an invalid option  is  supplied,
+              an  option  other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
+              ment, an attempt is made to remove  a  completion  specification
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
               Modify  completion  options  for  each  _\bn_\ba_\bm_\be  according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns, or for the currently-executing completion if  no  _\bn_\ba_\bm_\bes
-              are  supplied.   If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion
-              options for each _\bn_\ba_\bm_\be or the current completion.   The  possible
-              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin
-              described above.  The -\b-D\bD option  indicates  that  the  remaining
+              _\bo_\bp_\bt_\bi_\bo_\bns,  or  for the currently-executing completion if no _\bn_\ba_\bm_\bes
+              are supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display  the  completion
+              options  for  each _\bn_\ba_\bm_\be or the current completion.  The possible
+              values of _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the  c\bco\bom\bmp\bpl\ble\bet\bte\b builtin
+              described  above.   The  -\b-D\bD  option indicates that the remaining
               options should apply to the ``default'' command completion; that
-              is, completion attempted on a command for  which  no  completion
-              has  previously  been defined.  The -\b-E\bE option indicates that the
-              remaining options should apply to ``empty'' command  completion;
+              is,  completion  attempted  on a command for which no completion
+              has previously been defined.  The -\b-E\bE option indicates  that  the
+              remaining  options should apply to ``empty'' command completion;
               that is, completion attempted on a blank line.
 
-              The  return  value is true unless an invalid option is supplied,
+              The return value is true unless an invalid option  is  supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
-              loop.   _\bn  must  be  >=  1.   If _\bn is greater than the number of
-              enclosing loops, the  last  enclosing  loop  (the  ``top-level''
+              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
+              loop.  _\bn must be >= 1.  If _\bn  is  greater  than  the  number  of
+              enclosing  loops,  the  last  enclosing  loop (the ``top-level''
               loop) is resumed.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
-              given  then display the values of variables.  The -\b-p\bp option will
+              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
+              given then display the values of variables.  The -\b-p\bp option  will
               display the attributes and values of each _\bn_\ba_\bm_\be.  When -\b-p\bp is used
               with _\bn_\ba_\bm_\be arguments, additional options are ignored.  When -\b-p\bp is
-              supplied without _\bn_\ba_\bm_\be arguments, it will display the  attributes
-              and  values  of all variables having the attributes specified by
-              the additional options.  If no other options are  supplied  with
-              -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all shell
-              variables.  The -\b-f\bf option will restrict  the  display  to  shell
+              supplied  without _\bn_\ba_\bm_\be arguments, it will display the attributes
+              and values of all variables having the attributes  specified  by
+              the  additional  options.  If no other options are supplied with
+              -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all  shell
+              variables.   The  -\b-f\bf  option  will restrict the display to shell
               functions.  The -\b-F\bF option inhibits the display of function defi-
-              nitions; only the function name and attributes are printed.   If
-              the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  shell  option  is enabled using s\bsh\bho\bop\bpt\bt, the source
+              nitions;  only the function name and attributes are printed.  If
+              the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled  using  s\bsh\bho\bop\bpt\bt,  the  source
               file name and line number where the function is defined are dis-
               played as well.  The -\b-F\bF option implies -\b-f\bf.  The -\b-g\bg option forces
-              variables to be created or modified at the  global  scope,  even
-              when  d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored in
-              all other cases.  The following options can be used to  restrict
-              output  to  variables  with  the  specified attribute or to give
+              variables  to  be  created or modified at the global scope, even
+              when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored  in
+              all  other cases.  The following options can be used to restrict
+              output to variables with the  specified  attribute  or  to  give
               variables attributes:
-              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
+                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
                      the variable is assigned a value.
-              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
-                     characters  are  converted to lower-case.  The upper-case
+              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
+                     characters are converted to lower-case.   The  upper-case
                      attribute is disabled.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
-              -\b-t\bt     Give  each  _\bn_\ba_\bm_\be  the  _\bt_\br_\ba_\bc_\be attribute.  Traced functions
-                     inherit the D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from  the  calling
-                     shell.   The  trace  attribute has no special meaning for
+              -\b-t\bt     Give each _\bn_\ba_\bm_\be the  _\bt_\br_\ba_\bc_\be  attribute.   Traced  functions
+                     inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from the calling
+                     shell.  The trace attribute has no  special  meaning  for
                      variables.
-              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
-                     characters  are  converted to upper-case.  The lower-case
+              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
+                     characters are converted to upper-case.   The  lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export  to  subsequent  commands  via  the
+              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes  for  export  to  subsequent commands via the
                      environment.
 
-              Using  `+'  instead of `-' turns off the attribute instead, with
+              Using `+' instead of `-' turns off the attribute  instead,  with
               the exceptions that +\b+a\ba may not be used to destroy an array vari-
-              able  and  +\b+r\br will not remove the readonly attribute.  When used
+              able and +\b+r\br will not remove the readonly attribute.   When  used
               in a function, 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 vari-
-              able name is followed by =_\bv_\ba_\bl_\bu_\be, the value of  the  variable  is
+              able  name  is  followed by =_\bv_\ba_\bl_\bu_\be, the value of the variable is
               set to _\bv_\ba_\bl_\bu_\be.  The return value is 0 unless an invalid option is
-              encountered, an attempt is made to define a function using  ``-f
-              foo=bar'',  an  attempt  is made to assign a value to a readonly
+              encountered,  an attempt is made to define a function using ``-f
+              foo=bar'', an attempt is made to assign a value  to  a  readonly
               variable, an attempt is made to assign a value to an array vari-
-              able  without  using  the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs
-              above), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name,  an
+              able without using the compound assignment  syntax  (see  A\bAr\brr\bra\bay\bys\bs
+              above),  one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, an
               attempt is made to turn off readonly status for a readonly vari-
-              able, an attempt is made to turn off array status for  an  array
-              variable,  or an attempt is made to display a non-existent func-
+              able,  an  attempt is made to turn off array status for an array
+              variable, or an attempt is made to display a non-existent  func-
               tion with -\b-f\bf.
 
        d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
-              Without options,  displays  the  list  of  currently  remembered
-              directories.   The  default  display  is  on  a single line with
-              directory names separated by spaces.  Directories are  added  to
-              the  list  with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd command removes
+              Without  options,  displays  the  list  of  currently remembered
+              directories.  The default display  is  on  a  single  line  with
+              directory  names  separated by spaces.  Directories are added to
+              the list with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd  command  removes
               entries from the list.
               -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
                      entries.
-              -\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 ...]
-              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 -\b-a\ba nor -\b-r\br is  sup-
+              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 -\b-a\ba nor -\b-r\br is sup-
               plied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the -\b-h\bh
               option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the table, but
-              is  marked  so  that  S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell
+              is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the  job  if  the  shell
               receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither the -\b-a\ba
-              nor  the  -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If no
-              _\bj_\bo_\bb_\bs_\bp_\be_\bis supplied, the -\b-a\ba option means to remove or  mark  all
-              jobs;  the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts opera-
-              tion to running jobs.  The return value is 0  unless  a  _\bj_\bo_\bb_\bs_\bp_\be_\bc
+              nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.   If  no
+              _\bj_\bo_\bb_\bs_\bp_\be_\b is  supplied, the -\b-a\ba option means to remove or mark all
+              jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts  opera-
+              tion  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\b is
+              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
+              The  return  status  is 0 unless a write error occurs.  If -\b-n\bn is
               specified, the trailing newline is 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
-              escape  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
+              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
+              escape 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
               sequences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -4177,189 +4180,189 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
+              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
+              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
+              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the Unicode (ISO/IEC 10646) character whose value is  the
+                     the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable  and disable builtin shell commands.  Disabling a builtin
+              Enable and disable builtin shell commands.  Disabling a  builtin
               allows a disk command which has the same name as a shell builtin
-              to  be  executed without specifying a full pathname, even though
-              the shell normally searches for builtins before  disk  commands.
-              If  -\b-n\bn  is  used,  each  _\bn_\ba_\bm_\be  is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
+              to be executed without specifying a full pathname,  even  though
+              the  shell  normally searches for builtins before disk commands.
+              If -\b-n\bn is used, each  _\bn_\ba_\bm_\be  is  disabled;  otherwise,  _\bn_\ba_\bm_\be_\b are
               enabled.  For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
-              instead  of  the  shell builtin version, run ``enable -n test''.
-              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
+              instead of the shell builtin version, run  ``enable  -n  test''.
+              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
-              The -\b-d\bd option will delete a builtin previously loaded  with  -\b-f\bf.
+              The  -\b-d\bd  option will delete a builtin previously loaded with -\b-f\bf.
               If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,
               a list of shell builtins is printed.  With no other option argu-
-              ments,  the  list consists of all enabled shell builtins.  If -\b-n\bn
-              is supplied, only disabled builtins are printed.  If -\b-a\ba is  sup-
-              plied,  the  list printed includes all builtins, with an indica-
-              tion of whether or not each is enabled.  If -\b-s\bs is supplied,  the
-              output  is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The return
-              value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there  is  an
+              ments, the list consists of all enabled shell builtins.   If  -\b-n\bn
+              is  supplied, only disabled builtins are printed.  If -\b-a\ba is sup-
+              plied, the list printed includes all builtins, with  an  indica-
+              tion  of whether or not each is enabled.  If -\b-s\bs is supplied, the
+              output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The  return
+              value  is  0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
               error loading a new builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
-              mand.  This command is then read and executed by the shell,  and
-              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
+              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
+              mand.   This command is then read and executed by the shell, and
+              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
-              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
+              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
+              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
-              ning  of  the  zeroth  argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what
+              ning of the zeroth argument passed to  _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   This  is  what
               _\bl_\bo_\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
-              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
+              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be executed for some reason, a non-interactive shell exits,
-              unless the 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
+              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.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redi-
               rections take effect in the current shell, and the return status
-              is 0.  If there is a redirection error, the return status is  1.
+              is  0.  If there is a redirection error, the return status is 1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
+              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
-              ronment of subsequently executed commands.  If the -\b-f\bf option  is
-              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
-              if the -\b-p\bp option is supplied, a list of 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).  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 other-
-              wise.  If _\bf_\bi_\br_\bs_\bt is not specified it is set to the previous  com-
+              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).   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_\b other-
+              wise.   If _\bf_\bi_\br_\bs_\bt is not specified it is set to the previous com-
               mand 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 intepreted 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 intepreted  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
-              invalid  option  is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
-              lines out of range.  If the -\b-e\be option is  supplied,  the  return
+              If  the  first  form  is  used,  the return value is 0 unless an
+              invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt  specify  history
+              lines  out  of  range.  If the -\b-e\be option is supplied, the return
               value is the value of the last command executed or failure if an
               error occurs with the temporary file of commands.  If the second
-              form  is  used, the return status is that of the command re-exe-
-              cuted, unless _\bc_\bm_\bd does not specify  a  valid  history  line,  in
+              form is used, the return status is that of the  command  re-exe-
+              cuted,  unless  _\bc_\bm_\bd  does  not  specify a valid history line, in
               which case f\bfc\bc returns failure.
 
        f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
-              Resume  _\bj_\bo_\bb_\bs_\bp_\be_\bc  in the foreground, and make it the current job.
+              Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the  current  job.
               If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
-              is  used.   The  return value is that of the command placed into
-              the foreground, or failure if run when job control  is  disabled
+              is used.  The return value is that of the  command  placed  into
+              the  foreground,  or failure if run when job control is disabled
               or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
-              ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies  a  job  that  was  started
+              ify  a  valid  job  or  _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
               without job control.
 
        g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg_\bs]
-              g\bge\bet\bto\bop\bpt\bts\b is used by shell procedures to parse positional parame-
-              ters.  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option  characters  to  be  recog-
-              nized;  if  a  character  is  followed by a colon, the option is
-              expected to have an argument, which should be separated from  it
-              by  white space.  The colon and question mark characters may not
-              be used as option characters.  Each time it is invoked,  g\bge\bet\bto\bop\bpt\bts\bs
-              places  the next option in the shell variable _\bn_\ba_\bm_\be, initializing
+              g\bge\bet\bto\bop\bpt\bts\bis used by shell procedures to parse positional  parame-
+              ters.   _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  contains  the  option characters to be recog-
+              nized; if a character is followed by  a  colon,  the  option  is
+              expected  to have an argument, which should be separated from it
+              by white space.  The colon and question mark characters may  not
+              be  used as option characters.  Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs
+              places the next option in the shell variable _\bn_\ba_\bm_\be,  initializing
               _\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
               be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to
-              1 each time the shell or a shell script  is  invoked.   When  an
-              option  requires  an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into
-              the variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\b automati-
-              cally;  it  must  be  manually  reset  between multiple calls to
+              1  each  time  the  shell or a shell script is invoked.  When an
+              option requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that  argument  into
+              the  variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automati-
+              cally; it must be  manually  reset  between  multiple  calls  to
               g\bge\bet\bto\bop\bpt\bts\bs within the same shell invocation if a new set of parame-
               ters is to be used.
 
-              When  the  end  of  options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a
-              return value greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the  index  of
+              When the end of options is encountered,  g\bge\bet\bto\bop\bpt\bts\bs  exits  with  a
+              return  value  greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of
               the first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
+              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
               arguments are given in _\ba_\br_\bg_\bs, g\bge\bet\bto\bop\bpt\bts\bs parses those instead.
 
-              g\bge\bet\bto\bop\bpt\bts\bcan report errors in two ways.  If the  first  character
-              of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
-              normal operation, diagnostic messages are printed  when  invalid
-              options  or  missing  option  arguments are encountered.  If the
-              variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
+              g\bge\bet\bto\bop\bpt\bts\b can  report errors in two ways.  If the first character
+              of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error  reporting  is  used.   In
+              normal  operation,  diagnostic messages are printed when invalid
+              options or missing option arguments  are  encountered.   If  the
+              variable  O\bOP\bPT\bTE\bER\bRR\bR  is  set  to  0, no error messages will be dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
 
               If an invalid option is seen, g\bge\bet\bto\bop\bpt\bts\bs places ? into _\bn_\ba_\bm_\be and, if
-              not  silent,  prints  an  error  message  and unsets O\bOP\bPT\bTA\bAR\bRG\bG.  If
-              g\bge\bet\bto\bop\bpt\bts\bis silent, the  option  character  found  is  placed  in
+              not silent, prints an  error  message  and  unsets  O\bOP\bPT\bTA\bAR\bRG\bG.   If
+              g\bge\bet\bto\bop\bpt\bts\b is  silent,  the  option  character  found is placed in
               O\bOP\bPT\bTA\bAR\bRG\bG and no diagnostic message is printed.
 
-              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
-              a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is  unset,  and  a
-              diagnostic  message  is  printed.   If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
-              colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG  is  set  to  the  option
+              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
+              a  question  mark  (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
+              diagnostic message is printed.  If g\bge\bet\bto\bop\bpt\bts\bs  is  silent,  then  a
+              colon  (:\b:)  is  placed  in  _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
+              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
               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
-              causes the shell to forget all  remembered  locations.   The  -\b-d\bd
-              option  causes  the  shell  to forget the remembered location of
-              each _\bn_\ba_\bm_\be.  If the -\b-t\bt option is supplied, the full  pathname  to
-              which  each _\bn_\ba_\bm_\be corresponds is printed.  If multiple _\bn_\ba_\bm_\be argu-
-              ments are supplied with -\b-t\bt,  the  _\bn_\ba_\bm_\be  is  printed  before  the
-              hashed  full  pathname.   The -\b-l\bl option causes output to be dis-
+              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
+              option causes the shell to forget  the  remembered  location  of
+              each  _\bn_\ba_\bm_\be.   If the -\b-t\bt option is supplied, the full pathname to
+              which each _\bn_\ba_\bm_\be corresponds is printed.  If multiple _\bn_\ba_\bm_\b argu-
+              ments  are  supplied  with  -\b-t\bt,  the  _\bn_\ba_\bm_\be is printed before the
+              hashed full pathname.  The -\b-l\bl option causes output  to  be  dis-
               played in a format that may be reused as input.  If no arguments
-              are  given,  or if only -\b-l\bl is supplied, information about remem-
-              bered commands is printed.  The return status is true  unless  a
+              are given, or if only -\b-l\bl is supplied, information  about  remem-
+              bered  commands  is printed.  The return status is true unless a
               _\bn_\ba_\bm_\be is not found or an invalid option is supplied.
 
        h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
-              Display  helpful information about builtin commands.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is specified, h\bhe\bel\blp\bp gives detailed help on all commands  matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn;  otherwise  help for all the builtins and shell control
+              Display helpful information about builtin commands.  If  _\bp_\ba_\bt_\bt_\be_\br_\bn
+              is  specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
+              _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and  shell  control
               structures is printed.
               -\b-d\bd     Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
               -\b-m\bm     Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
@@ -4376,44 +4379,44 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg _\b._\b._\b.]
               With no options, display the command history list with line num-
               bers.  Lines listed with a *\b* have been modified.  An argument of
-              _\b lists only the last _\bn lines.  If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
-              F\bFO\bOR\bRM\bMA\bAT\bis set and not null, it is used as a  format  string  for
-              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  to display the time stamp associated with each dis-
-              played history entry.  No intervening blank is  printed  between
-              the  formatted  time stamp and the history line.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
-              supplied, it is used as the name of the history  file;  if  not,
-              the  value  of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied, have the
+              _\blists only the last _\bn lines.  If the shell variable  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+              F\bFO\bOR\bRM\bMA\bAT\b is  set  and not null, it is used as a format string for
+              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each  dis-
+              played  history  entry.  No intervening blank is printed between
+              the formatted time stamp and the history line.  If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b is
+              supplied,  it  is  used as the name of the history file; if not,
+              the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied,  have  the
               following meanings:
               -\b-c\bc     Clear the history list by deleting all the entries.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
                      Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.
-              -\b-a\ba     Append the ``new'' history lines (history  lines  entered
-                     since  the  beginning of the current b\bba\bas\bsh\bh session) to the
+              -\b-a\ba     Append  the  ``new'' history lines (history lines entered
+                     since the beginning of the current b\bba\bas\bsh\bh session)  to  the
                      history file.
-              -\b-n\bn     Read the history lines not already read from the  history
-                     file  into  the  current  history  list.  These are lines
-                     appended to the history file since the beginning  of  the
+              -\b-n\bn     Read  the history lines not already read from the history
+                     file into the current  history  list.   These  are  lines
+                     appended  to  the history file since the beginning of the
                      current b\bba\bas\bsh\bh session.
-              -\b-r\br     Read  the contents of the history file and 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_\bs and
-                     display the result on  the  standard  output.   Does  not
-                     store  the results in the history list.  Each _\ba_\br_\bg must be
+              -\b-p\bp     Perform history substitution on the  following  _\ba_\br_\bg_\b and
+                     display  the  result  on  the  standard output.  Does not
+                     store the results in the history list.  Each _\ba_\br_\bg must  be
                      quoted to disable normal history expansion.
-              -\b-s\bs     Store the _\ba_\br_\bg_\bs in the history list  as  a  single  entry.
-                     The  last  command  in the history list is removed before
+              -\b-s\bs     Store  the  _\ba_\br_\bg_\bs  in  the history list as a single entry.
+                     The last command in the history list  is  removed  before
                      the _\ba_\br_\bg_\bs are added.
 
-              If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time  stamp  informa-
-              tion  associated  with each history entry is written to the his-
-              tory file, marked with the history comment character.  When  the
-              history  file  is read, lines beginning with the history comment
-              character followed immediately by a  digit  are  interpreted  as
+              If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
+              tion associated with each history entry is written to  the  his-
+              tory  file, marked with the history comment character.  When the
+              history file is read, lines beginning with the  history  comment
+              character  followed  immediately  by  a digit are interpreted as
               timestamps for the previous history line.  The return value is 0
-              unless an invalid option is encountered, an error  occurs  while
-              reading  or  writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt is sup-
+              unless  an  invalid option is encountered, an error occurs while
+              reading or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt  is  sup-
               plied as an argument to -\b-d\bd, or the history expansion supplied as
               an argument to -\b-p\bp fails.
 
@@ -4422,196 +4425,196 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-n\bn     Display information only about  jobs  that  have  changed
-                     status  since the user was last notified of their status.
-              -\b-p\bp     List only the process  ID  of  the  job's  process  group
+              -\b-n\bn     Display  information  only  about  jobs that have changed
+                     status since the user was last notified of their  status.
+              -\b-p\bp     List  only  the  process  ID  of  the job's process group
                      leader.
               -\b-r\br     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
-              _\bc_\bo_\bm_\bm_\ba_\bn_\bor _\ba_\br_\bg_\bs with the corresponding  process  group  ID,  and
+              _\bc_\bo_\bm_\bm_\ba_\bn_\b or  _\ba_\br_\bg_\bs  with  the corresponding process group ID, and
               executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd passing it _\ba_\br_\bg_\bs, returning its exit status.
 
        k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
        k\bki\bil\bll\bl -\b-l\bl [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
-              Send  the  signal  named  by  _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
-              named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either  a  case-insensitive
-              signal  name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
-              a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  not
-              present,  then  S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl lists the
-              signal names.  If any arguments are supplied when -\b-l\bl  is  given,
-              the  names  of  the  signals  corresponding to the arguments are
+              Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc  or  _\bs_\bi_\bg_\bn_\bu_\bm  to  the  processes
+              named  by  _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
+              signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix)  or
+              a  signal  number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
+              present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl  lists  the
+              signal  names.   If any arguments are supplied when -\b-l\bl is given,
+              the names of the signals  corresponding  to  the  arguments  are
               listed, and the return status is 0.  The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
-              -\b-l\b is  a  number  specifying either a signal number or the exit
-              status of a process terminated by a signal.  k\bki\bil\bll\bl  returns  true
-              if  at  least  one  signal was successfully sent, or false if an
+              -\b-l\bis a number specifying either a signal  number  or  the  exit
+              status  of  a process terminated by a signal.  k\bki\bil\bll\bl returns true
+              if at least one signal was successfully sent,  or  false  if  an
               error occurs or an invalid option is encountered.
 
        l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
               Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  above).   If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
+              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
               returns 1; 0 is returned otherwise.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              For each argument, a local variable named _\bn_\ba_\bm_\be is  created,  and
-              assigned  _\bv_\ba_\bl_\bu_\be.   The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
+              For  each  argument, a local variable named _\bn_\ba_\bm_\be is created, and
+              assigned _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the  options  accepted
               by d\bde\bec\bcl\bla\bar\bre\be.  When l\blo\boc\bca\bal\bl is used within a function, it causes the
-              variable  _\bn_\ba_\bm_\be  to have a visible scope restricted to that func-
+              variable _\bn_\ba_\bm_\be to have a visible scope restricted to  that  func-
               tion and its children.  With no operands, l\blo\boc\bca\bal\bl writes a list of
-              local  variables  to the standard output.  It is an error to use
+              local variables to the standard output.  It is an error  to  use
               l\blo\boc\bca\bal\bl when not within a function.  The return status is 0 unless
-              l\blo\boc\bca\bal\b is  used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
+              l\blo\boc\bca\bal\bis used outside a function, an invalid _\bn_\ba_\bm_\be  is  supplied,
               or _\bn_\ba_\bm_\be is a readonly variable.
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\b[-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu  _\bf_\bd]  [-\b-C\b _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+       m\bma\bap\bpf\bfi\bil\ble\b [-\b-n\bn  _\bc_\bo_\bu_\bn_\bt]  [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
        [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-       r\bre\bea\bad\bda\bar\brr\bra\bay\b[-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\b _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+       r\bre\bea\bad\bda\bar\brr\bra\bay\b [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\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-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
+              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
                      copied.
-              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
+              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
               -\b-t\bt     Remove a trailing newline from each line read.
-              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
+              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
                      dard input.
-              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
+              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify  the  number  of  lines read between each call to
+              -\b-c\bc     Specify the number of lines read  between  each  call  to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
-              If -\b-C\bC is specified without -\b-c\bc,  the  default  quantum  is  5000.
+              If  -\b-C\bC  is  specified  without  -\b-c\bc, the default quantum is 5000.
               When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
               array element to be assigned and the line to be assigned to that
-              element  as  additional  arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
+              element as additional arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk  is  evaluated  after
               the line is read but before the array element is assigned.
 
-              If not supplied with an  explicit  origin,  m\bma\bap\bpf\bfi\bil\ble\be  will  clear
+              If  not  supplied  with  an  explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear
               _\ba_\br_\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\b returns 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\breturns successfully unless an invalid option or  option
+              argument  is  supplied,  _\ba_\br_\br_\ba_\by is invalid or unassignable, or if
               _\ba_\br_\br_\ba_\by is not an indexed array.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
-              Removes  entries  from  the directory stack.  With no arguments,
-              removes the top directory from the stack, and performs a  c\bcd\b to
+              Removes entries from the directory stack.   With  no  arguments,
+              removes  the  top directory from the stack, and performs a c\bcd\bd to
               the new top directory.  Arguments, if supplied, have the follow-
               ing meanings:
-              -\b-n\bn     Suppresses the normal change of directory  when  removing
-                     directories  from  the  stack,  so that only the stack is
+              -\b-n\bn     Suppresses  the  normal change of directory when removing
+                     directories from the stack, so that  only  the  stack  is
                      manipulated.
-              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
+                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
                      +0'' removes the first directory, ``popd +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
-                     -0''  removes the last directory, ``popd -1'' the next to
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+                     -0'' removes the last directory, ``popd -1'' the next  to
                      last.
 
-              If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as  well,
-              and  the  return  status is 0.  p\bpo\bop\bpd\bd returns false if an invalid
+              If  the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
+              and the return status is 0.  p\bpo\bop\bpd\bd returns false  if  an  invalid
               option is encountered, the directory stack is empty, a non-exis-
               tent directory stack entry is specified, or the directory change
               fails.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
-              control  of  the  _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the output to be
-              assigned to the variable _\bv_\ba_\br rather than being  printed  to  the
+              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
+              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the  output  to  be
+              assigned  to  the  variable _\bv_\ba_\br rather than being printed to the
               standard output.
 
-              The  _\bf_\bo_\br_\bm_\ba_\bt  is a character string which contains three types of
-              objects: plain characters, which are simply copied  to  standard
-              output,  character  escape  sequences,  which  are converted and
-              copied to the standard output, and format  specifications,  each
-              of  which  causes  printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In
+              The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three  types  of
+              objects:  plain  characters, which are simply copied to standard
+              output, character escape  sequences,  which  are  converted  and
+              copied  to  the standard output, and format specifications, each
+              of which causes printing of the next  successive  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.   In
               addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(1) format specifications, p\bpr\bri\bin\bnt\btf\bf
               interprets the following extensions:
               %\b%b\bb     causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
                      corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt (except that \\b\c\bc terminates output,
-                     backslashes  in \\b\'\b', \\b\"\b", and \\b\?\b? are not removed, and octal
+                     backslashes in \\b\'\b', \\b\"\b", and \\b\?\b? are not removed, and  octal
                      escapes beginning with \\b\0\b0 may contain up to four digits).
-              %\b%q\bq     causes  p\bpr\bri\bin\bnt\btf\bf  to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
+              %\b%q\bq     causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt  in  a
                      format that can be reused as shell input.
               %\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
-                     causes p\bpr\bri\bin\bnt\btf\bf to output the  date-time  string  resulting
-                     from  using  _\bd_\ba_\bt_\be_\bf_\bm_\bt  as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+                     causes  p\bpr\bri\bin\bnt\btf\bf  to  output the date-time string resulting
+                     from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format  string  for  _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
                      The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
-                     number  of seconds since the epoch.  Two special argument
-                     values may be used: -1 represents the current  time,  and
+                     number of seconds since the epoch.  Two special  argument
+                     values  may  be used: -1 represents the current time, and
                      -2 represents the time the shell was invoked.
 
-              Arguments  to non-string format specifiers are treated as C con-
+              Arguments to non-string format specifiers are treated as C  con-
               stants, except that a leading plus or minus sign is allowed, and
-              if  the leading character is a single or double quote, the value
+              if the leading character is a single or double quote, the  value
               is the ASCII value of the following character.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all  of  the  _\ba_\br_\bg_\bu_\b-
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is  reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
               _\bm_\be_\bn_\bt_\bs.  If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
-              the extra format specifications behave as if  a  zero  value  or
-              null  string,  as  appropriate,  had  been supplied.  The return
+              the  extra  format  specifications  behave as if a zero value or
+              null string, as appropriate,  had  been  supplied.   The  return
               value is zero on success, non-zero on failure.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds a directory to the top of the directory stack,  or  rotates
-              the  stack,  making the new top of the stack the current working
+              Adds  a  directory to the top of the directory stack, or rotates
+              the stack, making the new top of the stack the  current  working
               directory.  With no arguments, exchanges the top two directories
-              and  returns 0, unless the directory stack is empty.  Arguments,
+              and returns 0, unless the directory stack is empty.   Arguments,
               if supplied, have the following meanings:
-              -\b-n\bn     Suppresses the normal change  of  directory  when  adding
-                     directories  to  the  stack,  so  that  only the stack is
+              -\b-n\bn     Suppresses  the  normal  change  of directory when adding
+                     directories to the stack,  so  that  only  the  stack  is
                      manipulated.
-              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
+              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
-              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
+              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
-                     new  current working directory as if it had been supplied
+                     new current working directory as if it had been  supplied
                      as the argument to the c\bcd\bd builtin.
 
               If the p\bpu\bus\bsh\bhd\bd command is successful, a d\bdi\bir\brs\bs is performed as well.
-              If  the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
-              fails.  With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the  direc-
-              tory  stack  is empty, a non-existent directory stack element is
-              specified, or the directory change to the specified new  current
+              If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to  _\bd_\bi_\br
+              fails.   With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
+              tory stack is empty, a non-existent directory stack  element  is
+              specified,  or the directory change to the specified new current
               directory fails.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print  the  absolute  pathname of the current working directory.
+              Print the absolute pathname of the  current  working  directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
-              contain  symbolic links.  The return status is 0 unless an error
-              occurs while reading the name of the  current  directory  or  an
+              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
+              contain symbolic links.  The return status is 0 unless an  error
+              occurs  while  reading  the  name of the current directory or an
               invalid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp
        _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One  line  is  read  from  the  standard input, or from the file
-              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
+              One line is read from the  standard  input,  or  from  the  file
+              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
-              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
+              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
+              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
               words read from the input stream than names, the remaining names
-              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
-              split the line into words.  The backslash character (\\b\)  may  be
-              used  to  remove any special meaning for the next character read
-              and for line continuation.  Options, if supplied, have the  fol-
+              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
+              split  the  line into words.  The backslash character (\\b\) may be
+              used to remove any special meaning for the next  character  read
+              and  for line continuation.  Options, if supplied, have the fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -4619,137 +4622,139 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      new  values  are  assigned.   Other  _\bn_\ba_\bm_\be  arguments  are
                      ignored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The first character of _\bd_\be_\bl_\bi_\bm is  used  to  terminate  the
+                     The  first  character  of  _\bd_\be_\bl_\bi_\bm is used to terminate the
                      input line, rather than newline.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
-                     (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the  line.   Read-
-                     line  uses  the  current (or default, if line editing was
+                     (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  above) is used to obtain the line.  Read-
+                     line uses the current (or default, if  line  editing  was
                      not previously active) editing settings.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
+                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
-                     waiting for a complete line of input, but honor a  delim-
-                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
+                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     waiting  for a complete line of input, but honor a delim-
+                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
-                     rather  than waiting for a complete line of input, unless
-                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
-                     ters  encountered  in the input are not treated specially
-                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
+                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
+                     rather than waiting for a complete line of input,  unless
+                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
+                     ters encountered in the input are not  treated  specially
+                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
                      are read.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash is considered to be part of the line.  In  particu-
-                     lar,  a  backslash-newline pair may not be used as a line
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not be used as  a  line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
-                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\b-
-                     _\bo_\bu_\b may  be  a  decimal number with a fractional portion
-                     following the decimal point.  This option is only  effec-
-                     tive  if  r\bre\bea\bad\bd is reading input from a terminal, pipe, or
-                     other special file; it has no effect  when  reading  from
-                     regular  files.   If  _\bt_\bi_\bm_\be_\bo_\bu_\bt  is 0, r\bre\bea\bad\bd returns immedi-
-                     ately, without trying to read any data.  The exit  statis
+                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
+                     line  of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\b-
+                     _\bo_\bu_\bmay be a decimal number  with  a  fractional  portion
+                     following  the decimal point.  This option is only effec-
+                     tive if r\bre\bea\bad\bd is reading input from a terminal,  pipe,  or
+                     other  special  file;  it has no effect when reading from
+                     regular files.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is  0,  r\bre\bea\bad\bd  returns  immedi-
+                     ately,  without trying to read any data.  The exit statis
                      is 0 if input is available on the specified file descrip-
                      tor, 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 is assigned to the vari-
-              able R\bRE\bEP\bPL\bLY\bY.  The return code  is  zero,  unless  end-of-file  is
-              encountered,  r\bre\bea\bad\bd  times  out (in which case the return code is
-              greater than 128), or an invalid file descriptor is supplied  as
+              able  R\bRE\bEP\bPL\bLY\bY.   The  return  code  is zero, unless end-of-file is
+              encountered, r\bre\bea\bad\bd times out (in which case the  return  code  is
+              greater  than 128), or an invalid file descriptor is supplied as
               the argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\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
-              arrays;  the  -\b-A\bA  option  restricts the variables to associative
-              arrays.  If both options are supplied, -\b-A\bA takes precedence.   If
-              no  _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied, a
+              The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of  these  _\bn_\ba_\bm_\be_\bs
+              may  not  be changed by subsequent assignment.  If the -\b-f\bf option
+              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
+              marked.   The  -\b-a\ba  option  restricts  the  variables  to indexed
+              arrays; the -\b-A\bA option restricts  the  variables  to  associative
+              arrays.   If both options are supplied, -\b-A\bA takes precedence.  If
+              no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,  a
               list of all readonly names is printed.  The 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\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.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn 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 resumes after the function or script.
+              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\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
+              significant 8 bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn  is
+              supplied  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  com-
+              mand  associated  with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execu-
+              tion resumes after the function or script.
 
        s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
-              Without  options,  the name and value of each shell variable are
+              Without options, the name and value of each shell  variable  are
               displayed in a format that can be reused as input for setting or
               resetting the currently-set variables.  Read-only variables can-
-              not be reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables  are  listed.
-              The  output  is  sorted  according  to the current locale.  When
-              options are specified, they set or unset shell attributes.   Any
-              arguments  remaining after option processing are treated as val-
+              not  be  reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.
+              The output is sorted according  to  the  current  locale.   When
+              options  are specified, they set or unset shell attributes.  Any
+              arguments remaining after option processing are treated as  val-
               ues for the positional parameters and are assigned, in order, to
-              $\b$1\b1,  $\b$2\b2,  .\b..\b..\b.   $\b$_\bn.   Options,  if specified, have the following
+              $\b$1\b1, $\b$2\b2, .\b..\b..\b.  $\b$_\bn.  Options,  if  specified,  have  the  following
               meanings:
-              -\b-a\ba      Automatically mark variables  and  functions  which  are
-                      modified  or  created  for  export to the environment of
+              -\b-a\ba      Automatically  mark  variables  and  functions which are
+                      modified or created for export  to  the  environment  of
                       subsequent commands.
-              -\b-b\bb      Report the status of terminated background jobs  immedi-
+              -\b-b\bb      Report  the status of terminated background jobs immedi-
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
-              -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
-                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\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  sta-
-                      tus.   The shell does not exit if the command that fails
-                      is part of the  command  list  immediately  following  a
-                      w\bwh\bhi\bil\ble\b or  u\bun\bnt\bti\bil\bl keyword, part of the test following the
-                      i\bif\bor e\bel\bli\bif\bf reserved words, part of any command  executed
-                      in  a  &\b&&\b&  or  |\b||\b|  list except the command following the
-                      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,
+              -\b-e\be      Exit  immediately  if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
+                      single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or  a  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+                      (see  S\bSH\bHE\bEL\bLL\bL  G\bGR\bRA\bAM\bMM\bMA\bAR\bR above),  exits with a non-zero sta-
+                      tus.  The shell does not exit if the command that  fails
+                      is  part  of  the  command  list immediately following a
+                      w\bwh\bhi\bil\ble\bor u\bun\bnt\bti\bil\bl keyword, part of the test  following  the
+                      i\bif\b or e\bel\bli\bif\bf reserved words, part of any command executed
+                      in a &\b&&\b& or |\b||\b| list  except  the  command  following  the
+                      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\b was
+                      being  ignored, the shell does not exit.  A trap on E\bER\bRR\bR,
                       if set, is executed before the shell exits.  This option
                       applies to the shell environment and each subshell envi-
-                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+                      ronment separately (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
                       above), and may cause subshells to exit before executing
                       all the commands in the subshell.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember  the location of commands as they are looked up
+              -\b-h\bh      Remember the location of commands as they are looked  up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All arguments in the form of assignment  statements  are
-                      placed  in the environment for a command, not just those
+              -\b-k\bk      All  arguments  in the form of assignment statements are
+                      placed in the environment for a command, not just  those
                       that precede the command name.
-              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
-                      on  by  default  for  interactive shells on systems that
-                      support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  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
+                      to  check  a  shell  script  for syntax errors.  This is
                       ignored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -4757,10 +4762,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
+                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
+                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -4774,8 +4779,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The   effect   is   as   if  the  shell  command
-                              ``IGNOREEOF=10'' had been  executed  (see  S\bSh\bhe\bel\bll\bl
+                              The  effect  is  as   if   the   shell   command
+                              ``IGNOREEOF=10''  had  been  executed (see S\bSh\bhe\bel\bll\bl
                               V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -4790,330 +4795,330 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If  set,  the  return value of a pipeline is the
-                              value of the last (rightmost)  command  to  exit
-                              with  a non-zero status, or zero if all commands
-                              in the pipeline exit successfully.  This  option
+                              If set, the return value of a  pipeline  is  the
+                              value  of  the  last (rightmost) command to exit
+                              with a non-zero status, or zero if all  commands
+                              in  the pipeline exit successfully.  This option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
-                              operation differs from  the  POSIX  standard  to
+                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
+                              operation  differs  from  the  POSIX standard to
                               match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use  a  vi-style command line editing interface.
+                      v\bvi\bi      Use a vi-style command line  editing  interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current options are printed.  If +\b+o\bo is supplied with  no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
-                      current option settings is  displayed  on  the  standard
+                      current  options are printed.  If +\b+o\bo is supplied with no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
+                      current  option  settings  is  displayed on the standard
                       output.
-              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
-                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if  they
+              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
+                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if they
                       appear in the environment, are ignored.  If the shell is
-                      started with the effective user (group) id not equal  to
-                      the  real user (group) id, and the -\b-p\bp option is not sup-
+                      started  with the effective user (group) id not equal to
+                      the real user (group) id, and the -\b-p\bp option is not  sup-
                       plied, these actions are taken and the effective user id
-                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
-                      plied at startup, the effective user id  is  not  reset.
-                      Turning  this  option  off causes the effective user and
+                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
+                      plied  at  startup,  the effective user id is not reset.
+                      Turning this option off causes the  effective  user  and
                       group ids to be set to the real user and group ids.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial  parameters "@" and "*" as an error when performing
-                      parameter expansion.  If expansion is  attempted  on  an
-                      unset  variable  or parameter, the shell prints an error
-                      message, and, if not interactive, exits with a  non-zero
+                      cial parameters "@" and "*" as an error when  performing
+                      parameter  expansion.   If  expansion is attempted on an
+                      unset variable or parameter, the shell prints  an  error
+                      message,  and, if not interactive, exits with a non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play  the expanded value of P\bPS\bS4\b4, followed by the command
+                      play the expanded value of P\bPS\bS4\b4, followed by the  command
                       and its expanded arguments or associated word list.
-              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
-                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
+              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
+                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command  substitutions,  and commands executed in a sub-
-                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
+                      command substitutions, and commands executed in  a  sub-
+                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If set, the shell does not follow  symbolic  links  when
-                      executing  commands  such  as c\bcd\bd that change the current
+              -\b-P\bP      If  set,  the  shell does not follow symbolic links when
+                      executing commands such as c\bcd\bd that  change  the  current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain of  directories  when  performing  commands  which
+                      chain  of  directories  when  performing  commands which
                       change the current directory.
-              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
-                      shell functions,  command  substitutions,  and  commands
-                      executed  in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\bG and
+              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
+                      shell  functions,  command  substitutions,  and commands
+                      executed in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\b and
                       R\bRE\bET\bTU\bUR\bRN\bN traps are normally not inherited in such cases.
-              -\b--\b-      If no arguments follow this option, then the  positional
+              -\b--\b-      If  no arguments follow this option, then the positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
+                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
                       with a -\b-.
-              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
+              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The options are off by default unless otherwise noted.  Using  +
-              rather  than  -  causes  these  options  to  be turned off.  The
-              options can also be specified as arguments to an  invocation  of
-              the  shell.  The current set of options may be found in $\b$-\b-.  The
+              The  options are off by default unless otherwise noted.  Using +
+              rather than - causes  these  options  to  be  turned  off.   The
+              options  can  also be specified as arguments to an invocation of
+              the shell.  The current set of options may be found in $\b$-\b-.   The
               return status is always true unless an invalid option is encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
-              Parameters represented by the numbers  $\b$#\b#  down  to  $\b$#\b#-_\bn+1  are
-              unset.   _\bn  must  be a non-negative number less than or equal to
-              $\b$#\b#.  If _\bn is 0, no parameters are changed.  If _\bn is  not  given,
-              it  is assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional
-              parameters are not changed.  The return status is  greater  than
+              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
+              Parameters  represented  by  the  numbers  $\b$#\b# down to $\b$#\b#-_\bn+1 are
+              unset.  _\bn must be a non-negative number less than  or  equal  to
+              $\b$#\b#.   If  _\bn is 0, no parameters are changed.  If _\bn is not given,
+              it is assumed to be 1.  If _\bn is greater than $\b$#\b#, the  positional
+              parameters  are  not changed.  The return status is greater than
               zero if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
               Toggle the values of variables controlling optional shell behav-
               ior.  With no options, or with the -\b-p\bp option, a list of all set-
               table options is displayed, with an indication of whether or not
-              each is set.  The -\b-p\bp option causes output to be displayed  in  a
-              form  that  may be reused as input.  Other options have the fol-
+              each  is  set.  The -\b-p\bp option causes output to be displayed in a
+              form that may be reused as input.  Other options have  the  fol-
               lowing meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
+              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
-                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
+                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
+                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
                      wise.
-              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
+              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If  either  -\b-s\bs  or  -\b-u\bu  is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, 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
-              options, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
+              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are enabled, non-zero  otherwise.   When  setting  or  unsetting
+              options,  the  return  status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
-              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
-                      is executed as if it were the argument to  the  c\bcd\b com-
+              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
+                      is  executed  as  if it were the argument to the c\bcd\bd com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If  set,  an  argument to the c\bcd\bd builtin command that is
-                      not a directory is assumed to be the name of a  variable
+                      If set, an argument to the c\bcd\bd builtin  command  that  is
+                      not  a directory is assumed to be the name of a variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent in a c\bcd\bd command will be  corrected.   The  errors
+                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
                       checked for are transposed characters, a missing charac-
-                      ter, and one character too many.   If  a  correction  is
-                      found,  the  corrected 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
-                      (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).   The  shell  always  postpones
+                      second exit is attempted without an intervening  command
+                      (see  J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL  above).   The shell always postpones
                       exiting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If  set,  b\bba\bas\bsh\bh checks the window size after each command
-                      and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and  C\bCO\bOL\bL-\b-
+                      If set, b\bba\bas\bsh\bh checks the window size after  each  command
+                      and,  if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bL-\b-
                       U\bUM\bMN\bNS\bS.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
-                      line command in the same  history  entry.   This  allows
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
+                      line  command  in  the  same history entry.  This allows
                       easy re-editing of multi-line commands.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.1
-                      with respect to quoted arguments to the  [\b[[\b conditional
+                      with  respect  to quoted arguments to the [\b[[\b[ conditional
                       command's =\b=~\b~ operator.
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.2
-                      with respect to locale-specific string  comparison  when
-                      using  the  [\b[[\b[  conditional command's <\b< and >\b> operators.
-                      Bash versions prior to bash-4.1 use ASCII collation  and
-                      _\bs_\bt_\br_\bc_\bm_\bp(3);  bash-4.1  and later use the current locale's
+                      with  respect  to locale-specific string comparison when
+                      using the [\b[[\b[ conditional command's <\b<  and  >\b operators.
+                      Bash  versions prior to bash-4.1 use ASCII collation 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\b40\b0
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 4.0
-                      with  respect  to locale-specific string comparison when
-                      using the [\b[[\b[ conditional command's  <\b<  and  >\b operators
-                      (see  previous  item)  and  the effect of interrupting a
+                      with respect to locale-specific string  comparison  when
+                      using  the  [\b[[\b[  conditional  command's <\b< and >\b> operators
+                      (see previous item) and the  effect  of  interrupting  a
                       command list.
               c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-                      If set, b\bba\bas\bsh\bh, when in posix mode, treats a single  quote
-                      in  a  double-quoted  parameter  expansion  as a special
-                      character.  The single quotes must match (an  even  num-
-                      ber)  and  the  characters between the single quotes are
-                      considered quoted.  This is the behavior of  posix  mode
-                      through  version 4.1.  The default bash behavior remains
+                      If  set, b\bba\bas\bsh\bh, when in posix mode, treats a single quote
+                      in a double-quoted  parameter  expansion  as  a  special
+                      character.   The  single quotes must match (an even num-
+                      ber) and the characters between the  single  quotes  are
+                      considered  quoted.   This is the behavior of posix mode
+                      through version 4.1.  The default bash behavior  remains
                       as in previous versions.
               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
-                      expand  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
+                      expand to directories will not be quoted;  however,  any
+                      dollar  signs appearing in filenames will not be quoted,
+                      either.  This is active only when bash  is  using  back-
+                      slashes  to quote completed filenames.  This variable is
+                      set by default, which is the default  bash  behavior  in
                       versions through 4.2.
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
-                      of  word  expansion when performing filename completion.
+                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
+                      of word expansion when performing  filename  completion.
                       This  changes  the  contents  of  the  readline  editing
-                      buffer.   If not set, b\bba\bas\bsh\bh attempts to preserve what the
+                      buffer.  If not set, b\bba\bas\bsh\bh attempts to preserve what  the
                       user typed.
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
-                      names  during word completion if the directory name ini-
+                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
+                      names during word completion if the directory name  ini-
                       tially supplied does not exist.
-              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
+              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
                       the results of pathname expansion.
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not execute the file specified as  an  argument  to  the
-                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
+                      not  execute  the  file  specified as an argument to the
+                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
                       exit if e\bex\bxe\bec\bc fails.
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If set, aliases are expanded as  described  above  under
+                      If  set,  aliases  are expanded as described above under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If set,  behavior  intended  for  use  by  debuggers  is
+                      If  set,  behavior  intended  for  use  by  debuggers is
                       enabled:
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
-                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
-                             non-zero value, the next command is  skipped  and
+                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
+                             non-zero  value,  the next command is skipped and
                              not executed.
-                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
-                             value of 2, and the shell is executing in a  sub-
-                             routine  (a shell function or a shell script exe-
-                             cuted by the .\b. or s\bso\bou\bur\brc\bce\be  builtins),  a  call  to
+                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
+                             value  of 2, and the shell is executing in a sub-
+                             routine (a shell function or a shell script  exe-
+                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), a call to
                              r\bre\bet\btu\bur\brn\bn is simulated.
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
                              in their descriptions above.
-                      5\b5.\b.     Function tracing is enabled:   command  substitu-
+                      5\b5.\b.     Function  tracing  is enabled:  command substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
-                      6\b6.\b.     Error tracing is enabled:  command  substitution,
-                             shell  functions,  and  subshells  invoked with (\b(
+                      6\b6.\b.     Error  tracing is enabled:  command substitution,
+                             shell functions, and  subshells  invoked  with  (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
               e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
                       above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
-                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
+                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
+                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
                       quotes.  This option is enabled by default.
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If  set,  patterns  which fail to match filenames during
+                      If set, patterns which fail to  match  filenames  during
                       pathname expansion result in an expansion error.
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
-                      variable  cause words to be ignored when performing word
+                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
+                      variable cause words to be ignored when performing  word
                       completion even if the ignored words are the only possi-
                       ble  completions.   See  S\bSH\bHE\bEL\bLL\bL  V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS  above  for  a
-                      description of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled  by
+                      description  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled by
                       default.
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If  set, range expressions used in pattern matching (see
-                      P\bPa\bat\btt\bte\ber\brn\bM\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave as if in the  traditional
+                      If set, range expressions used in pattern matching  (see
+                      P\bPa\bat\btt\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave as if in the traditional
                       C locale when performing comparisons.  That is, the cur-
-                      rent locale's  collating  sequence  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
+                      rent  locale's  collating  sequence  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\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text will match all files and zero or  more  directories
-                      and  subdirectories.  If the pattern is followed by a /\b/,
+                      text  will  match all files and zero or more directories
+                      and subdirectories.  If the pattern is followed by a  /\b/,
                       only directories and subdirectories match.
               g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
                       If set, shell error messages are written in the standard
                       GNU error message format.
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If  set,  the history list is appended to the file named
-                      by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  variable  when  the  shell
+                      If set, the history list is appended to the  file  named
+                      by  the  value  of  the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell
                       exits, rather than overwriting the file.
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
                       opportunity to re-edit a failed history substitution.
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
-                      tory  substitution  are  not  immediately  passed to the
-                      shell parser.  Instead, the  resulting  line  is  loaded
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+                      tory substitution are  not  immediately  passed  to  the
+                      shell  parser.   Instead,  the  resulting line is loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform  hostname  completion when a word containing a @\b@
-                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform hostname completion when a word containing  a  @\b@
+                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
                       If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
                       active login shell exits.
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and  all remaining characters on that line to be ignored
-                      in an interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS  above).   This
+                      and all remaining characters on that line to be  ignored
+                      in  an  interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This
                       option is enabled by default.
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If  set,  and  job control is not active, the shell runs
+                      If set, and job control is not active,  the  shell  runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
-              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets this option if it is started as a login
-                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
+                      The shell sets this option if it is started as  a  login
+                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
                       changed.
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
-                      been accessed since the last time it  was  checked,  the
-                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
+                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
+                      been  accessed  since  the last time it was checked, the
+                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
                       played.
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If set, and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh  will  not
+                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh will not
                       attempt to search the P\bPA\bAT\bTH\bH for possible completions when
                       completion is attempted on an empty line.
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands.
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
+                      If  set,  b\bba\bas\bsh\bh allows patterns which match no files (see
+                      P\bPa\bat\bth\bhn\bna\bam\bme\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to  a  null  string,
                       rather than themselves.
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
                       If set, the programmable completion facilities (see P\bPr\bro\bo-\b-
@@ -5121,50 +5126,50 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand   substitution,  arithmetic  expansion,  and  quote
-                      removal after being expanded as described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand  substitution,  arithmetic  expansion,  and   quote
+                      removal  after  being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The   shell  sets  this  option  if  it  is  started  in
+                      The  shell  sets  this  option  if  it  is  started   in
                       restricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
-                      may  not be changed.  This is not reset when the startup
-                      files are executed, allowing the startup files  to  dis-
+                      may not be changed.  This is not reset when the  startup
+                      files  are  executed, allowing the startup files to dis-
                       cover whether or not a shell is restricted.
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
                       the shift count exceeds the number of positional parame-
                       ters.
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the s\bso\bou\bur\brc\bce\be (.\b.) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find the directory containing the file  supplied  as  an
+                      find  the  directory  containing the file supplied as an
                       argument.  This option is enabled by default.
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If   set,  the  e\bec\bch\bho\bo  builtin  expands  backslash-escape
+                      If  set,  the  e\bec\bch\bho\bo  builtin  expands   backslash-escape
                       sequences by default.
 
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
               signal.  A login shell cannot be suspended; the -\b-f\bf option can be
               used to override this and force the suspension.  The return sta-
-              tus  is  0  unless the shell is a login shell and -\b-f\bf is not sup-
+              tus is 0 unless the shell is a login shell and -\b-f\bf  is  not  sup-
               plied, or if job control is not enabled.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return a status of 0 (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,
+              Expressions may  be  combined  using  the  following  operators,
               listed  in  decreasing  order  of  precedence.   The  evaluation
-              depends  on the number of arguments; see below.  Operator prece-
+              depends 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.
@@ -5181,63 +5186,63 @@ 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
                      If the first argument is !\b!, the result is the negation of
-                     the  three-argument  expression composed of the remaining
+                     the three-argument expression composed of  the  remaining
                      arguments.  Otherwise, the expression is parsed and eval-
-                     uated  according  to  precedence  using  the rules listed
+                     uated according to  precedence  using  the  rules  listed
                      above.
               5 or more arguments
-                     The expression  is  parsed  and  evaluated  according  to
+                     The  expression  is  parsed  and  evaluated  according to
                      precedence using the rules listed above.
 
-              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_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
-              The  command  _\ba_\br_\bg  is  to  be  read  and executed when the shell
-              receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\br_\bg is absent (and  there  is  a
-              single  _\bs_\bi_\bg_\bs_\bp_\be_\bc)  or  -\b-,  each  specified signal is reset to its
-              original disposition (the value it  had  upon  entrance  to  the
-              shell).   If _\ba_\br_\bg is the null string the signal specified by each
-              _\bs_\bi_\bg_\bs_\bp_\be_\bis ignored by the shell and by the commands it  invokes.
-              If  _\ba_\br_\bg  is  not present and -\b-p\bp has been supplied, then the trap
-              commands associated with each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are  displayed.   If  no
-              arguments  are  supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the
-              list of commands associated with each  signal.   The  -\b-l\b option
-              causes  the shell to print a list of signal names and their cor-
-              responding numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal  name
-              defined  in  <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>,  or  a signal number.  Signal names are
+              The command _\ba_\br_\bg is to  be  read  and  executed  when  the  shell
+              receives  signal(s)  _\bs_\bi_\bg_\bs_\bp_\be_\bc.   If _\ba_\br_\bg is absent (and there is a
+              single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified  signal  is  reset  to  its
+              original  disposition  (the  value  it  had upon entrance to the
+              shell).  If _\ba_\br_\bg is the null string the signal specified by  each
+              _\bs_\bi_\bg_\bs_\bp_\be_\b is ignored by the shell and by the commands it invokes.
+              If _\ba_\br_\bg is not present and -\b-p\bp has been supplied,  then  the  trap
+              commands  associated  with  each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are displayed.  If no
+              arguments are supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp  prints  the
+              list  of  commands  associated  with each signal.  The -\b-l\bl option
+              causes the shell to print a list of signal names and their  cor-
+              responding  numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal name
+              defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal  number.   Signal  names  are
               case insensitive and the S\bSI\bIG\bG prefix is optional.
 
-              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg  is  executed  on  exit
-              from  the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
-              cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br  command,  _\bc_\ba_\bs_\b command,
-              _\bs_\be_\bl_\be_\bc_\b command,  every  arithmetic  _\bf_\bo_\br command, and before the
-              first command executes in a shell function  (see  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-              above).   Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the
+              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
+              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is  exe-
+              cuted  before  every  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
+              _\bs_\be_\bl_\be_\bc_\bcommand, every arithmetic _\bf_\bo_\br  command,  and  before  the
+              first  command  executes  in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              above).  Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to  the
               s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a
               _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a shell
               function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins fin-
@@ -5245,53 +5250,53 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\br_\bg is executed whenever a sim-
               ple command has a non-zero exit status, subject to the following
-              conditions.   The E\bER\bRR\bR trap is not executed if the failed command
-              is part of the command list immediately  following  a  w\bwh\bhi\bil\ble\b or
-              u\bun\bnt\bti\bil\b keyword,  part  of the test in an _\bi_\bf statement, part of a
-              command executed in a &\b&&\b& or |\b||\b| list, or if the command's  return
-              value  is  being  inverted via !\b!.  These are the same conditions
+              conditions.  The E\bER\bRR\bR trap is not executed if the failed  command
+              is  part  of  the  command list immediately following a w\bwh\bhi\bil\ble\be or
+              u\bun\bnt\bti\bil\bkeyword, part of the test in an _\bi_\bf statement,  part  of  a
+              command  executed in a &\b&&\b& or |\b||\b| list, or if the command's return
+              value is being inverted via !\b!.  These are  the  same  conditions
               obeyed by the e\ber\brr\bre\bex\bxi\bit\bt option.
 
-              Signals ignored upon entry to the shell  cannot  be  trapped  or
-              reset.   Trapped signals that are not being ignored are reset to
+              Signals  ignored  upon  entry  to the shell cannot be trapped or
+              reset.  Trapped signals that are not being ignored are reset  to
               their original values in a subshell or subshell environment when
-              one  is  created.   The return status is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is
+              one is created.  The return status is false if  any  _\bs_\bi_\bg_\bs_\bp_\be_\b 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 disk file, respectively.  If the _\bn_\ba_\bm_\be is not  found,
-              then  nothing  is  printed,  and  an  exit  status  of  false is
-              returned.  If the -\b-p\bp option is used,  t\bty\byp\bpe\be  either  returns  the
+              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
+              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
+              builtin,  or disk file, respectively.  If the _\bn_\ba_\bm_\be is not found,
+              then nothing  is  printed,  and  an  exit  status  of  false  is
+              returned.   If  the  -\b-p\bp  option is used, t\bty\byp\bpe\be either returns the
               name of the disk file that would be executed if _\bn_\ba_\bm_\be were speci-
               fied as a command name, or nothing if ``type -t name'' would not
-              return  _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
+              return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each  _\bn_\ba_\bm_\be,
               even if ``type -t name'' would not return _\bf_\bi_\bl_\be.  If a command is
               hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
-              ily the file that appears first in P\bPA\bAT\bTH\bH.  If the  -\b-a\ba  option  is
-              used,  t\bty\byp\bpe\be  prints all of the places that contain an executable
+              ily  the  file  that appears first in P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is
+              used, t\bty\byp\bpe\be prints all of the places that contain  an  executable
               named _\bn_\ba_\bm_\be.  This includes aliases and functions, if and only if
               the -\b-p\bp option is not also used.  The table of hashed commands is
-              not consulted when using -\b-a\ba.  The  -\b-f\bf  option  suppresses  shell
+              not  consulted  when  using  -\b-a\ba.  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\bST\bTa\bab\bbc\bcd\bde\bef\bfi\bil\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bx [_\bl_\bi_\bm_\bi_\bt]]
-              Provides control over the resources available to the  shell  and
-              to  processes started by it, on systems that allow such control.
+              Provides  control  over the resources available to the shell and
+              to processes started by it, on systems that allow such  control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for  the  given resource.  A hard limit cannot be increased by a
-              non-root user once it is set; a soft limit may be  increased  up
-              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
+              for the given resource.  A hard limit cannot be increased  by  a
+              non-root  user  once it is set; a soft limit may be increased up
+              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current  hard  limit,  the  current  soft  limit,  and no limit,
-              respectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the  current  value  of  the
-              soft  limit  of the resource is printed, unless the -\b-H\bH option is
+              current hard limit,  the  current  soft  limit,  and  no  limit,
+              respectively.   If  _\bl_\bi_\bm_\bi_\bt  is  omitted, the current value of the
+              soft limit of the resource is printed, unless the -\b-H\bH  option  is
               given.  When more than one resource is specified, the limit name
               and unit are printed before the value.  Other options are inter-
               preted as follows:
@@ -5300,11 +5305,11 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The maximum size of files written by the  shell  and  its
+              -\b-f\bf     The  maximum  size  of files written by the shell and its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The  maximum resident set size (many systems do not honor
+              -\b-m\bm     The maximum resident set size (many systems do not  honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -5313,68 +5318,68 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The  maximum  number  of  processes available to a single
+              -\b-u\bu     The maximum number of processes  available  to  a  single
                      user
-              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
+              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-T\bT     The maximum number of threads
 
-              If  _\bl_\bi_\bm_\bi_\bt  is given, 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-p\bp, which is in units  of  512-byte
-              blocks;  and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.  The
-              return status is 0 unless an invalid option or argument is  sup-
+              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-p\bp, which is in units of 512-byte
+              blocks; and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.   The
+              return  status is 0 unless an invalid option or argument is sup-
               plied, 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] [_\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-
+              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 no options are
-              supplied,  each  _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
-              able by that name, any function with that name is  unset.   Each
-              unset  variable  or  function  is  removed  from the environment
-              passed to subsequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  R\bRA\bAN\bN-\b-
+              supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is  no  vari-
+              able  by  that name, any function with that name is unset.  Each
+              unset variable or  function  is  removed  from  the  environment
+              passed  to subsequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, R\bRA\bAN\bN-\b-
               D\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, L\bLI\bIN\bNE\bEN\bNO\bO, H\bHI\bIS\bST\bTC\bCM\bMD\bD, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, or D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are
               unset, they lose their special properties, even if they are sub-
               sequently reset.  The exit status is true unless a _\bn_\ba_\bm_\be is read-
               only.
 
        w\bwa\bai\bit\bt [_\bn _\b._\b._\b.]
-              Wait for each specified process and return its termination  sta-
-              tus.   Each  _\bn  may be a process ID or a job specification; if a
-              job spec is given, all processes  in  that  job's  pipeline  are
-              waited  for.  If _\bn is not given, all currently active child pro-
-              cesses are waited for, and the return  status  is  zero.   If  _\bn
-              specifies  a  non-existent  process or job, the return status is
-              127.  Otherwise, the return status is the  exit  status  of  the
+              Wait  for each specified process and return its termination sta-
+              tus.  Each _\bn may be a process ID or a job  specification;  if  a
+              job  spec  is  given,  all  processes in that job's pipeline are
+              waited for.  If _\bn is not given, all currently active child  pro-
+              cesses  are  waited  for,  and  the return status is zero.  If _\bn
+              specifies a non-existent process or job, the  return  status  is
+              127.   Otherwise,  the  return  status is the exit status of the
               last process or job waited for.
 
 R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
-       invocation, the shell becomes restricted.  A restricted shell  is  used
-       to  set  up an environment more controlled than the standard shell.  It
-       behaves identically to b\bba\bas\bsh\bh with the exception that the  following  are
+       invocation,  the  shell becomes restricted.  A restricted shell is used
+       to set up an environment more controlled than the standard  shell.   It
+       behaves  identically  to b\bba\bas\bsh\bh with the exception that the following are
        disallowed or not performed:
 
        +\bo      changing directories with c\bcd\bd
@@ -5383,16 +5388,16 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying a 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
               -\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-
@@ -5401,10 +5406,10 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
 
-       +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b options
+       +\bo      adding  or  deleting builtin commands with the -\b-f\bf and -\b-d\bd options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
+       +\bo      using the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled  shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
@@ -5414,14 +5419,14 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        These restrictions are enforced after any startup files are read.
 
        When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\b E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN  above),  r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
+       M\bMA\bAN\bND\bE\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions  in  the  shell
        spawned to execute the script.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
        _\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
-       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b_\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b:  _\bS_\bh_\be_\bl_\bl  _\ba_\bn_\b _\bU_\bt_\bi_\bl_\bi_\b-
+       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg  _\bS_\by_\bs_\bt_\be_\bm  _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
        _\bt_\bi_\be_\bs, IEEE
        _\bs_\bh(1), _\bk_\bs_\bh(1), _\bc_\bs_\bh(1)
        _\be_\bm_\ba_\bc_\bs(1), _\bv_\bi(1)
@@ -5437,7 +5442,7 @@ F\bFI\bIL\bLE\bES\bS
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
               The individual per-interactive-shell startup file
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
-              The individual login shell cleanup file, executed when  a  login
+              The  individual  login shell cleanup file, executed when a login
               shell exits
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -5451,14 +5456,14 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        If you find a bug in b\bba\bas\bsh\bh,\b, you should report it.  But first, you should
-       make sure that it really is a bug, and that it appears  in  the  latest
-       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
+       make  sure  that  it really is a bug, and that it appears in the latest
+       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/.
 
-       Once you have determined that a bug actually exists,  use  the  _\bb_\ba_\bs_\bh_\bb_\bu_\bg
-       command  to submit a bug report.  If you have a fix, you are encouraged
-       to mail that as well!  Suggestions and `philosophical' bug reports  may
-       be  mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet newsgroup
+       Once  you  have  determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+       command to submit a bug report.  If you have a fix, you are  encouraged
+       to  mail that as well!  Suggestions and `philosophical' bug reports may
+       be mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet  newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        ALL bug reports should include:
@@ -5469,7 +5474,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
@@ -5486,10 +5491,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.
index a3036c9c50137dabbc1a0cb22467c98d806497e5..14069ba9c23205f0bfdbd88965e086a6c08fb11d 100644 (file)
@@ -4564,7 +4564,10 @@ This is semantically equivalent to
 
 <P>
 
-(see <B>Duplicating File Descriptors</B> below).
+When using the second form, <I>word</I> may not expand to a number or
+<B>-</B>.  If it does, other redirection operators apply
+(see <B>Duplicating File Descriptors</B> below) for compatibility
+reasons.
 <A NAME="lbBN">&nbsp;</A>
 <H4>Appending Standard Output and Standard Error</H4>
 
@@ -4749,8 +4752,18 @@ If the digits in
 <I>word</I>
 
 do not specify a file descriptor open for output, a redirection error occurs.
+If
+<I>word</I>
+
+evaluates to
+<B>-</B>,
+
+file descriptor
+<I>n</I>
+
+is closed.
 As a special case, if <I>n</I> is omitted, and <I>word</I> does not
-expand to one or more digits, the standard output and standard
+expand to one or more digits or <B>-</B>, the standard output and standard
 error are redirected as described previously.
 <A NAME="lbBR">&nbsp;</A>
 <H4>Moving File Descriptors</H4>
@@ -10831,9 +10844,12 @@ that script and return either
 
 or the exit status of the last command executed within the
 script as the exit status of the script.
+If <I>n</I> is supplied, the return value is its least significant
+8 bits.
 The return status is non-zero if
 <B>return</B>
 
+is supplied a non-numeric argument, or
 is used outside a
 function and not during execution of a script by <B>.</B> or <B>source</B>.
 Any command associated with the <B>RETURN</B> trap is executed
@@ -12938,6 +12954,6 @@ There may be only one active coprocess at a time.
 </DL>
 <HR>
 This document was created by man2html from bash.1.<BR>
-Time: 26 September 2011 10:56:19 EDT
+Time: 24 October 2011 08:43:51 EDT
 </BODY>
 </HTML>
index 2690e14b3c5c560868a60e0303f8ce6723187d02..4331fb9c1448009ed91bf41145e9863481482265 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index eb8fc6390edeefb49e9b1bbf33967aa2a3d064d6..f8abc94fb84da10cb11e7ba778b1635a4d5adc75 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Mon Sep 26 10:56:08 2011
+%%CreationDate: Mon Oct 24 08:43:45 2011
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -3196,47 +3196,51 @@ F1(n)A F0(])A F2(>>)A F1(wor)A(d)-.37 E F2(Redir)87 244.8 Q
 F1(wor)A(d)-.37 E F0(Of the tw)108 343.2 Q 2.5(of)-.1 G
 (orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E
 -.25(va)-.25 G(lent to).25 E F2(>)144 360 Q F1(wor)A(d)-.37 E F0(2)2.5 E
-F2(>&)A F0(1)A(\(see)108 376.8 Q F2(Duplicating File Descriptors)2.5 E
-F0(belo)2.5 E(w\).)-.25 E F2 -.25(Ap)87 393.6 S
-(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .249
-(This construct allo)108 405.6 R .249(ws both the standard output \(\
+F2(>&)A F0(1)A .115(When using the second form,)108 376.8 R F1(wor)2.614
+E(d)-.37 E F0 .114(may not e)2.614 F .114(xpand to a number or)-.15 F F2
+<ad>2.614 E F0 5.114(.I)C 2.614(fi)-5.114 G 2.614(td)-2.614 G .114
+(oes, other redirection operators)-2.614 F(apply \(see)108 388.8 Q F2
+(Duplicating File Descriptors)2.5 E F0(belo)2.5 E
+(w\) for compatibility reasons.)-.25 E F2 -.25(Ap)87 405.6 S
+(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248
+(This construct allo)108 417.6 R .249(ws both the standard output \(\
 \214le descriptor 1\) and the standard error output \(\214le descrip-)
 -.25 F(tor 2\) to be appended to the \214le whose name is the e)108
-417.6 Q(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E
+429.6 Q(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E
 (The format for appending standard output and standard error is:)108
-434.4 Q F2(&>>)144 451.2 Q F1(wor)A(d)-.37 E F0
-(This is semantically equi)108 468 Q -.25(va)-.25 G(lent to).25 E F2(>>)
-144 484.8 Q F1(wor)A(d)-.37 E F0(2)2.5 E F2(>&)A F0(1)A(\(see)108 501.6
+446.4 Q F2(&>>)144 463.2 Q F1(wor)A(d)-.37 E F0
+(This is semantically equi)108 480 Q -.25(va)-.25 G(lent to).25 E F2(>>)
+144 496.8 Q F1(wor)A(d)-.37 E F0(2)2.5 E F2(>&)A F0(1)A(\(see)108 513.6
 Q F2(Duplicating File Descriptors)2.5 E F0(belo)2.5 E(w\).)-.25 E F2
-(Her)87 518.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redir\
+(Her)87 530.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redir\
 ection instructs the shell to read input from the current source until \
-a line containing only)108 530.4 R F1(delimiter)108.35 542.4 Q F0 .615
-(\(with no trailing blanks\) is seen.)3.845 F .615
+a line containing only)108 542.4 R F1(delimiter)108.35 554.4 Q F0 .614
+(\(with no trailing blanks\) is seen.)3.844 F .615
 (All of the lines read up to that point are then used as the stan-)5.615
-F(dard input for a command.)108 554.4 Q
-(The format of here-documents is:)108 571.2 Q F2(<<)144 588 Q F0([)A F2
-<ad>A F0(])A F1(wor)A(d)-.37 E(her)164 600 Q(e-document)-.37 E
-(delimiter)144 612 Q F0 .301(No parameter and v)108 628.8 R .302
+F(dard input for a command.)108 566.4 Q
+(The format of here-documents is:)108 583.2 Q F2(<<)144 600 Q F0([)A F2
+<ad>A F0(])A F1(wor)A(d)-.37 E(her)164 612 Q(e-document)-.37 E
+(delimiter)144 624 Q F0 .302(No parameter and v)108 640.8 R .302
 (ariable e)-.25 F .302(xpansion, command substitution, arithmetic e)-.15
-F .302(xpansion, or pathname e)-.15 F(xpansion)-.15 E .226
-(is performed on)108 640.8 R F1(wor)2.726 E(d)-.37 E F0 5.226(.I).77 G
-2.726(fa)-5.226 G .526 -.15(ny c)-2.726 H .226(haracters in).15 F F1
+F .301(xpansion, or pathname e)-.15 F(xpansion)-.15 E .225
+(is performed on)108 652.8 R F1(wor)2.725 E(d)-.37 E F0 5.225(.I).77 G
+2.726(fa)-5.225 G .526 -.15(ny c)-2.726 H .226(haracters in).15 F F1
 (wor)3.066 E(d)-.37 E F0 .226(are quoted, the)3.496 F F1(delimiter)3.076
-E F0 .225(is the result of quote remo)3.456 F -.25(va)-.15 G 2.725(lo)
-.25 G(n)-2.725 E F1(wor)108 652.8 Q(d)-.37 E F0 2.714(,a).77 G .214
-(nd the lines in the here-document are not e)-2.714 F 2.714(xpanded. If)
--.15 F F1(wor)2.715 E(d)-.37 E F0 .215
-(is unquoted, all lines of the here-docu-)2.715 F .673
-(ment are subjected to parameter e)108 664.8 R .673
+E F0 .226(is the result of quote remo)3.456 F -.25(va)-.15 G 2.726(lo)
+.25 G(n)-2.726 E F1(wor)108 664.8 Q(d)-.37 E F0 2.715(,a).77 G .215
+(nd the lines in the here-document are not e)-2.715 F 2.714(xpanded. If)
+-.15 F F1(wor)2.714 E(d)-.37 E F0 .214
+(is unquoted, all lines of the here-docu-)2.714 F .673
+(ment are subjected to parameter e)108 676.8 R .673
 (xpansion, command substitution, and arithmetic e)-.15 F 3.173
-(xpansion. In)-.15 F .673(the latter)3.173 F
-(case, the character sequence)108 676.8 Q F2(\\<newline>)2.5 E F0
+(xpansion. In)-.15 F .674(the latter)3.173 F
+(case, the character sequence)108 688.8 Q F2(\\<newline>)2.5 E F0
 (is ignored, and)2.5 E F2(\\)2.5 E F0
 (must be used to quote the characters)2.5 E F2(\\)2.5 E F0(,)A F2($)2.5
-E F0 2.5(,a)C(nd)-2.5 E F2<92>2.5 E F0(.)A .601
-(If the redirection operator is)108 693.6 R F2(<<\255)3.101 E F0 3.101
+E F0 2.5(,a)C(nd)-2.5 E F2<92>2.5 E F0(.)A .602
+(If the redirection operator is)108 705.6 R F2(<<\255)3.101 E F0 3.101
 (,t)C .601(hen all leading tab characters are stripped from input lines\
- and the line)-3.101 F(containing)108 705.6 Q F1(delimiter)2.5 E F0 5
+ and the line)-3.101 F(containing)108 717.6 Q F1(delimiter)2.5 E F0 5
 (.T).73 G(his allo)-5 E
 (ws here-documents within shell scripts to be indented in a natural f)
 -.25 E(ashion.)-.1 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E
 -.35 E/F1 10/Times-Bold@0 SF(Her)87 84 Q 2.5(eS)-.18 G(trings)-2.5 E F0
 2.5(Av)108 96 S(ariant of here documents, the format is:)-2.75 E F1(<<<)
 144 112.8 Q/F2 10/Times-Italic@0 SF(wor)A(d)-.37 E F0(The)108 129.6 Q F2
-(wor)2.894 E(d)-.37 E F0(under)2.894 E .394(goes brace e)-.18 F .393
-(xpansion, tilde e)-.15 F .393(xpansion, parameter and v)-.15 F .393
-(ariable e)-.25 F .393(xpansion, command substi-)-.15 F 1.384
+(wor)2.893 E(d)-.37 E F0(under)2.893 E .393(goes brace e)-.18 F .393
+(xpansion, tilde e)-.15 F .393(xpansion, parameter and v)-.15 F .394
+(ariable e)-.25 F .394(xpansion, command substi-)-.15 F 1.385
 (tution, arithmetic e)108 141.6 R 1.384(xpansion, and quote remo)-.15 F
 -.25(va)-.15 G 3.884(l. P).25 F 1.384(athname e)-.15 F 1.384(xpansion w)
 -.15 F 1.384(ord splitting are not performed.)-.1 F(The result is suppl\
 ied as a single string to the command on its standard input.)108 153.6 Q
 F1(Duplicating File Descriptors)87 170.4 Q F0(The redirection operator)
 108 182.4 Q([)144 199.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0
-.127(is used to duplicate input \214le descriptors.)108 216 R(If)5.127 E
-F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126
+.126(is used to duplicate input \214le descriptors.)108 216 R(If)5.127 E
+F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127
 (pands to one or more digits, the \214le descriptor denoted).15 F(by)108
-228 Q F2(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G
-2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G
-2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.298 E(d)-.37 E F0
-.458(do not specify a \214le descriptor open)3.728 F .15
-(for input, a redirection error occurs.)108 240 R(If)5.15 E F2(wor)2.99
-E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F1<ad>2.65 E F0 2.649
-<2c8c>C .149(le descriptor)-2.649 F F2(n)3.009 E F0 .149(is closed.)
-2.889 F(If)5.149 E F2(n)3.009 E F0 .149(is not speci\214ed,)2.889 F
+228 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G
+2.958(ft)-2.958 G .457(hat \214le descriptor)-2.958 F 5.457(.I)-.55 G
+2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.297 E(d)-.37 E F0
+.457(do not specify a \214le descriptor open)3.727 F .149
+(for input, a redirection error occurs.)108 240 R(If)5.149 E F2(wor)
+2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F1<ad>2.649 E
+F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.)
+2.89 F(If)5.15 E F2(n)3.01 E F0 .15(is not speci\214ed,)2.89 F
 (the standard input \(\214le descriptor 0\) is used.)108 252 Q
 (The operator)108 268.8 Q([)144 285.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A
-(d)-.37 E F0 .443
+(d)-.37 E F0 .444
 (is used similarly to duplicate output \214le descriptors.)108 302.4 R
-(If)5.443 E F2(n)3.304 E F0 .444
-(is not speci\214ed, the standard output \(\214le descrip-)3.184 F 1.358
-(tor 1\) is used.)108 314.4 R 1.358(If the digits in)6.358 F F2(wor)
-4.198 E(d)-.37 E F0 1.357(do not specify a \214le descriptor open for o\
-utput, a redirection error)4.628 F 2.596(occurs. As)108 326.4 R 2.596
-(as)2.596 G .096(pecial case, if)-2.596 F F2(n)2.596 E F0 .096
-(is omitted, and)2.596 F F2(wor)2.596 E(d)-.37 E F0 .096(does not e)
-2.596 F .096(xpand to one or more digits, the standard out-)-.15 F
-(put and standard error are redirected as described pre)108 338.4 Q
-(viously)-.25 E(.)-.65 E F1(Mo)87 355.2 Q(ving File Descriptors)-.1 E F0
-(The redirection operator)108 367.2 Q([)144 384 Q F2(n)A F0(])A F1(<&)A
-F2(digit)A F1<ad>A F0(mo)108 400.8 Q -.15(ve)-.15 G 3.036(st).15 G .536
-(he \214le descriptor)-3.036 F F2(digit)3.036 E F0 .536
-(to \214le descriptor)3.036 F F2(n)3.036 E F0 3.036(,o).24 G 3.036(rt)
--3.036 G .535(he standard input \(\214le descriptor 0\) if)-3.036 F F2
-(n)3.035 E F0 .535(is not speci-)3.035 F(\214ed.)108 412.8 Q F2(digit)5
-E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
-(Similarly)108 429.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
-144 446.4 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 463.2 Q
--.15(ve)-.15 G 2.785(st).15 G .285(he \214le descriptor)-2.785 F F2
-(digit)2.785 E F0 .285(to \214le descriptor)2.785 F F2(n)2.785 E F0
-2.785(,o).24 G 2.785(rt)-2.785 G .286
-(he standard output \(\214le descriptor 1\) if)-2.785 F F2(n)2.786 E F0
-.286(is not speci-)2.786 F(\214ed.)108 475.2 Q F1
-(Opening File Descriptors f)87 492 Q(or Reading and Writing)-.25 E F0
-(The redirection operator)108 504 Q([)144 520.8 Q F2(n)A F0(])A F1(<>)A
+(If)5.444 E F2(n)3.304 E F0 .443
+(is not speci\214ed, the standard output \(\214le descrip-)3.183 F 1.357
+(tor 1\) is used.)108 314.4 R 1.357(If the digits in)6.357 F F2(wor)
+4.197 E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for o\
+utput, a redirection error)4.627 F 2.754(occurs. If)108 326.4 R F2(wor)
+3.094 E(d)-.37 E F0 -.25(eva)3.524 G .254(luates to).25 F F1<ad>2.754 E
+F0 2.754<2c8c>C .254(le descriptor)-2.754 F F2(n)3.114 E F0 .254
+(is closed.)2.994 F .254(As a special case, if)5.254 F F2(n)2.754 E F0
+.253(is omitted, and)2.754 F F2(wor)2.753 E(d)-.37 E F0(does)2.753 E
+.965(not e)108 338.4 R .965(xpand to one or more digits or)-.15 F F1<ad>
+3.465 E F0 3.466(,t)C .966
+(he standard output and standard error are redirected as described)
+-3.466 F(pre)108 350.4 Q(viously)-.25 E(.)-.65 E F1(Mo)87 367.2 Q
+(ving File Descriptors)-.1 E F0(The redirection operator)108 379.2 Q([)
+144 396 Q F2(n)A F0(])A F1(<&)A F2(digit)A F1<ad>A F0(mo)108 412.8 Q
+-.15(ve)-.15 G 3.036(st).15 G .536(he \214le descriptor)-3.036 F F2
+(digit)3.036 E F0 .536(to \214le descriptor)3.036 F F2(n)3.036 E F0
+3.036(,o).24 G 3.036(rt)-3.036 G .535
+(he standard input \(\214le descriptor 0\) if)-3.036 F F2(n)3.035 E F0
+.535(is not speci-)3.035 F(\214ed.)108 424.8 Q F2(digit)5 E F0
+(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A(Similarly)
+108 441.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)144 458.4 Q
+F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 475.2 Q -.15(ve)-.15
+G 2.785(st).15 G .285(he \214le descriptor)-2.785 F F2(digit)2.785 E F0
+.285(to \214le descriptor)2.785 F F2(n)2.785 E F0 2.785(,o).24 G 2.785
+(rt)-2.785 G .286(he standard output \(\214le descriptor 1\) if)-2.785 F
+F2(n)2.786 E F0 .286(is not speci-)2.786 F(\214ed.)108 487.2 Q F1
+(Opening File Descriptors f)87 504 Q(or Reading and Writing)-.25 E F0
+(The redirection operator)108 516 Q([)144 532.8 Q F2(n)A F0(])A F1(<>)A
 F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
-537.6 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349
+549.6 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349
 (to be opened for both reading and writing on \214le)4.619 F(descriptor)
-108 549.6 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
+108 561.6 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
 (le descriptor 0 if)-2.5 E F2(n)2.86 E F0(is not speci\214ed.)2.74 E
 (If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95
-/Times-Bold@0 SF(ALIASES)72 566.4 Q F2(Aliases)108 578.4 Q F0(allo)3.173
+/Times-Bold@0 SF(ALIASES)72 578.4 Q F2(Aliases)108 590.4 Q F0(allo)3.173
 E 3.173(was)-.25 G .674(tring to be substituted for a w)-3.173 F .674
 (ord when it is used as the \214rst w)-.1 F .674
 (ord of a simple command.)-.1 F .394(The shell maintains a list of alia\
-ses that may be set and unset with the)108 590.4 R F1(alias)2.893 E F0
+ses that may be set and unset with the)108 602.4 R F1(alias)2.893 E F0
 (and)2.893 E F1(unalias)2.893 E F0 -.2(bu)2.893 G .393(iltin commands).2
-F(\(see)108 602.4 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09
+F(\(see)108 614.4 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09
 E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E 4.48(w\). The)-.25 F 1.98
 (\214rst w)4.48 F 1.98(ord of each simple command, if unquoted, is)-.1 F
-(check)108 614.4 Q .473(ed to see if it has an alias.)-.1 F .473
+(check)108 626.4 Q .473(ed to see if it has an alias.)-.1 F .473
 (If so, that w)5.473 F .472(ord is replaced by the te)-.1 F .472
 (xt of the alias.)-.15 F .472(The characters)5.472 F F1(/)2.972 E F0(,)A
-F1($)2.972 E F0(,)A F1<92>2.972 E F0(,)A(and)108 626.4 Q F1(=)3.611 E F0
+F1($)2.972 E F0(,)A F1<92>2.972 E F0(,)A(and)108 638.4 Q F1(=)3.611 E F0
 1.111(and an)3.611 F 3.611(yo)-.15 G 3.611(ft)-3.611 G 1.111(he shell)
 -3.611 F F2(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112
 (or quoting characters listed abo)3.612 F 1.412 -.15(ve m)-.15 H 1.112
-(ay not appear in an alias).15 F 3.62(name. The)108 638.4 R 1.12
+(ay not appear in an alias).15 F 3.62(name. The)108 650.4 R 1.12
 (replacement te)3.62 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G
 1.119(alid shell input, including shell metacharacters.)-3.869 F 1.119
-(The \214rst)6.119 F -.1(wo)108 650.4 S .513(rd of the replacement te).1
+(The \214rst)6.119 F -.1(wo)108 662.4 S .513(rd of the replacement te).1
 F .513(xt is tested for aliases, b)-.15 F .513(ut a w)-.2 F .514
 (ord that is identical to an alias being e)-.1 F .514(xpanded is)-.15 F
-.296(not e)108 662.4 R .296(xpanded a second time.)-.15 F .296
+.296(not e)108 674.4 R .296(xpanded a second time.)-.15 F .296
 (This means that one may alias)5.296 F F1(ls)2.796 E F0(to)2.796 E F1
 .296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F1
-(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 674.4 R
+(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 686.4 R
 -.15(ve)-.25 G .542(ly e).15 F .542(xpand the replacement te)-.15 F
 3.042(xt. If)-.15 F .543(the last character of the alias v)3.042 F .543
 (alue is a)-.25 F F2(blank)3.043 E F0 3.043(,t).67 G .543(hen the ne)
--3.043 F(xt)-.15 E(command w)108 686.4 Q(ord follo)-.1 E
+-3.043 F(xt)-.15 E(command w)108 698.4 Q(ord follo)-.1 E
 (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15
-E(Aliases are created and listed with the)108 703.2 Q F1(alias)2.5 E F0
+E(Aliases are created and listed with the)108 715.2 Q F1(alias)2.5 E F0
 (command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F1
-(unalias)2.5 E F0(command.)2.5 E 1.777
-(There is no mechanism for using ar)108 720 R 1.777
-(guments in the replacement te)-.18 F 4.277(xt. If)-.15 F(ar)4.277 E
-1.777(guments are needed, a shell)-.18 F(GNU Bash 4.2)72 768 Q
+(unalias)2.5 E F0(command.)2.5 E(GNU Bash 4.2)72 768 Q
 (2011 September 25)135.955 E(26)185.115 E 0 Cg EP
 %%Page: 27 27
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(function should be used \(see)108 84 Q/F1 9/Times-Bold@0 SF
-(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22(Aliases are not e)108
-100.8 R 1.22(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25
-G 3.72(,u).15 G 1.22(nless the)-3.72 F/F2 10/Times-Bold@0 SF
-(expand_aliases)3.72 E F0 1.22(shell option is set)3.72 F(using)108
-112.8 Q F2(shopt)2.5 E F0(\(see the description of)2.5 E F2(shopt)2.5 E
-F0(under)2.5 E F1(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)
-2.25 E(w\).)-.25 E .436
+-.35 E .284(There is no mechanism for using ar)108 84 R .284
+(guments in the replacement te)-.18 F 2.784(xt. If)-.15 F(ar)2.784 E
+.284(guments are needed, a shell func-)-.18 F(tion should be used \(see)
+108 96 Q/F1 9/Times-Bold@0 SF(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E
+1.22(Aliases are not e)108 112.8 R 1.22
+(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 3.72(,u)
+.15 G 1.22(nless the)-3.72 F/F2 10/Times-Bold@0 SF(expand_aliases)3.72 E
+F0 1.22(shell option is set)3.72 F(using)108 124.8 Q F2(shopt)2.5 E F0
+(\(see the description of)2.5 E F2(shopt)2.5 E F0(under)2.5 E F1
+(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25
+E .436
 (The rules concerning the de\214nition and use of aliases are some)108
-129.6 R .435(what confusing.)-.25 F F2(Bash)5.435 E F0(al)2.935 E -.1
+141.6 R .435(what confusing.)-.25 F F2(Bash)5.435 E F0(al)2.935 E -.1
 (wa)-.1 G .435(ys reads at least).1 F .337
-(one complete line of input before e)108 141.6 R -.15(xe)-.15 G .338
+(one complete line of input before e)108 153.6 R -.15(xe)-.15 G .338
 (cuting an).15 F 2.838(yo)-.15 G 2.838(ft)-2.838 G .338
 (he commands on that line.)-2.838 F .338(Aliases are e)5.338 F .338
-(xpanded when)-.15 F 3.404(ac)108 153.6 S .904
+(xpanded when)-.15 F 3.404(ac)108 165.6 S .904
 (ommand is read, not when it is e)-3.404 F -.15(xe)-.15 G 3.404
 (cuted. Therefore,).15 F .904
 (an alias de\214nition appearing on the same line as)3.404 F 1.161
-(another command does not tak)108 165.6 R 3.662(ee)-.1 G -.25(ff)-3.662
+(another command does not tak)108 177.6 R 3.662(ee)-.1 G -.25(ff)-3.662
 G 1.162(ect until the ne).25 F 1.162(xt line of input is read.)-.15 F
 1.162(The commands follo)6.162 F 1.162(wing the)-.25 F .277
-(alias de\214nition on that line are not af)108 177.6 R .277
+(alias de\214nition on that line are not af)108 189.6 R .277
 (fected by the ne)-.25 F 2.777(wa)-.25 G 2.777(lias. This)-2.777 F(beha)
 2.777 E .277(vior is also an issue when functions)-.2 F .698(are e)108
-189.6 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F
+201.6 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F
 .699(xpanded when a function de\214nition is read, not when the functio\
 n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .495
-(because a function de\214nition is itself a compound command.)108 201.6
+(because a function de\214nition is itself a compound command.)108 213.6
 R .494(As a consequence, aliases de\214ned in a func-)5.494 F .084
-(tion are not a)108 213.6 R -.25(va)-.2 G .084
+(tion are not a)108 225.6 R -.25(va)-.2 G .084
 (ilable until after that function is e).25 F -.15(xe)-.15 G 2.584
 (cuted. T).15 F 2.584(ob)-.8 G 2.584(es)-2.584 G .084(afe, al)-2.584 F
 -.1(wa)-.1 G .085(ys put alias de\214nitions on a sepa-).1 F
-(rate line, and do not use)108 225.6 Q F2(alias)2.5 E F0
-(in compound commands.)2.5 E -.15(Fo)108 242.4 S 2.5(ra).15 G(lmost e)
+(rate line, and do not use)108 237.6 Q F2(alias)2.5 E F0
+(in compound commands.)2.5 E -.15(Fo)108 254.4 S 2.5(ra).15 G(lmost e)
 -2.5 E -.15(ve)-.25 G
 (ry purpose, aliases are superseded by shell functions.).15 E/F3 10.95
-/Times-Bold@0 SF(FUNCTIONS)72 259.2 Q F0 3.468(As)108 271.2 S .968
+/Times-Bold@0 SF(FUNCTIONS)72 271.2 Q F0 3.468(As)108 283.2 S .968
 (hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15
 H(nder).15 E F1 .967(SHELL GRAMMAR)3.467 F/F4 9/Times-Roman@0 SF(,)A F0
-.967(stores a series of commands for)3.217 F 1.001(later e)108 283.2 R
+.967(stores a series of commands for)3.217 F 1.001(later e)108 295.2 R
 -.15(xe)-.15 G 3.501(cution. When).15 F 1.002(the name of a shell funct\
 ion is used as a simple command name, the list of com-)3.501 F .316
-(mands associated with that function name is e)108 295.2 R -.15(xe)-.15
+(mands associated with that function name is e)108 307.2 R -.15(xe)-.15
 G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .315
 (cuted in the conte).15 F .315(xt of the current)-.15 F .035
-(shell; no ne)108 307.2 R 2.535(wp)-.25 G .036
+(shell; no ne)108 319.2 R 2.535(wp)-.25 G .036
 (rocess is created to interpret them \(contrast this with the e)-2.535 F
 -.15(xe)-.15 G .036(cution of a shell script\).).15 F .036(When a)5.036
-F .64(function is e)108 319.2 R -.15(xe)-.15 G .64(cuted, the ar).15 F
+F .64(function is e)108 331.2 R -.15(xe)-.15 G .64(cuted, the ar).15 F
 .639
 (guments to the function become the positional parameters during its e)
--.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 331.2
+-.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 343.2
 R F2(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .532
 (Special parameter)5.532 F F2(0)3.033 E F0 .533(is unchanged.)3.033 F
-.533(The \214rst ele-)5.533 F(ment of the)108 343.2 Q F1(FUNCN)2.5 E
+.533(The \214rst ele-)5.533 F(ment of the)108 355.2 Q F1(FUNCN)2.5 E
 (AME)-.18 E F0 -.25(va)2.25 G
 (riable is set to the name of the function while the function is e).25 E
 -.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108
-360 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
+372 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
 (vironment are identical between a function and its caller with)-.4 F
-1.048(these e)108 372 R 3.548(xceptions: the)-.15 F F1(DEB)3.548 E(UG)
+1.048(these e)108 384 R 3.548(xceptions: the)-.15 F F1(DEB)3.548 E(UG)
 -.09 E F0(and)3.298 E F2(RETURN)3.548 E F0 1.048
 (traps \(see the description of the)3.548 F F2(trap)3.548 E F0 -.2(bu)
-3.548 G 1.048(iltin under).2 F F1(SHELL)3.549 E -.09(BU)108 384 S(IL).09
+3.548 G 1.048(iltin under).2 F F1(SHELL)3.549 E -.09(BU)108 396 S(IL).09
 E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479
 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve)
 -.25 G 2.978(nt).15 G(he)-2.978 E F2(trace)2.978 E F0(attrib)2.978 E
-.478(ute \(see)-.2 F .42(the description of the)108 396 R F1(declar)2.92
+.478(ute \(see)-.2 F .42(the description of the)108 408 R F1(declar)2.92
 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the)-.25 F
 F2 .42(\255o functrace)2.92 F F0 .42
 (shell option has been enabled with the)2.92 F F2(set)2.921 E F0 -.2(bu)
-108 408 S .072(iltin \(in which case all functions inherit the).2 F F2
+108 420 S .072(iltin \(in which case all functions inherit the).2 F F2
 (DEB)2.572 E(UG)-.1 E F0(and)2.572 E F2(RETURN)2.572 E F0 .072
 (traps\), and the)2.572 F F1(ERR)2.571 E F0 .071(trap is not inher)2.321
-F(-)-.2 E(ited unless the)108 420 Q F2(\255o errtrace)2.5 E F0
-(shell option has been enabled.)2.5 E -1.11(Va)108 436.8 S .655
+F(-)-.2 E(ited unless the)108 432 Q F2(\255o errtrace)2.5 E F0
+(shell option has been enabled.)2.5 E -1.11(Va)108 448.8 S .655
 (riables local to the function may be declared with the)1.11 F F2(local)
 3.155 E F0 -.2(bu)3.156 G .656(iltin command.).2 F(Ordinarily)5.656 E
-3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)108 448.8 Q
+3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)108 460.8 Q
 (alues are shared between the function and its caller)-.25 E(.)-.55 E
-(The)108 465.6 Q F2(FUNCNEST)3.529 E F0 -.25(va)3.529 G 1.028
+(The)108 477.6 Q F2(FUNCNEST)3.529 E F0 -.25(va)3.529 G 1.028
 (riable, if set to a numeric v).25 F 1.028
 (alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108
-477.6 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G
+489.6 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G
 (cations that e).2 E(xceed the limit cause the entire command to abort.)
--.15 E .043(If the b)108 494.4 R .043(uiltin command)-.2 F F2 -.18(re)
+-.15 E .043(If the b)108 506.4 R .043(uiltin command)-.2 F F2 -.18(re)
 2.543 G(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043
 (cuted in a function, the function completes and e).15 F -.15(xe)-.15 G
-.044(cution resumes with).15 F 1.012(the ne)108 506.4 R 1.012
+.044(cution resumes with).15 F 1.012(the ne)108 518.4 R 1.012
 (xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G
 1.011(ommand associated with the)-3.511 F F2(RETURN)3.511 E F0 1.011
-(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 518.4 R
+(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 530.4 R
 -.15(xe)-.15 G .213(cution resumes.).15 F .213
 (When a function completes, the v)5.213 F .214
 (alues of the positional parameters and the spe-)-.25 F(cial parameter)
-108 530.4 Q F2(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
+108 542.4 Q F2(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
 -2.65 G(cution.).15 E 1.359
-(Function names and de\214nitions may be listed with the)108 547.2 R F2
+(Function names and de\214nitions may be listed with the)108 559.2 R F2
 <ad66>3.858 E F0 1.358(option to the)3.858 F F2(declar)3.858 E(e)-.18 E
 F0(or)3.858 E F2(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F
-3.39(mands. The)108 559.2 R F2<ad46>3.39 E F0 .89(option to)3.39 F F2
+3.39(mands. The)108 571.2 R F2<ad46>3.39 E F0 .89(option to)3.39 F F2
 (declar)3.39 E(e)-.18 E F0(or)3.39 E F2(typeset)3.39 E F0 .89
 (will list the function names only \(and optionally the source)3.39 F
-.327(\214le and line number)108 571.2 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
+.327(\214le and line number)108 583.2 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
 (he)-2.827 E F2(extdeb)2.827 E(ug)-.2 E F0 .326
 (shell option is enabled\).)2.827 F .326(Functions may be e)5.326 F .326
-(xported so that subshells)-.15 F 1.297(automatically ha)108 583.2 R
+(xported so that subshells)-.15 F 1.297(automatically ha)108 595.2 R
 1.597 -.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F2<ad66>3.797 E
 F0 1.297(option to the)3.797 F F2(export)3.798 E F0 -.2(bu)3.798 G 3.798
 (iltin. A).2 F 1.298(function de\214nition may be)3.798 F .161
-(deleted using the)108 595.2 R F2<ad66>2.661 E F0 .161(option to the)
+(deleted using the)108 607.2 R F2<ad66>2.661 E F0 .161(option to the)
 2.661 F F2(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16
 (that shell functions and v)2.661 F .16(ariables with the same name)-.25
 F 1.325(may result in multiple identically-named entries in the en)108
-607.2 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
-(hildren. Care)-3.825 F(should be tak)108 619.2 Q
+619.2 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
+(hildren. Care)-3.825 F(should be tak)108 631.2 Q
 (en in cases where this may cause a problem.)-.1 E .372
-(Functions may be recursi)108 636 R -.15(ve)-.25 G 5.371(.T).15 G(he)
+(Functions may be recursi)108 648 R -.15(ve)-.25 G 5.371(.T).15 G(he)
 -5.371 E F2(FUNCNEST)2.871 E F0 -.25(va)2.871 G .371
 (riable may be used to limit the depth of the function call).25 F 1.141
-(stack and restrict the number of function in)108 648 R -.2(vo)-.4 G
+(stack and restrict the number of function in)108 660 R -.2(vo)-.4 G
 3.641(cations. By).2 F(def)3.641 E 1.141
-(ault, no limit is imposed on the number of)-.1 F(recursi)108 660 Q .3
--.15(ve c)-.25 H(alls.).15 E F3(ARITHMETIC EV)72 676.8 Q(ALU)-1.478 E
--1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 688.8 R 2.297
+(ault, no limit is imposed on the number of)-.1 F(recursi)108 672 Q .3
+-.15(ve c)-.25 H(alls.).15 E F3(ARITHMETIC EV)72 688.8 Q(ALU)-1.478 E
+-1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 700.8 R 2.297
 (ws arithmetic e)-.25 F 2.297(xpressions to be e)-.15 F -.25(va)-.25 G
 2.297(luated, under certain circumstances \(see the).25 F F2(let)4.797 E
-F0(and)4.797 E F2(declar)108 700.8 Q(e)-.18 E F0 -.2(bu)2.705 G .205
+F0(and)4.797 E F2(declar)108 712.8 Q(e)-.18 E F0 -.2(bu)2.705 G .205
 (iltin commands and).2 F F2 .205(Arithmetic Expansion)2.705 F F0 2.705
 (\). Ev)B .205(aluation is done in \214x)-.25 F .206(ed-width inte)-.15
-F .206(gers with no)-.15 F .429(check for o)108 712.8 R -.15(ve)-.15 G
-(r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428
-(vision by 0 is trapped and \215agged as an error)-.25 F 5.428(.T)-.55 G
-.428(he operators and their prece-)-5.428 F 1.919(dence, associati)108
-724.8 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919
-(alues are the same as in the C language.)-.25 F 1.92(The follo)6.92 F
-1.92(wing list of operators is)-.25 F(GNU Bash 4.2)72 768 Q
+F .206(gers with no)-.15 F 2.07(check for o)108 724.8 R -.15(ve)-.15 G
+(r\215o).15 E 3.37 -.65(w, t)-.25 H 2.07(hough di).65 F 2.07
+(vision by 0 is trapped and \215agged as an error)-.25 F 7.07(.T)-.55 G
+2.07(he operators and their)-7.07 F(GNU Bash 4.2)72 768 Q
 (2011 September 25)135.955 E(27)185.115 E 0 Cg EP
 %%Page: 28 28
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(grouped into le)108 84 Q -.15(ve)-.25 G
+-.35 E .645(precedence, associati)108 84 R(vity)-.25 E 3.145(,a)-.65 G
+.646(nd v)-3.145 F .646(alues are the same as in the C language.)-.25 F
+.646(The follo)5.646 F .646(wing list of operators is)-.25 F
+(grouped into le)108 96 Q -.15(ve)-.25 G
 (ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)-.25 G
 (ls are listed in order of decreasing precedence.).15 E/F1 10
-/Times-Italic@0 SF(id)108 100.8 Q/F2 10/Times-Bold@0 SF(++)A F1(id)2.5 E
-F2<adad>A F0 -.25(va)144 112.8 S
-(riable post-increment and post-decrement).25 E F2(++)108 124.8 Q F1(id)
-A F2<adad>2.5 E F1(id)A F0 -.25(va)144 136.8 S
-(riable pre-increment and pre-decrement).25 E F2 2.5<ad2b>108 148.8 S F0
-(unary minus and plus)19.6 E F2 2.5(!~)108 160.8 S F0
+/Times-Italic@0 SF(id)108 112.8 Q/F2 10/Times-Bold@0 SF(++)A F1(id)2.5 E
+F2<adad>A F0 -.25(va)144 124.8 S
+(riable post-increment and post-decrement).25 E F2(++)108 136.8 Q F1(id)
+A F2<adad>2.5 E F1(id)A F0 -.25(va)144 148.8 S
+(riable pre-increment and pre-decrement).25 E F2 2.5<ad2b>108 160.8 S F0
+(unary minus and plus)19.6 E F2 2.5(!~)108 172.8 S F0
 (logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F2(**)108
-172.8 Q F0 -.15(ex)26 G(ponentiation).15 E F2 2.5(*/%)108 184.8 S F0
+184.8 Q F0 -.15(ex)26 G(ponentiation).15 E F2 2.5(*/%)108 196.8 S F0
 (multiplication, di)10.72 E(vision, remainder)-.25 E F2 2.5<2bad>108
-196.8 S F0(addition, subtraction)19.6 E F2(<< >>)108 208.8 Q F0
-(left and right bitwise shifts)10.7 E F2(<= >= < >)108 220.8 Q F0
-(comparison)144 232.8 Q F2(== !=)108 244.8 Q F0(equality and inequality)
-13.07 E F2(&)108 256.8 Q F0(bitwise AND)27.67 E F2(^)108 268.8 Q F0
+208.8 S F0(addition, subtraction)19.6 E F2(<< >>)108 220.8 Q F0
+(left and right bitwise shifts)10.7 E F2(<= >= < >)108 232.8 Q F0
+(comparison)144 244.8 Q F2(== !=)108 256.8 Q F0(equality and inequality)
+13.07 E F2(&)108 268.8 Q F0(bitwise AND)27.67 E F2(^)108 280.8 Q F0
 (bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|)108
-280.8 Q F0(bitwise OR)33.8 E F2(&&)108 292.8 Q F0(logical AND)19.34 E F2
-(||)108 304.8 Q F0(logical OR)31.6 E F1 -.2(ex)108 316.8 S(pr).2 E F2(?)
+292.8 Q F0(bitwise OR)33.8 E F2(&&)108 304.8 Q F0(logical AND)19.34 E F2
+(||)108 316.8 Q F0(logical OR)31.6 E F1 -.2(ex)108 328.8 S(pr).2 E F2(?)
 A F1 -.2(ex)C(pr).2 E F2(:)A F1 -.2(ex)C(pr).2 E F0
-(conditional operator)144 328.8 Q F2 2.5(=*)108 340.8 S 2.5(=/)-2.5 G
+(conditional operator)144 340.8 Q F2 2.5(=*)108 352.8 S 2.5(=/)-2.5 G
 2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G
-(<= >>= &= ^= |=)-2.5 E F0(assignment)144 352.8 Q F1 -.2(ex)108 364.8 S
-(pr1).2 E F2(,)2.5 E F1 -.2(ex)2.5 G(pr2).2 E F0(comma)144 376.8 Q .68
-(Shell v)108 393.6 R .68(ariables are allo)-.25 F .68
+(<= >>= &= ^= |=)-2.5 E F0(assignment)144 364.8 Q F1 -.2(ex)108 376.8 S
+(pr1).2 E F2(,)2.5 E F1 -.2(ex)2.5 G(pr2).2 E F0(comma)144 388.8 Q .68
+(Shell v)108 405.6 R .68(ariables are allo)-.25 F .68
 (wed as operands; parameter e)-.25 F .68
 (xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F
--.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 405.6 R 1.007(ithin an e)-.4
+-.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 417.6 R 1.007(ithin an e)-.4
 F 1.007(xpression, shell v)-.15 F 1.007
 (ariables may also be referenced by name without using the parameter)
--.25 F -.15(ex)108 417.6 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
+-.25 F -.15(ex)108 429.6 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
 1.041(hell v)-3.541 F 1.041(ariable that is null or unset e)-.25 F -.25
 (va)-.25 G 1.04(luates to 0 when referenced by name without).25 F 1.466
-(using the parameter e)108 429.6 R 1.466(xpansion syntax.)-.15 F 1.467
+(using the parameter e)108 441.6 R 1.466(xpansion syntax.)-.15 F 1.467
 (The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
 (va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39
-(when it is referenced, or when a v)108 441.6 R 1.389
+(when it is referenced, or when a v)108 453.6 R 1.389
 (ariable which has been gi)-.25 F -.15(ve)-.25 G 3.889(nt).15 G(he)
 -3.889 E F1(inte)3.889 E -.1(ge)-.4 G(r).1 E F0(attrib)3.889 E 1.389
 (ute using)-.2 F F2(declar)3.889 E 3.889(e-)-.18 G(i)-3.889 E F0(is)
-3.889 E .332(assigned a v)108 453.6 R 2.832(alue. A)-.25 F .332(null v)
+3.889 E .332(assigned a v)108 465.6 R 2.832(alue. A)-.25 F .332(null v)
 2.832 F .332(alue e)-.25 F -.25(va)-.25 G .332(luates to 0.).25 F 2.832
 (As)5.332 G .332(hell v)-2.832 F .332(ariable need not ha)-.25 F .632
 -.15(ve i)-.2 H(ts).15 E F1(inte)2.832 E -.1(ge)-.4 G(r).1 E F0(attrib)
-2.832 E .333(ute turned on)-.2 F(to be used in an e)108 465.6 Q
+2.832 E .333(ute turned on)-.2 F(to be used in an e)108 477.6 Q
 (xpression.)-.15 E 1.406
-(Constants with a leading 0 are interpreted as octal numbers.)108 482.4
+(Constants with a leading 0 are interpreted as octal numbers.)108 494.4
 R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F(xadecimal.)
--.15 E .112(Otherwise, numbers tak)108 494.4 R 2.612(et)-.1 G .112
+-.15 E .112(Otherwise, numbers tak)108 506.4 R 2.612(et)-.1 G .112
 (he form [)-2.612 F F1(base#)A F0 .112(]n, where the optional)B F1(base)
 2.612 E F0 .113(is a decimal number between 2 and 64)2.612 F .534
-(representing the arithmetic base, and)108 506.4 R F1(n)3.034 E F0 .534
+(representing the arithmetic base, and)108 518.4 R F1(n)3.034 E F0 .534
 (is a number in that base.)3.034 F(If)5.533 E F1(base#)3.033 E F0 .533
 (is omitted, then base 10 is used.)3.033 F .915
-(The digits greater than 9 are represented by the lo)108 518.4 R .916
+(The digits greater than 9 are represented by the lo)108 530.4 R .916
 (wercase letters, the uppercase letters, @, and _, in that)-.25 F(order)
-108 530.4 Q 5.671(.I)-.55 G(f)-5.671 E F1(base)3.171 E F0 .671
+108 542.4 Q 5.671(.I)-.55 G(f)-5.671 E F1(base)3.171 E F0 .671
 (is less than or equal to 36, lo)3.171 F .67
 (wercase and uppercase letters may be used interchangeably to)-.25 F
-(represent numbers between 10 and 35.)108 542.4 Q .234(Operators are e)
-108 559.2 R -.25(va)-.25 G .234(luated in order of precedence.).25 F
+(represent numbers between 10 and 35.)108 554.4 Q .234(Operators are e)
+108 571.2 R -.25(va)-.25 G .234(luated in order of precedence.).25 F
 (Sub-e)5.234 E .234(xpressions in parentheses are e)-.15 F -.25(va)-.25
-G .235(luated \214rst and may).25 F -.15(ove)108 571.2 S
+G .235(luated \214rst and may).25 F -.15(ove)108 583.2 S
 (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95
-/Times-Bold@0 SF(CONDITION)72 588 Q(AL EXPRESSIONS)-.219 E F0 .256
-(Conditional e)108 600 R .256(xpressions are used by the)-.15 F F2([[)
+/Times-Bold@0 SF(CONDITION)72 600 Q(AL EXPRESSIONS)-.219 E F0 .256
+(Conditional e)108 612 R .256(xpressions are used by the)-.15 F F2([[)
 2.755 E F0 .255(compound command and the)2.755 F F2(test)2.755 E F0(and)
 2.755 E F2([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F
-.77(\214le attrib)108 612 R .77
+.77(\214le attrib)108 624 R .77
 (utes and perform string and arithmetic comparisons.)-.2 F .77
 (Expressions are formed from the follo)5.77 F(wing)-.25 E 1.041
-(unary or binary primaries.)108 624 R 1.041(If an)6.041 F(y)-.15 E F1
+(unary or binary primaries.)108 636 R 1.041(If an)6.041 F(y)-.15 E F1
 (\214le)3.541 E F0(ar)3.541 E 1.04
 (gument to one of the primaries is of the form)-.18 F F1(/de)3.54 E
-(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 636 Q
+(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 648 Q
 F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E F1
 (\214le)3.789 E F0(ar)3.789 E 1.289
 (gument to one of the primaries is one of)-.18 F F1(/de)3.789 E(v/stdin)
 -.15 E F0(,)A F1(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F1
-(/de)108 648 Q(v/stderr)-.15 E F0 2.5<2c8c>C
+(/de)108 660 Q(v/stderr)-.15 E F0 2.5<2c8c>C
 (le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5
 (,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722
 (Unless otherwise speci\214ed, primaries that operate on \214les follo)
-108 664.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
--3.221 F(get)-.18 E(of the link, rather than the link itself.)108 676.8
-Q 1.095(When used with)108 694.8 R F2([[)3.595 E F0 3.595(,t)C(he)-3.595
+108 676.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
+-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 688.8
+Q 1.095(When used with)108 706.8 R F2([[)3.595 E F0 3.595(,t)C(he)-3.595
 E F2(<)3.595 E F0(and)3.595 E F2(>)3.595 E F0 1.095(operators sort le)
 3.595 F 1.095(xicographically using the current locale.)-.15 F(The)6.096
 E F2(test)3.596 E F0(com-)3.596 E(mand sorts using ASCII ordering.)108
-706.8 Q(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(28)185.115 E 0
+718.8 Q(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(28)185.115 E 0
 Cg EP
 %%Page: 29 29
 %%BeginPageSetup
@@ -7382,520 +7389,524 @@ A(ce)-.18 E F0 2.967(\)c)C .467(ommand, it causes the shell to)-2.967 F
 .088(stop e)144 208.8 R -.15(xe)-.15 G .087
 (cuting that script and return either).15 F F2(n)2.947 E F0 .087
 (or the e)2.827 F .087(xit status of the last command e)-.15 F -.15(xe)
--.15 G .087(cuted within).15 F .621(the script as the e)144 220.8 R .621
-(xit status of the script.)-.15 F .622(The return status is non-zero if)
-5.622 F F1 -.18(re)3.122 G(tur).18 E(n)-.15 E F0 .622(is used outside a)
-3.122 F .87(function and not during e)144 232.8 R -.15(xe)-.15 G .869
-(cution of a script by).15 F F1(.)3.369 E F0(or)4.202 E F1(sour)3.369 E
-(ce)-.18 E F0 5.869(.A)C 1.169 -.15(ny c)-5.869 H .869
-(ommand associated with the).15 F F1(RETURN)144 244.8 Q F0(trap is e)2.5
+-.15 G .087(cuted within).15 F .613(the script as the e)144 220.8 R .613
+(xit status of the script.)-.15 F(If)5.613 E F2(n)3.113 E F0 .613
+(is supplied, the return v)3.113 F .613
+(alue is its least signi\214cant 8)-.25 F 2.511(bits. The)144 232.8 R
+.011(return status is non-zero if)2.511 F F1 -.18(re)2.511 G(tur).18 E
+(n)-.15 E F0 .011(is supplied a non-numeric ar)2.511 F .01
+(gument, or is used outside)-.18 F 2.909(af)144 244.8 S .409
+(unction and not during e)-2.909 F -.15(xe)-.15 G .41
+(cution of a script by).15 F F1(.)2.91 E F0(or)3.743 E F1(sour)2.91 E
+(ce)-.18 E F0 5.41(.A)C .71 -.15(ny c)-5.41 H .41
+(ommand associated with the).15 F F1(RETURN)144 256.8 Q F0(trap is e)2.5
 E -.15(xe)-.15 G(cuted before e).15 E -.15(xe)-.15 G
-(cution resumes after the function or script.).15 E F1(set)108 261.6 Q
+(cution resumes after the function or script.).15 E F1(set)108 273.6 Q
 F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E
 F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-F1(set)108 273.6 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1
+F1(set)108 285.6 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1
 (+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
-(...])2.5 E -.4(Wi)144 285.6 S .835(thout options, the name and v).4 F
-.835(alue of each shell v)-.25 F .836
+(...])2.5 E -.4(Wi)144 297.6 S .836(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .835
 (ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 297.6
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
-(riables cannot be).25 F 2.946(reset. In)144 309.6 R F2 .447(posix mode)
-2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+(reused as input for setting or resetting the currently-set v)144 309.6
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
+(riables cannot be).25 F 2.947(reset. In)144 321.6 R F2 .447(posix mode)
+2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
 (ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.531
-(locale. When)144 321.6 R 1.031(options are speci\214ed, the)3.531 F
-3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)
--.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623
-(after option processing are treated as v)144 333.6 R 1.624
+(The output is sorted according to the current)5.447 F 3.53
+(locale. When)144 333.6 R 1.031(options are speci\214ed, the)3.53 F
+3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)
+-.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F
+1.624(after option processing are treated as v)144 345.6 R 1.623
 (alues for the positional parameters and are assigned, in)-.25 F(order)
-144 345.6 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
+144 357.6 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
 F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
--.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 357.6 Q
-F0 .54(Automatically mark v)29.3 F .539
-(ariables and functions which are modi\214ed or created for e)-.25 F
-.539(xport to)-.15 F(the en)184 369.6 Q
-(vironment of subsequent commands.)-.4 E F1<ad62>144 381.6 Q F0 .131
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 369.6 Q
+F0 .539(Automatically mark v)29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F .54
+(xport to)-.15 F(the en)184 381.6 Q(vironment of subsequent commands.)
+-.4 E F1<ad62>144 393.6 Q F0 .132
 (Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 393.6 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E F1<ad65>144 405.6 Q F0
-.088(Exit immediately if a)29.86 F F2(pipeline)2.588 E F0 .087
-(\(which may consist of a single)2.588 F F2 .087(simple command)2.587 F
-F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 417.6 Q
-F2 1.293(compound command)3.793 F F0(\(see)3.793 E/F3 9/Times-Bold@0 SF
-1.293(SHELL GRAMMAR)3.793 F F0(abo)3.544 E -.15(ve)-.15 G 3.794(\), e)
-.15 F 1.294(xits with a non-zero status.)-.15 F .08
-(The shell does not e)184 429.6 R .079(xit if the command that f)-.15 F
-.079(ails is part of the command list immediately)-.1 F(follo)184 441.6
-Q 1.654(wing a)-.25 F F1(while)4.154 E F0(or)4.154 E F1(until)4.154 E F0
--.1(ke)4.154 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.655
-(wing the)-.25 F F1(if)4.155 E F0(or)4.155 E F1(elif)4.155 E F0(reserv)
-4.155 E(ed)-.15 E -.1(wo)184 453.6 S .582(rds, part of an).1 F 3.082(yc)
--.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a).15 F F1
-(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .581(list e)3.081 F .581
-(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 465.6 R
-F1(&&)3.417 E F0(or)3.417 E F1(||)3.417 E F0 3.417(,a)C 1.217 -.15(ny c)
--3.417 H .918(ommand in a pipeline b).15 F .918
-(ut the last, or if the command')-.2 F 3.418(sr)-.55 G(eturn)-3.418 E
--.25(va)184 477.6 S .661(lue is being in).25 F -.15(ve)-.4 G .661
-(rted with).15 F F1(!)3.161 E F0 5.661(.I)C 3.161(fac)-5.661 G .66
-(ompound command other than a subshell returns a)-3.161 F 1.112
-(non-zero status because a command f)184 489.6 R 1.112(ailed while)-.1 F
-F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.113
-(eing ignored, the shell does)-3.612 F .178(not e)184 501.6 R 2.678
-(xit. A)-.15 F .178(trap on)2.678 F F1(ERR)2.678 E F0 2.678(,i)C 2.678
-(fs)-2.678 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
-(cuted before the shell e).15 F 2.677(xits. This)-.15 F .177
-(option applies to)2.677 F .617(the shell en)184 513.6 R .617
+2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 405.6 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
+-.25 H(nly when job control is enabled.).15 E F1<ad65>144 417.6 Q F0
+.087(Exit immediately if a)29.86 F F2(pipeline)2.587 E F0 .087
+(\(which may consist of a single)2.587 F F2 .088(simple command)2.588 F
+F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 429.6 Q
+F2 1.294(compound command)3.794 F F0(\(see)3.794 E/F3 9/Times-Bold@0 SF
+1.294(SHELL GRAMMAR)3.794 F F0(abo)3.544 E -.15(ve)-.15 G 3.793(\), e)
+.15 F 1.293(xits with a non-zero status.)-.15 F .079
+(The shell does not e)184 441.6 R .079(xit if the command that f)-.15 F
+.08(ails is part of the command list immediately)-.1 F(follo)184 453.6 Q
+1.655(wing a)-.25 F F1(while)4.155 E F0(or)4.155 E F1(until)4.155 E F0
+-.1(ke)4.155 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.654
+(wing the)-.25 F F1(if)4.154 E F0(or)4.154 E F1(elif)4.154 E F0(reserv)
+4.154 E(ed)-.15 E -.1(wo)184 465.6 S .581(rds, part of an).1 F 3.081(yc)
+-.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a).15 F F1
+(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .582(list e)3.082 F .582
+(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 477.6 R
+F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0 3.418(,a)C 1.218 -.15(ny c)
+-3.418 H .918(ommand in a pipeline b).15 F .917
+(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417 E
+-.25(va)184 489.6 S .66(lue is being in).25 F -.15(ve)-.4 G .66
+(rted with).15 F F1(!)3.16 E F0 5.661(.I)C 3.161(fac)-5.661 G .661
+(ompound command other than a subshell returns a)-3.161 F 1.113
+(non-zero status because a command f)184 501.6 R 1.112(ailed while)-.1 F
+F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.112
+(eing ignored, the shell does)-3.612 F .177(not e)184 513.6 R 2.677
+(xit. A)-.15 F .177(trap on)2.677 F F1(ERR)2.677 E F0 2.677(,i)C 2.678
+(fs)-2.677 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
+(cuted before the shell e).15 F 2.678(xits. This)-.15 F .178
+(option applies to)2.678 F .618(the shell en)184 525.6 R .617
 (vironment and each subshell en)-.4 F .617(vironment separately \(see)
--.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 525.6 R(ONMENT)
+-.4 F F3 .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)184 537.6 R(ONMENT)
 -.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
 (\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15
-(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 537.6
-Q F1<ad66>144 549.6 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F1
-<ad68>144 561.6 Q F0 2.238(Remember the location of commands as the)
-28.74 F 4.738(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F
--.15(xe)-.15 G 4.739(cution. This).15 F(is)4.739 E(enabled by def)184
-573.6 Q(ault.)-.1 E F1<ad6b>144 585.6 Q F0 .514(All ar)28.74 F .514
+(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 549.6
+Q F1<ad66>144 561.6 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F1
+<ad68>144 573.6 Q F0 2.239(Remember the location of commands as the)
+28.74 F 4.738(ya)-.15 G 2.238(re look)-4.738 F 2.238(ed up for e)-.1 F
+-.15(xe)-.15 G 4.738(cution. This).15 F(is)4.738 E(enabled by def)184
+585.6 Q(ault.)-.1 E F1<ad6b>144 597.6 Q F0 .513(All ar)28.74 F .514
 (guments in the form of assignment statements are placed in the en)-.18
-F .513(vironment for a)-.4 F
-(command, not just those that precede the command name.)184 597.6 Q F1
-<ad6d>144 609.6 Q F0 .148(Monitor mode.)25.97 F .148
-(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
-.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651
-(on systems that support it \(see)184 621.6 R F3 .651(JOB CONTR)3.151 F
-(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65
-(processes run in a separate)3.151 F .678(process group.)184 633.6 R
-.679(When a background job completes, the shell prints a line containin\
-g its)5.678 F -.15(ex)184 645.6 S(it status.).15 E F1<ad6e>144 657.6 Q
-F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F -.15(xe)-.15 G
-.653(cute them.).15 F .652(This may be used to check a shell script for)
-5.653 F(syntax errors.)184 669.6 Q(This is ignored by interacti)5 E .3
--.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 681.6 Q F2(option\255name)2.5
-E F0(The)184 693.6 Q F2(option\255name)2.5 E F0(can be one of the follo)
-2.5 E(wing:)-.25 E F1(allexport)184 705.6 Q F0(Same as)224 717.6 Q F1
-<ad61>2.5 E F0(.)A(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(62)
+F .514(vironment for a)-.4 F
+(command, not just those that precede the command name.)184 609.6 Q F1
+<ad6d>144 621.6 Q F0 .149(Monitor mode.)25.97 F .149
+(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F
+.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .65
+(on systems that support it \(see)184 633.6 R F3 .651(JOB CONTR)3.151 F
+(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .651
+(processes run in a separate)3.151 F .679(process group.)184 645.6 R
+.678(When a background job completes, the shell prints a line containin\
+g its)5.679 F -.15(ex)184 657.6 S(it status.).15 E F1<ad6e>144 669.6 Q
+F0 .652(Read commands b)28.74 F .652(ut do not e)-.2 F -.15(xe)-.15 G
+.652(cute them.).15 F .653(This may be used to check a shell script for)
+5.652 F(syntax errors.)184 681.6 Q(This is ignored by interacti)5 E .3
+-.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 693.6 Q F2(option\255name)2.5
+E F0(The)184 705.6 Q F2(option\255name)2.5 E F0(can be one of the follo)
+2.5 E(wing:)-.25 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(62)
 185.115 E 0 Cg EP
 %%Page: 63 63
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(braceexpand)184 84 Q F0(Same as)224 96 Q F1
-<ad42>2.5 E F0(.)A F1(emacs)184 108 Q F0 .089
+-.35 E/F1 10/Times-Bold@0 SF(allexport)184 84 Q F0(Same as)224 96 Q F1
+<ad61>2.5 E F0(.)A F1(braceexpand)184 108 Q F0(Same as)224 120 Q F1
+<ad42>2.5 E F0(.)A F1(emacs)184 132 Q F0 .089
 (Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
 -.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 120 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(when the shell is interacti)224 144 R -.15(ve)-.25 G 3.45(,u).15 G .95
 (nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E
-F0 2.5(option. This)224 132 R(also af)2.5 E(fects the editing interf)
+F0 2.5(option. This)224 156 R(also af)2.5 E(fects the editing interf)
 -.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err)
-184 144 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
-(errtrace)184 156 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
-184 168 Q F0(Same as)224 180 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 192 Q
-F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 204 Q F0
-(Same as)224 216 Q F1<ad48>2.5 E F0(.)A F1(history)184 228 Q F0 .586
+184 168 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
+(errtrace)184 180 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
+184 192 Q F0(Same as)224 204 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 216 Q
+F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 228 Q F0
+(Same as)224 240 Q F1<ad48>2.5 E F0(.)A F1(history)184 252 Q F0 .587
 (Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587
 (escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F2 9
 /Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F3 9/Times-Roman@0 SF
-(.)A F0 .587(This option is)5.087 F(on by def)224 240 Q
+(.)A F0 .587(This option is)5.087 F(on by def)224 264 Q
 (ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
-252 Q(eeof)-.18 E F0 1.657(The ef)224 264 R 1.657
+276 Q(eeof)-.18 E F0 1.656(The ef)224 288 R 1.656
 (fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10)
-4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted).15 E(\(see)224
-276 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
-.15 E F1 -.1(ke)184 288 S(yw).1 E(ord)-.1 E F0(Same as)224 300 Q F1
-<ad6b>2.5 E F0(.)A F1(monitor)184 312 Q F0(Same as)5.56 E F1<ad6d>2.5 E
-F0(.)A F1(noclob)184 324 Q(ber)-.1 E F0(Same as)224 336 Q F1<ad43>2.5 E
-F0(.)A F1(noexec)184 348 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
-(noglob)184 360 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
-372 Q F0(Currently ignored.)16.66 E F1(notify)184 384 Q F0(Same as)15 E
-F1<ad62>2.5 E F0(.)A F1(nounset)184 396 Q F0(Same as)6.66 E F1<ad75>2.5
-E F0(.)A F1(onecmd)184 408 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
-(ph)184 420 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
-(pipefail)184 432 Q F0 1.029(If set, the return v)7.77 F 1.029
-(alue of a pipeline is the v)-.25 F 1.03
-(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 444 R
+4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224
+300 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
+.15 E F1 -.1(ke)184 312 S(yw).1 E(ord)-.1 E F0(Same as)224 324 Q F1
+<ad6b>2.5 E F0(.)A F1(monitor)184 336 Q F0(Same as)5.56 E F1<ad6d>2.5 E
+F0(.)A F1(noclob)184 348 Q(ber)-.1 E F0(Same as)224 360 Q F1<ad43>2.5 E
+F0(.)A F1(noexec)184 372 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
+(noglob)184 384 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
+396 Q F0(Currently ignored.)16.66 E F1(notify)184 408 Q F0(Same as)15 E
+F1<ad62>2.5 E F0(.)A F1(nounset)184 420 Q F0(Same as)6.66 E F1<ad75>2.5
+E F0(.)A F1(onecmd)184 432 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
+(ph)184 444 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
+(pipefail)184 456 Q F0 1.03(If set, the return v)7.77 F 1.029
+(alue of a pipeline is the v)-.25 F 1.029
+(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 468 R
 1.136
 (xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 456 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 468 Q F0
-2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+-.15 F -.15(ex)224 480 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 492 Q F0
+2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F(POSIX standard to match the standard \()224 480 Q
-/F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 492 Q(vileged)
--.1 E F0(Same as)224 504 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 516 S
-(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 528 Q F0
-1.466(Use a vi-style command line editing interf)32.22 F 3.965
-(ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F
-(interf)224 540 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
-(.)A F1(xtrace)184 552 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
-570 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F5
-(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
-(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
-582 Q F0 1.072(is supplied with no)3.572 F F5(option\255name)3.572 E F0
-3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
-(commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 594 Q F1<ad70>
-144 606 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F5(privile)4.821 E -.1
-(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
-F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.072
-(\214les are not pro-)3.322 F 1.501
-(cessed, shell functions are not inherited from the en)184 618 R 1.5
-(vironment, and the)-.4 F F2(SHELLOPTS)4 E F3(,)A F2 -.27(BA)184 630 S
-(SHOPTS).27 E F3(,)A F2(CDP)2.774 E -.855(AT)-.666 G(H).855 E F3(,)A F0
-(and)2.774 E F2(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G .524
-(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
-(vironment,)-.4 E .38(are ignored.)184 642 R .38
-(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
--.25 H .379(ser \(group\) id not equal to the real).15 F .461
-(user \(group\) id, and the)184 654 R F1<ad70>2.961 E F0 .461
-(option is not supplied, these actions are tak)2.961 F .462
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 666 Q .695 -.15(ve u)-.25 H .395
+(fers from the)-.25 F(POSIX standard to match the standard \()224 504 Q
+/F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 516 Q(vileged)
+-.1 E F0(Same as)224 528 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 540 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 552 Q F0
+1.465(Use a vi-style command line editing interf)32.22 F 3.966
+(ace. This)-.1 F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F
+(interf)224 564 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
+(.)A F1(xtrace)184 576 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
+594 Q F1<ad6f>3.053 E F0 .553(is supplied with no)3.053 F F5
+(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552
+(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184
+606 Q F0 1.071(is supplied with no)3.571 F F5(option\255name)3.571 E F0
+3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072
+(commands to recreate the current)3.572 F
+(option settings is displayed on the standard output.)184 618 Q F1<ad70>
+144 630 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F5(privile)4.822 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F
+F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.071
+(\214les are not pro-)3.322 F 1.5
+(cessed, shell functions are not inherited from the en)184 642 R 1.501
+(vironment, and the)-.4 F F2(SHELLOPTS)4.001 E F3(,)A F2 -.27(BA)184 654
+S(SHOPTS).27 E F3(,)A F2(CDP)2.775 E -.855(AT)-.666 G(H).855 E F3(,)A F0
+(and)2.775 E F2(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524
+(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F
+(vironment,)-.4 E .379(are ignored.)184 666 R .379
+(If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15
+(ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462
+(user \(group\) id, and the)184 678 R F1<ad70>2.961 E F0 .461
+(option is not supplied, these actions are tak)2.961 F .461
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 690 Q .694 -.15(ve u)-.25 H .394
 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
-2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .386(user id is not reset.)184 678 R -.45(Tu)5.386 G
-.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
-F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
-(set to the real user and group ids.)184 690 Q F1<ad74>144 702 Q F0
-(Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
-E F1<ad75>144 714 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
-bles and parameters other than the special parameters "@" and "*" as an)
--.25 F 2.12(error when performing parameter e)184 726 R 4.62
-(xpansion. If)-.15 F -.15(ex)4.62 G 2.12
-(pansion is attempted on an unset).15 F(GNU Bash 4.2)72 768 Q
+2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25
+E -.15(ve)-.25 G .387(user id is not reset.)184 702 R -.45(Tu)5.387 G
+.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886
+F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F
+(set to the real user and group ids.)184 714 Q(GNU Bash 4.2)72 768 Q
 (2011 September 25)135.955 E(63)185.115 E 0 Cg EP
 %%Page: 64 64
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E -.25(va)184 84 S .203(riable or parameter).25 F 2.702(,t)-.4 G
-.202(he shell prints an error message, and, if not interacti)-2.702 F
--.15(ve)-.25 G 2.702(,e).15 G .202(xits with)-2.852 F 2.5(an)184 96 S
-(on-zero status.)-2.5 E/F1 10/Times-Bold@0 SF<ad76>144 108 Q F0
-(Print shell input lines as the)29.3 E 2.5(ya)-.15 G(re read.)-2.5 E F1
-<ad78>144 120 Q F0 .315(After e)29.3 F .315(xpanding each)-.15 F/F2 10
-/Times-Italic@0 SF .315(simple command)2.815 F F0(,)A F1 -.25(fo)2.815 G
-(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E F1
-(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 132 R F1
--.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236
-(xpanded v)-.15 F 1.236(alue of)-.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E
-/F4 9/Times-Roman@0 SF(,)A F0(follo)3.486 E 1.236(wed by the com-)-.25 F
-(mand and its e)184 144 Q(xpanded ar)-.15 E(guments or associated w)-.18
-E(ord list.)-.1 E F1<ad42>144 156 Q F0 2.578(The shell performs brace e)
-27.63 F 2.578(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0
-(abo)5.078 E -.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F
-(def)184 168 Q(ault.)-.1 E F1<ad43>144 180 Q F0 .214(If set,)27.08 F F1
-(bash)2.714 E F0 .214(does not o)2.714 F -.15(ve)-.15 G .214
-(rwrite an e).15 F .214(xisting \214le with the)-.15 F F1(>)2.714 E F0
-(,)A F1(>&)2.714 E F0 2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213
-(redirection opera-)2.713 F 3.053(tors. This)184 192 R .553(may be o)
-3.053 F -.15(ve)-.15 G .553
+-.35 E/F1 10/Times-Bold@0 SF<ad74>144 84 Q F0(Exit after reading and e)
+30.97 E -.15(xe)-.15 G(cuting one command.).15 E F1<ad75>144 96 Q F0
+-.35(Tr)28.74 G .043(eat unset v).35 F .044(ariables and parameters oth\
+er than the special parameters "@" and "*" as an)-.25 F .183
+(error when performing parameter e)184 108 R 2.683(xpansion. If)-.15 F
+-.15(ex)2.683 G .182(pansion is attempted on an unset v).15 F(ari-)-.25
+E .746(able or parameter)184 120 R 3.246(,t)-.4 G .746
+(he shell prints an error message, and, if not interacti)-3.246 F -.15
+(ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184
+132 Q F1<ad76>144 144 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 156 Q F0 .315(After e)29.3 F .315
+(xpanding each)-.15 F/F2 10/Times-Italic@0 SF .315(simple command)2.815
+F F0(,)A F1 -.25(fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E
+F0(command,)2.815 E F1(select)2.815 E F0(command,)2.815 E 1.235
+(or arithmetic)184 168 R F1 -.25(fo)3.736 G(r).25 E F0 1.236
+(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of)
+-.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E/F4 9/Times-Roman@0 SF(,)A F0
+(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 180 Q
+(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
+<ad42>144 192 Q F0 2.579(The shell performs brace e)27.63 F 2.578
+(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
+-.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 204 Q
+(ault.)-.1 E F1<ad43>144 216 Q F0 .213(If set,)27.08 F F1(bash)2.713 E
+F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
+2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
+3.054(tors. This)184 228 R .553(may be o)3.053 F -.15(ve)-.15 G .553
 (rridden when creating output \214les by using the redirection opera-)
-.15 F(tor)184 204 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 216 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
--2.604 F F1(ERR)2.604 E F0 .103
-(is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 228 R -.15(xe)-.15 G .838(cuted in a subshell en).15
-F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 240 Q F1
-<ad48>144 252 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
-(style history substitution.)5.532 F .531(This option is on by def)5.532
-F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 264 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 276 Q F0 1.164
+.15 F(tor)184 240 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 252 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on)
+-2.603 F F1(ERR)2.603 E F0 .104
+(is inherited by shell functions, command substitutions, and com-)2.603
+F .839(mands e)184 264 R -.15(xe)-.15 G .839(cuted in a subshell en).15
+F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838
+(trap is normally not inherited in)3.338 F(such cases.)184 276 Q F1
+<ad48>144 288 Q F0(Enable)26.52 E F1(!)3.031 E F0 .531
+(style history substitution.)5.531 F .531(This option is on by def)5.531
+F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 300 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 312 Q F0 1.165
 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
-(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
-(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 288 R 2.822(orking directory)-.1 F 7.822
-(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
-(ysical directory structure)-.05 F 2.685(instead. By)184 300 R(def)2.685
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164
+(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
+(that change the current w)184 324 R 2.822(orking directory)-.1 F 7.822
+(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822
+(ysical directory structure)-.05 F 2.686(instead. By)184 336 R(def)2.686
 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
 (ws the logical chain of directories when performing com-)-.25 F
-(mands which change the current directory)184 312 Q(.)-.65 E F1<ad54>144
-324 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(mands which change the current directory)184 348 Q(.)-.65 E F1<ad54>144
+360 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
 (DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
 (are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 336 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 372 R -.15(xe)-.15 G 1.932
 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
-(UG)-.1 E F0(and)4.432 E F1(RETURN)184 348 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 360 Q
-F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 384 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 396 Q
+F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
 (his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 372 Q F2
-(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
+(Otherwise,)5.401 E(the positional parameters are set to the)184 408 Q
+F2(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
 (ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E F0(.)A F1<ad>144
-384 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2
-(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G
-1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 396 R
-F1<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
-(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
-3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
-(parameters remain unchanged.)184 408 Q .425(The options are of)144
-424.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+420 Q F0 1.945(Signal the end of options, cause all remaining)34.3 F F2
+(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G
+1.944(ssigned to the positional)-4.444 F 3.445(parameters. The)184 432 R
+F1<ad78>3.445 E F0(and)3.445 E F1<ad76>3.445 E F0 .945
+(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no)
+3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B
+(parameters remain unchanged.)184 444 Q .425(The options are of)144
+460.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
 (ault unless otherwise noted.)-.1 F .425
-(Using + rather than \255 causes these options)5.425 F .178
-(to be turned of)144 436.8 R 2.678(f. The)-.25 F .178
+(Using + rather than \255 causes these options)5.425 F .177
+(to be turned of)144 472.8 R 2.677(f. The)-.25 F .178
 (options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 448.8 R F1<24ad>2.566 E F0
+-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066
+(current set of options may be found in)144 484.8 R F1<24ad>2.566 E F0
 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
-(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
-(is encountered.)144 460.8 Q F1(shift)108 477.6 Q F0([)2.5 E F2(n)A F0
-(])A .429(The positional parameters from)144 489.6 R F2(n)2.929 E F0
-.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
-.428(rameters represented by the num-).15 F(bers)144 501.6 Q F1($#)2.582
-E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
-(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
--.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
-.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
-(is 0, no parameters are changed.)144 513.6 R(If)5.06 E F2(n)2.92 E F0
+(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F
+(is encountered.)144 496.8 Q F1(shift)108 513.6 Q F0([)2.5 E F2(n)A F0
+(])A .428(The positional parameters from)144 525.6 R F2(n)2.928 E F0
+.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G
+.429(rameters represented by the num-).15 F(bers)144 537.6 Q F1($#)2.583
+E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A F2(n)A F0 .083
+(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga)
+-.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to)
+.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06
+(is 0, no parameters are changed.)144 549.6 R(If)5.06 E F2(n)2.92 E F0
 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
 (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
-(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 525.6 R
-.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
-.144(is greater than)2.884 F F1($#)2.644 E F0
-(or less than zero; otherwise 0.)144 537.6 Q F1(shopt)108 554.4 Q F0([)
+(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 561.6 R
+.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0
+.143(is greater than)2.883 F F1($#)2.643 E F0
+(or less than zero; otherwise 0.)144 573.6 Q F1(shopt)108 590.4 Q F0([)
 2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
--2.5 E F0(...])2.5 E -.8(To)144 566.4 S .222(ggle the v).8 F .222
+-2.5 E F0(...])2.5 E -.8(To)144 602.4 S .222(ggle the v).8 F .222
 (alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
 (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
 <ad70>2.722 E F0 .721(option, a list of all settable options is display\
-ed, with an indication of whether or not each is set.)144 578.4 R(The)
-144 590.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
-d in a form that may be reused as input.)2.828 F .327(Other options)
-5.327 F(ha)144 602.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F1<ad73>144 614.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
-E F0(.)A F1<ad75>144 626.4 Q F0(Disable \(unset\) each)24.74 E F2
-(optname)2.5 E F0(.)A F1<ad71>144 638.4 Q F0 .003(Suppresses normal out\
+ed, with an indication of whether or not each is set.)144 614.4 R(The)
+144 626.4 Q F1<ad70>2.827 E F0 .327(option causes output to be displaye\
+d in a form that may be reused as input.)2.827 F .328(Other options)
+5.328 F(ha)144 638.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 650.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 662.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 674.4 Q F0 .003(Suppresses normal out\
 put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 650.4 R .256
-(If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
+(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 686.4 R .255
+(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256
 (guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
-<ad71>2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F
-(all)180 662.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
-2.5 E F1<ad6f>144 674.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+<ad71>2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F
+(all)180 698.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 710.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
-(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624
-(If either)144 691.2 R F1<ad73>3.124 E F0(or)3.124 E F1<ad75>3.124 E F0
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .625
+(If either)144 727.2 R F1<ad73>3.125 E F0(or)3.124 E F1<ad75>3.124 E F0
 .624(is used with no)3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)
 -.18 E F1(shopt)3.124 E F0(sho)3.124 E .624
-(ws only those options which are)-.25 F 2.234(set or unset, respecti)144
-703.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)-.65 G 2.234
-(nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0 2.234
-(options are disabled \(unset\) by)4.734 F(def)144 715.2 Q(ault.)-.1 E
-(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(64)185.115 E 0 Cg EP
+(ws only those options which are)-.25 F(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(64)185.115 E 0 Cg EP
 %%Page: 65 65
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.544(The return status when listing options is zero if all)144
-84 R/F1 10/Times-Italic@0 SF(optnames)4.044 E F0 1.545
-(are enabled, non-zero otherwise.)4.045 F .696
+-.35 E 2.233(set or unset, respecti)144 84 R -.15(ve)-.25 G(ly).15 E
+7.234(.U)-.65 G 2.234(nless otherwise noted, the)-7.234 F/F1 10
+/Times-Bold@0 SF(shopt)4.734 E F0 2.234
+(options are disabled \(unset\) by)4.734 F(def)144 96 Q(ault.)-.1 E
+1.544(The return status when listing options is zero if all)144 112.8 R
+/F2 10/Times-Italic@0 SF(optnames)4.044 E F0 1.544
+(are enabled, non-zero otherwise.)4.044 F .696
 (When setting or unsetting options, the return status is zero unless an)
-144 96 R F1(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
--.25 F(option.)144 108 Q(The list of)144 124.8 Q/F2 10/Times-Bold@0 SF
-(shopt)2.5 E F0(options is:)2.5 E F2(autocd)144 142.8 Q F0 .199
+144 124.8 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696
+(alid shell)-.25 F(option.)144 136.8 Q(The list of)144 153.6 Q F1(shopt)
+2.5 E F0(options is:)2.5 E F1(autocd)144 171.6 Q F0 .2
 (If set, a command name that is the name of a directory is e)11.11 F
--.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 154.8 Q F2(cd)2.5 E F0 2.5(command. This)2.5 F
+-.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
+(ment to the)184 183.6 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F2(cdable_v)144 166.8 Q(ars)-.1 E F0 .156(If set, an ar)184 178.8 R .156
-(gument to the)-.18 F F2(cd)2.656 E F0 -.2(bu)2.656 G .155
+F1(cdable_v)144 195.6 Q(ars)-.1 E F0 .155(If set, an ar)184 207.6 R .155
+(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
 (iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 190.8 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F2(cdspell)144 202.8 Q F0
+(name of a v)184 219.6 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 231.6 Q F0
 1.055
 (If set, minor errors in the spelling of a directory component in a)
-10.55 F F2(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 214.8 R 1.488(errors check)3.988 F 1.487
-(ed for are transposed characters, a missing character)-.1 F 3.987(,a)
--.4 G(nd)-3.987 E .77(one character too man)184 226.8 R 4.57 -.65(y. I)
+10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
+(corrected. The)184 243.6 R 1.487(errors check)3.987 F 1.487
+(ed for are transposed characters, a missing character)-.1 F 3.988(,a)
+-.4 G(nd)-3.988 E .77(one character too man)184 255.6 R 4.57 -.65(y. I)
 -.15 H 3.27(fac).65 G .77
 (orrection is found, the corrected \214lename is printed, and)-3.27 F
-(the command proceeds.)184 238.8 Q
+(the command proceeds.)184 267.6 Q
 (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F2(checkhash)144 250.8 Q F0 2.08(If set,)184 262.8 R F2(bash)4.58
-E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
-(xists before trying to)-.15 F -.15(exe)184 274.8 S(cute it.).15 E
+.15 E F1(checkhash)144 279.6 Q F0 2.079(If set,)184 291.6 R F1(bash)
+4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F
+2.08(xists before trying to)-.15 F -.15(exe)184 303.6 S(cute it.).15 E
 (If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F2(checkjobs)144 286.8
-Q F0 .448(If set,)184 298.8 R F2(bash)2.948 E F0 .448
-(lists the status of an)2.948 F 2.949(ys)-.15 G .449
-(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.439(shell. If)184 310.8 R(an)3.439 E 3.439(yj)-.15 G
-.938(obs are running, this causes the e)-3.439 F .938
-(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
-(attempted without an interv)184 322.8 R 2.203(ening command \(see)-.15
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 315.6
+Q F0 .449(If set,)184 327.6 R F1(bash)2.949 E F0 .449
+(lists the status of an)2.949 F 2.949(ys)-.15 G .448
+(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15
+F -.15(ve)-.25 G 3.438(shell. If)184 339.6 R(an)3.438 E 3.438(yj)-.15 G
+.938(obs are running, this causes the e)-3.438 F .938
+(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 2.203
+(attempted without an interv)184 351.6 R 2.203(ening command \(see)-.15
 F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 334.8 Q -.1(wa)
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 363.6 Q -.1(wa)
 -.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
-(obs are stopped.)-2.5 E F2(checkwinsize)144 346.8 Q F0 .797(If set,)184
-358.8 R F2(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
-.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G
-.796(pdates the)-3.296 F -.25(va)184 370.8 S(lues of).25 E F3(LINES)2.5
-E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F2(cmdhist)
-144 382.8 Q F0 1.202(If set,)6.11 F F2(bash)3.702 E F0 1.202
+(obs are stopped.)-2.5 E F1(checkwinsize)144 375.6 Q F0 .796(If set,)184
+387.6 R F1(bash)3.296 E F0 .796(checks the windo)3.296 F 3.296(ws)-.25 G
+.797(ize after each command and, if necessary)-3.296 F 3.297(,u)-.65 G
+.797(pdates the)-3.297 F -.25(va)184 399.6 S(lues of).25 E F3(LINES)2.5
+E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist)
+144 411.6 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202
 (attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
 (ll lines of a multiple-line command in the same history).15 F(entry)184
-394.8 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E F2(compat31)144 406.8
-Q F0 .42(If set,)184 418.8 R F2(bash)2.92 E F0 .42(changes its beha)2.92
-F .419(vior to that of v)-.2 F .419
+423.6 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 435.6
+Q F0 .419(If set,)184 447.6 R F1(bash)2.919 E F0 .419(changes its beha)
+2.919 F .419(vior to that of v)-.2 F .42
 (ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E(to the)184
-430.8 Q F2([[)2.5 E F0(conditional command')2.5 E(s)-.55 E F2(=~)2.5 E
-F0(operator)2.5 E(.)-.55 E F2(compat32)144 442.8 Q F0 1.409(If set,)184
-454.8 R F2(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409
-(vior to that of v)-.2 F 1.41
-(ersion 3.2 with respect to locale-speci\214c)-.15 F 1.266
-(string comparison when using the)184 466.8 R F2([[)3.766 E F0 1.266
-(conditional command')3.766 F(s)-.55 E F2(<)3.766 E F0(and)3.766 E F2(>)
-3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 478.8 S .512
-(rsions prior to bash-4.1 use ASCII collation and).15 F F1(str)3.012 E
-(cmp)-.37 E F0 .513(\(3\); bash-4.1 and later use the).19 F
-(current locale')184 490.8 Q 2.5(sc)-.55 G(ollation sequence and)-2.5 E
-F1(str)2.5 E(coll)-.37 E F0(\(3\).).51 E F2(compat40)144 502.8 Q F0 1.41
-(If set,)184 514.8 R F2(bash)3.91 E F0 1.41(changes its beha)3.91 F
-1.409(vior to that of v)-.2 F 1.409
-(ersion 4.0 with respect to locale-speci\214c)-.15 F .422
-(string comparison when using the)184 526.8 R F2([[)2.922 E F0 .422
-(conditional command')2.922 F(s)-.55 E F2(<)2.922 E F0(and)2.922 E F2(>)
-2.923 E F0 .423(operators \(see pre-)2.923 F(vious item\) and the ef)184
-538.8 Q(fect of interrupting a command list.)-.25 E F2(compat41)144
-550.8 Q F0 1.444(If set,)184 562.8 R F2(bash)3.944 E F0 3.944(,w)C 1.443
+459.6 Q F1([[)2.5 E F0(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E
+F0(operator)2.5 E(.)-.55 E F1(compat32)144 471.6 Q F0 1.41(If set,)184
+483.6 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409
+(vior to that of v)-.2 F 1.409
+(ersion 3.2 with respect to locale-speci\214c)-.15 F 1.265
+(string comparison when using the)184 495.6 R F1([[)3.766 E F0 1.266
+(conditional command')3.766 F(s)-.55 E F1(<)3.766 E F0(and)3.766 E F1(>)
+3.766 E F0 3.766(operators. Bash)3.766 F -.15(ve)184 507.6 S .513
+(rsions prior to bash-4.1 use ASCII collation and).15 F F2(str)3.012 E
+(cmp)-.37 E F0 .512(\(3\); bash-4.1 and later use the).19 F
+(current locale')184 519.6 Q 2.5(sc)-.55 G(ollation sequence and)-2.5 E
+F2(str)2.5 E(coll)-.37 E F0(\(3\).).51 E F1(compat40)144 531.6 Q F0
+1.409(If set,)184 543.6 R F1(bash)3.909 E F0 1.409(changes its beha)
+3.909 F 1.409(vior to that of v)-.2 F 1.41
+(ersion 4.0 with respect to locale-speci\214c)-.15 F .423
+(string comparison when using the)184 555.6 R F1([[)2.922 E F0 .422
+(conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>)
+2.922 E F0 .422(operators \(see pre-)2.922 F(vious item\) and the ef)184
+567.6 Q(fect of interrupting a command list.)-.25 E F1(compat41)144
+579.6 Q F0 1.443(If set,)184 591.6 R F1(bash)3.943 E F0 3.943(,w)C 1.444
 (hen in posix mode, treats a single quote in a double-quoted parameter)
--3.944 F -.15(ex)184 574.8 S .958(pansion as a special character).15 F
-5.958(.T)-.55 G .959(he single quotes must match \(an e)-5.958 F -.15
-(ve)-.25 G 3.459(nn).15 G .959(umber\) and)-3.459 F .59
+-3.943 F -.15(ex)184 603.6 S .959(pansion as a special character).15 F
+5.959(.T)-.55 G .958(he single quotes must match \(an e)-5.959 F -.15
+(ve)-.25 G 3.458(nn).15 G .958(umber\) and)-3.458 F .59
 (the characters between the single quotes are considered quoted.)184
-586.8 R .59(This is the beha)5.59 F .59(vior of)-.2 F .589
-(posix mode through v)184 598.8 R .589(ersion 4.1.)-.15 F .589(The def)
-5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .59
-(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 610.8 Q F2
-(complete_fullquote)144 622.8 Q F0 .654(If set,)184 634.8 R F2(bash)
+615.6 R .59(This is the beha)5.59 F .59(vior of)-.2 F .59
+(posix mode through v)184 627.6 R .589(ersion 4.1.)-.15 F .589(The def)
+5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .589
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 639.6 Q F1
+(complete_fullquote)144 651.6 Q F0 .653(If set,)184 663.6 R F1(bash)
 3.153 E F0 .653(quotes all shell metacharacters in \214lenames and dire\
-ctory names when per)3.153 F(-)-.2 E 1.524(forming completion.)184 646.8
-R 1.524(If not set,)6.524 F F2(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15
+ctory names when per)3.153 F(-)-.2 E 1.525(forming completion.)184 675.6
+R 1.524(If not set,)6.525 F F1(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15
 G 4.024(sm).15 G 1.524(etacharacters such as the dollar sign)-4.024 F
 2.667(from the set of characters that will be quoted in completed \214l\
-enames when these)184 658.8 R .028(metacharacters appear in shell v)184
-670.8 R .028(ariable references in w)-.25 F .029(ords to be completed.)
--.1 F .029(This means)5.029 F 1.073(that dollar signs in v)184 682.8 R
+enames when these)184 687.6 R .029(metacharacters appear in shell v)184
+699.6 R .028(ariable references in w)-.25 F .028(ords to be completed.)
+-.1 F .028(This means)5.028 F 1.072(that dollar signs in v)184 711.6 R
 1.073(ariable names that e)-.25 F 1.073
 (xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
-(ev e)184 694.8 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
+(ev e)184 723.6 T 1.923 -.4(r, a).25 H 1.423 -.15(ny d).4 H 1.123
 (ollar signs appearing in \214lenames will not be quoted, either).15 F
-6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
-(only when bash is using backslashes to quote completed \214lenames.)184
-706.8 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 718.8 Q
-(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E(GNU Bash 4.2)72 768 Q(2011 September 25)
-135.955 E(65)185.115 E 0 Cg EP
+6.123(.T)-.55 G 1.122(his is acti)-6.123 F -.15(ve)-.25 G(GNU Bash 4.2)
+72 768 Q(2011 September 25)135.955 E(65)185.115 E 0 Cg EP
 %%Page: 66 66
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(dir)144 84 Q(expand)-.18 E F0 .486(If set,)
-184 96 R F1(bash)2.986 E F0 .486
+-.35 E .59
+(only when bash is using backslashes to quote completed \214lenames.)184
+84 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 96 Q
+(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
+(ersions through 4.2.)-.15 E/F1 10/Times-Bold@0 SF(dir)144 108 Q(expand)
+-.18 E F0 .487(If set,)184 120 R F1(bash)2.987 E F0 .486
 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
-.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184
-108 R .179(This changes the contents of the readline editing b)5.18 F
-(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,)
-184 120 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E F1(dirspell)144 132 Q F0 .858(If set,)7.77 F
-F1(bash)3.358 E F0 .858
-(attempts spelling correction on directory names during w)3.358 F .859
+.486(xpansion when perform-)-.15 F .179(ing \214lename completion.)184
+132 R .179(This changes the contents of the readline editing b)5.179 F
+(uf)-.2 E(fer)-.25 E 5.18(.I)-.55 G 2.68(fn)-5.18 G(ot)-2.68 E(set,)184
+144 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F1(dirspell)144 156 Q F0 .859(If set,)7.77 F
+F1(bash)3.359 E F0 .858
+(attempts spelling correction on directory names during w)3.359 F .858
 (ord completion if)-.1 F
-(the directory name initially supplied does not e)184 144 Q(xist.)-.15 E
-F1(dotglob)144 156 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 168 Q(xist.)-.15 E
+F1(dotglob)144 180 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
 -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E F1(execfail)144 168 Q F0 1.386
-(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386
+(xpansion.)-.15 E F1(execfail)144 192 Q F0 1.387
+(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
-1.387(cute the \214le speci\214ed as an).15 F(ar)184 180 Q
+1.386(cute the \214le speci\214ed as an).15 F(ar)184 204 Q
 (gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
 (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
-E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 192 Q F0
-.717(If set, aliases are e)184 204 R .717(xpanded as described abo)-.15
+E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 216 Q F0
+.716(If set, aliases are e)184 228 R .717(xpanded as described abo)-.15
 F 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E
-/F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F
-(by def)184 216 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(extdeb)144 228 Q(ug)-.2 E F0(If set, beha)184 240 Q
+/F3 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F
+(by def)184 240 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(extdeb)144 252 Q(ug)-.2 E F0(If set, beha)184 264 Q
 (vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
-252 Q F0(The)28.5 E F1<ad46>4.25 E F0 1.75(option to the)4.25 F F1
+276 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1
 (declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
 (iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 264 Q
-(gument.)-.18 E F1(2.)184 276 Q F0 1.667(If the command run by the)28.5
+(number corresponding to each function name supplied as an ar)220 288 Q
+(gument.)-.18 E F1(2.)184 300 Q F0 1.667(If the command run by the)28.5
 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
-1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 288
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 300 Q F0 .84
-(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
-(exe)220 312 S .488
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 312
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 324 Q F0 .841
+(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
+(exe)220 336 S .488
 (cuting in a subroutine \(a shell function or a shell script e).15 F
 -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 324 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
--.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 336 Q
-F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.153 E F2 -.27(BA)3.403 G
+(sour)220 348 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 360 Q
+F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G
 (SH_ARGV).27 E F0 .904(are updated as described in their descriptions)
-3.154 F(abo)220 348 Q -.15(ve)-.15 G(.).15 E F1(5.)184 360 Q F0 1.359
+3.154 F(abo)220 372 Q -.15(ve)-.15 G(.).15 E F1(5.)184 384 Q F0 1.359
 (Function tracing is enabled:)28.5 F 1.359
 (command substitution, shell functions, and sub-)6.359 F(shells in)220
-372 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10
+396 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10
 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 384 Q F0 .804(Error tracing is enabled:)28.5 F .805
-(command substitution, shell functions, and subshells)5.804 F(in)220 396
+184 408 Q F0 .805(Error tracing is enabled:)28.5 F .804
+(command substitution, shell functions, and subshells)5.805 F(in)220 420
 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4
 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
-2.5 E F1(extglob)144 408 Q F0 .4(If set, the e)8.89 F .4
+2.5 E F1(extglob)144 432 Q F0 .4(If set, the e)8.89 F .4
 (xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
--.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 420 Q
-F0(are enabled.)2.5 E F1(extquote)144 432 Q F0 2.473(If set,)184 444 R
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 444 Q
+F0(are enabled.)2.5 E F1(extquote)144 456 Q F0 2.473(If set,)184 468 R
 F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
 E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
 -4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 456 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 468 Q F0
-1.425(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.424
-(xpansion result in an)-.15 F -.15(ex)184 480 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 492 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.936(If set, the suf)184 504 R<8c78>-.25 E .936(es speci\214ed by the)
+(pansions).15 E(enclosed in double quotes.)184 480 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 492 Q F0
+1.424(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.425
+(xpansion result in an)-.15 F -.15(ex)184 504 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 516 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.937(If set, the suf)184 528 R<8c78>-.25 E .936(es speci\214ed by the)
 -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 516 R .32
+-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 540 R .32
 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947
-(pletions. See)184 528 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
-(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.948 E F3(.)A F0 .448(This option is)4.948 F(enabled by def)
-184 540 Q(ault.)-.1 E F1(globasciiranges)144 552 Q F0 .806
-(If set, range e)184 564 R .806
-(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.305 G
-(tter).09 E 3.055(nM)-.135 G(atching)-3.055 E F0(abo)3.055 E -.15(ve)
--.15 G 3.305(\)b).15 G(eha)-3.305 E -.15(ve)-.2 G 2.089
-(as if in the traditional C locale when performing comparisons.)184 576
-R 2.09(That is, the current)7.089 F(locale')184 588 Q 2.614(sc)-.55 G
-.114(ollating sequence is not tak)-2.614 F .113(en into account, so)-.1
-F F1(b)2.613 E F0 .113(will not collate between)2.613 F F1(A)2.613 E F0
-(and)2.613 E F1(B)184 600 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
+(pletions. See)184 552 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
+(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
+(FIGNORE)2.947 E F3(.)A F0 .447(This option is)4.947 F(enabled by def)
+184 564 Q(ault.)-.1 E F1(globasciiranges)144 576 Q F0 .805
+(If set, range e)184 588 R .806
+(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.306 G
+(tter).09 E 3.056(nM)-.135 G(atching)-3.056 E F0(abo)3.056 E -.15(ve)
+-.15 G 3.306(\)b).15 G(eha)-3.306 E -.15(ve)-.2 G 2.089
+(as if in the traditional C locale when performing comparisons.)184 600
+R 2.089(That is, the current)7.089 F(locale')184 612 Q 2.613(sc)-.55 G
+.113(ollating sequence is not tak)-2.613 F .113(en into account, so)-.1
+F F1(b)2.613 E F0 .114(will not collate between)2.613 F F1(A)2.614 E F0
+(and)2.614 E F1(B)184 624 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
 E(wer)-.25 E(-case ASCII characters will collate together)-.2 E(.)-.55 E
-F1(globstar)144 612 Q F0 .518(If set, the pattern)5 F F1(**)3.018 E F0
-.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .519
-(xt will match all \214les and zero)-.15 F .432
-(or more directories and subdirectories.)184 624 R .431
-(If the pattern is follo)5.432 F .431(wed by a)-.25 F F1(/)2.931 E F0
-2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184
-636 Q F1(gnu_errfmt)144 648 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 660 Q F1(histappend)144
-672 Q F0 .676
+F1(globstar)144 636 Q F0 .519(If set, the pattern)5 F F1(**)3.019 E F0
+.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518
+(xt will match all \214les and zero)-.15 F .431
+(or more directories and subdirectories.)184 648 R .431
+(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0
+2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
+660 Q F1(gnu_errfmt)144 672 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 684 Q F1(histappend)144
+696 Q F0 .676
 (If set, the history list is appended to the \214le named by the v)184
-684 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G
-(ri-).25 E(able when the shell e)184 696 Q(xits, rather than o)-.15 E
+708 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
+(ri-).25 E(able when the shell e)184 720 Q(xits, rather than o)-.15 E
 -.15(ve)-.15 G(rwriting the \214le.).15 E(GNU Bash 4.2)72 768 Q
 (2011 September 25)135.955 E(66)185.115 E 0 Cg EP
 %%Page: 67 67
@@ -7903,23 +7914,23 @@ en in the standard GNU error message format.)184 660 Q F1(histappend)144
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(histr)144 84 Q(eedit)-.18 E F0 .576
-(If set, and)184 96 R F1 -.18(re)3.076 G(adline).18 E F0 .575
-(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
-(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
-(tory substitution.)184 108 Q F1(histv)144 120 Q(erify)-.1 E F0 .402
+-.35 E/F1 10/Times-Bold@0 SF(histr)144 84 Q(eedit)-.18 E F0 .575
+(If set, and)184 96 R F1 -.18(re)3.075 G(adline).18 E F0 .575
+(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576
+(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
+(tory substitution.)184 108 Q F1(histv)144 120 Q(erify)-.1 E F0 .403
 (If set, and)184 132 R F1 -.18(re)2.903 G(adline).18 E F0 .403
 (is being used, the results of history substitution are not immediately)
-2.903 F .662(passed to the shell parser)184 144 R 5.662(.I)-.55 G .661
-(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
-G(adline).18 E F0(editing)3.161 E -.2(bu)184 156 S -.25(ff).2 G(er).25 E
+2.903 F .661(passed to the shell parser)184 144 R 5.661(.I)-.55 G .662
+(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162
+G(adline).18 E F0(editing)3.162 E -.2(bu)184 156 S -.25(ff).2 G(er).25 E
 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
-(hostcomplete)144 168 Q F0 1.181(If set, and)184 180 R F1 -.18(re)3.681
-G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
-(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
-192 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
-/F2 9/Times-Bold@0 SF(READLINE)3.88 E F0(abo)184 204 Q -.15(ve)-.15 G
+(hostcomplete)144 168 Q F0 1.182(If set, and)184 180 R F1 -.18(re)3.682
+G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181
+(will attempt to perform hostname completion)3.681 F 1.38(when a w)184
+192 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
+/F2 9/Times-Bold@0 SF(READLINE)3.881 E F0(abo)184 204 Q -.15(ve)-.15 G
 2.5(\). This).15 F(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144
 216 Q F0(If set,)184 228 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)
 2.5 E F0(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H
@@ -7929,56 +7940,56 @@ G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
 (to cause that w)2.83 F .33(ord and all remaining characters on)-.1 F
 .967(that line to be ignored in an interacti)184 264 R 1.267 -.15(ve s)
 -.25 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)
--.15 G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184
-276 Q(ault.)-.1 E F1(lastpipe)144 288 Q F0 1.211
+-.15 G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184
+276 Q(ault.)-.1 E F1(lastpipe)144 288 Q F0 1.212
 (If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
 G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
 (exe)184 300 S(cuted in the background in the current shell en).15 E
-(vironment.)-.4 E F1(lithist)144 312 Q F0 .655(If set, and the)15.55 F
-F1(cmdhist)3.155 E F0 .654
+(vironment.)-.4 E F1(lithist)144 312 Q F0 .654(If set, and the)15.55 F
+F1(cmdhist)3.154 E F0 .654
 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G
-3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
+3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F
 (with embedded ne)184 324 Q
 (wlines rather than using semicolon separators where possible.)-.25 E F1
 (login_shell)144 336 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-348 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve)
--.15 G 2.987(\). The).15 F -.25(va)184 360 S(lue may not be changed.).25
-E F1(mailwar)144 372 Q(n)-.15 E F0 .815(If set, and a \214le that)184
-384 R F1(bash)3.315 E F0 .814
-(is checking for mail has been accessed since the last time it)3.315 F
+348 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
+-.15 G 2.986(\). The).15 F -.25(va)184 360 S(lue may not be changed.).25
+E F1(mailwar)144 372 Q(n)-.15 E F0 .814(If set, and a \214le that)184
+384 R F1(bash)3.314 E F0 .815
+(is checking for mail has been accessed since the last time it)3.314 F
 -.1(wa)184 396 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
 (`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
 (has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
-(no_empty_cmd_completion)144 408 Q F0 .324(If set, and)184 420 R F1 -.18
-(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E
-F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)
--.189 E F0 .325(for possible)2.575 F
+(no_empty_cmd_completion)144 408 Q F0 .325(If set, and)184 420 R F1 -.18
+(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E
+F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH)
+-.189 E F0 .324(for possible)2.574 F
 (completions when completion is attempted on an empty line.)184 432 Q F1
-(nocaseglob)144 444 Q F0 .437(If set,)184 456 R F1(bash)2.937 E F0 .436
-(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
-H .436(ashion when performing pathname).05 F -.15(ex)184 468 S
+(nocaseglob)144 444 Q F0 .436(If set,)184 456 R F1(bash)2.936 E F0 .436
+(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
+H .437(ashion when performing pathname).05 F -.15(ex)184 468 S
 (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 480 Q F0 1.193(If set,)184
-492 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
-3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 480 Q F0 1.194(If set,)184
+492 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
+3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
 F(while e)184 504 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
 E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 516 Q F0
-.855(If set,)184 528 R F1(bash)3.355 E F0(allo)3.355 E .855
-(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854
-(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o)
--3.354 E -.15(ex)184 540 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 552 Q(ogcomp)-.18 E F0 .676
+.854(If set,)184 528 R F1(bash)3.354 E F0(allo)3.354 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855
+(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o)
+-3.355 E -.15(ex)184 540 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 552 Q(ogcomp)-.18 E F0 .677
 (If set, the programmable completion f)184 564 R .677(acilities \(see)
--.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
 -.15(ve)-.15 G(\)).15 E(are enabled.)184 576 Q
 (This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 588 Q(omptv)
--.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 600 R 1.448
-(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 612 S .17(pansion, and quote remo).15 F -.25(va)-.15
+-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 600 R 1.448
+(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 612 S .171(pansion, and quote remo).15 F -.25(va)-.15
 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
-E(This option is enabled by def)184 624 Q(ault.)-.1 E F1 -.18(re)144 636
+-.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
+(This option is enabled by def)184 624 Q(ault.)-.1 E F1 -.18(re)144 636
 S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
 184 648 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 660 Q 4.178
@@ -7986,9 +7997,9 @@ S(stricted_shell).18 E F0 1.069
 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
 184 672 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
 -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
-F1(shift_v)144 684 Q(erbose)-.1 E F0 .502(If set, the)184 696 R F1
-(shift)3.002 E F0 -.2(bu)3.002 G .501
-(iltin prints an error message when the shift count e).2 F .501
+F1(shift_v)144 684 Q(erbose)-.1 E F0 .501(If set, the)184 696 R F1
+(shift)3.001 E F0 -.2(bu)3.001 G .501
+(iltin prints an error message when the shift count e).2 F .502
 (xceeds the number)-.15 F(of positional parameters.)184 708 Q
 (GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(67)185.115 E 0 Cg EP
 %%Page: 68 68
@@ -7996,41 +8007,41 @@ F1(shift_v)144 684 Q(erbose)-.1 E F0 .502(If set, the)184 696 R F1
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(sour)144 84 Q(cepath)-.18 E F0 .77
-(If set, the)184 96 R F1(sour)3.27 E(ce)-.18 E F0(\()3.27 E F1(.)A F0
-3.27(\)b)C .77(uiltin uses the v)-3.47 F .771(alue of)-.25 F/F2 9
-/Times-Bold@0 SF -.666(PA)3.271 G(TH)-.189 E F0 .771
-(to \214nd the directory containing the)3.021 F
-(\214le supplied as an ar)184 108 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 120 Q F0
-(If set, the)184 132 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
-(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend)
-108 148.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 160.8 R
--.15(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)
--.25 G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001
-(login shell cannot be)3.501 F .022(suspended; the)144 172.8 R F1<ad66>
-2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
-(rride this and force the suspension.).15 F .023(The return status is)
-5.023 F 2.5(0u)144 184.8 S(nless the shell is a login shell and)-2.5 E
+-.35 E/F1 10/Times-Bold@0 SF(sour)144 84 Q(cepath)-.18 E F0 .771
+(If set, the)184 96 R F1(sour)3.271 E(ce)-.18 E F0(\()3.271 E F1(.)A F0
+3.271(\)b)C .771(uiltin uses the v)-3.471 F .771(alue of)-.25 F/F2 9
+/Times-Bold@0 SF -.666(PA)3.27 G(TH)-.189 E F0 .77
+(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
+184 108 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
+-.1 E F1(xpg_echo)144 120 Q F0(If set, the)184 132 Q F1(echo)2.5 E F0
+-.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15
+E(ault.)-.1 E F1(suspend)108 148.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
+(Suspend the e)144 160.8 R -.15(xe)-.15 G 1.001
+(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
+F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
+3.502 F .023(suspended; the)144 172.8 R F1<ad66>2.523 E F0 .023
+(option can be used to o)2.523 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .022(The return status is)
+5.022 F 2.5(0u)144 184.8 S(nless the shell is a login shell and)-2.5 E
 F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
 E F1(test)108 201.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
-108 213.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
-(Return a status of 0 \(true\) or 1 \(f)6.77 F .877
-(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
+108 213.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877
+(Return a status of 0 \(true\) or 1 \(f)6.77 F .878
+(alse\) depending on the e)-.1 F -.25(va)-.25 G .878
 (luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 225.6
 S(pr).2 E F0 5.53(.E).73 G .53
 (ach operator and operand must be a separate ar)-5.53 F 3.03
-(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.08
-(primaries described abo)144 237.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
-(CONDITION)5.58 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
-F1(test)7.579 E F0 3.079(does not accept an)5.579 F(y)-.15 E
+(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.079
+(primaries described abo)144 237.6 R 3.379 -.15(ve u)-.15 H(nder).15 E
+F2(CONDITION)5.579 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF
+(.)A F1(test)7.579 E F0 3.08(does not accept an)5.58 F(y)-.15 E
 (options, nor does it accept and ignore an ar)144 249.6 Q(gument of)-.18
-E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .785
-(Expressions may be combined using the follo)144 267.6 R .786
-(wing operators, listed in decreasing order of prece-)-.25 F 3.412
-(dence. The)144 279.6 R -.25(eva)3.412 G .912
-(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F
-4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F
+E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .786
+(Expressions may be combined using the follo)144 267.6 R .785
+(wing operators, listed in decreasing order of prece-)-.25 F 3.411
+(dence. The)144 279.6 R -.25(eva)3.411 G .911
+(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
+4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
 (used when there are \214v)144 291.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
 (ore ar)-2.5 E(guments.)-.18 E F1(!)144 303.6 Q F3 -.2(ex)2.5 G(pr).2 E
 F0 -.35(Tr)12.6 G(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E
@@ -8053,9 +8064,9 @@ F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E
 E 2.5(2a)144 458.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
 180 470.4 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
 F .37(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F .379(If the \214rst ar)180 482.4 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 494.4 Q .553
+(gument is null.)-.18 F .38(If the \214rst ar)180 482.4 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .679
+-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.879 E(TION)180 494.4 Q .552
 (AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
 (xpression is true if the unary test is true.)-.15 F .552
 (If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 506.4 Q
@@ -8066,27 +8077,27 @@ F .37(xpression is true if and only if the second ar)-.15 F .37
 (If the second ar)5.236 F .236(gument is one of)-.18 F .855
 (the binary conditional operators listed abo)180 542.4 R 1.155 -.15
 (ve u)-.15 H(nder).15 E F2(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
-F4(,)A F0(the)3.104 E .578(result of the e)180 554.4 R .578(xpression i\
+F4(,)A F0(the)3.105 E .579(result of the e)180 554.4 R .578(xpression i\
 s the result of the binary test using the \214rst and third ar)-.15 F
-(guments)-.18 E 1.333(as operands.)180 566.4 R(The)6.333 E F1<ad61>3.833
-E F0(and)3.833 E F1<ad6f>3.832 E F0 1.332
+(guments)-.18 E 1.332(as operands.)180 566.4 R(The)6.332 E F1<ad61>3.832
+E F0(and)3.832 E F1<ad6f>3.832 E F0 1.333
 (operators are considered binary operators when there are)3.832 F .558
 (three ar)180 578.4 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058
 F .558(gument is)-.18 F F1(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F
 .558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F
-(o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180
-590.4 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52
-(gument is e)-.18 F(xactly)-.15 E F1(\()3.02 E F0 .52(and the third)3.02
-F(ar)180 602.4 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0
-2.985(,t)C .485(he result is the one-ar)-2.985 F .485
+(o-ar)-.1 E(gument)-.18 E .52(test using the second and third ar)180
+590.4 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .521
+(gument is e)-.18 F(xactly)-.15 E F1(\()3.021 E F0 .521(and the third)
+3.021 F(ar)180 602.4 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985
+E F0 2.985(,t)C .485(he result is the one-ar)-2.985 F .485
 (gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E
 (wise, the e)180 614.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
-626.4 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 638.4 R
-.385(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385
-(he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar)
-.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F 1.647
+626.4 S -.18(rg)-2.5 G(uments).18 E .384(If the \214rst ar)180 638.4 R
+.384(gument is)-.18 F F1(!)2.884 E F0 2.885(,t)C .385
+(he result is the ne)-2.885 F -.05(ga)-.15 G .385(tion of the three-ar)
+.05 F .385(gument e)-.18 F .385(xpression com-)-.15 F 1.648
 (posed of the remaining ar)180 650.4 R 4.147(guments. Otherwise,)-.18 F
-1.647(the e)4.147 F 1.648(xpression is parsed and e)-.15 F -.25(va)-.25
+1.647(the e)4.147 F 1.647(xpression is parsed and e)-.15 F -.25(va)-.25
 G(luated).25 E(according to precedence using the rules listed abo)180
 662.4 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 674.4 S 2.5(rm)-2.5 G(ore ar)
 -2.5 E(guments)-.18 E 1.635(The e)180 686.4 R 1.635
@@ -8106,61 +8117,62 @@ BP
 ted user and system times for the shell and for processes run from the \
 shell.)13.23 F(The return status is 0.)144 96 Q F1(trap)108 112.8 Q F0
 ([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F2 10/Times-Italic@0 SF(ar)A
-(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .703(The command)144
-124.8 R F2(ar)3.533 E(g)-.37 E F0 .703(is to be read and e)3.423 F -.15
-(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202
-(ss).15 G(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)
--5.702 E F2(ar)3.532 E(g)-.37 E F0(is)3.422 E .608
+(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .702(The command)144
+124.8 R F2(ar)3.532 E(g)-.37 E F0 .702(is to be read and e)3.422 F -.15
+(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203
+(ss).15 G(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)
+-5.703 E F2(ar)3.533 E(g)-.37 E F0(is)3.423 E .609
 (absent \(and there is a single)144 136.8 R F2(sigspec)3.108 E F0 3.108
 (\)o)C(r)-3.108 E F1<ad>3.108 E F0 3.108(,e)C .608
 (ach speci\214ed signal is reset to its original disposition)-3.108 F
-.659(\(the v)144 148.8 R .659(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658
+.658(\(the v)144 148.8 R .658(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659
 (is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
-144.34 160.8 Q F0 .58(is ignored by the shell and by the commands it in)
-3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E
-F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215
+144.34 160.8 Q F0 .581
+(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
+-.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E F0 .58
+(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
 (been supplied, then the trap commands associated with each)144 172.8 R
-F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F2(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
 F(gu-)-.18 E .86(ments are supplied or if only)144 184.8 R F1<ad70>3.36
 E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
 (prints the list of commands associated with each)3.36 F 2.83
 (signal. The)144 196.8 R F1<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F 4.31
-(bers. Each)144 208.8 R F2(sigspec)4.65 E F0 1.811
-(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811
-(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
+to print a list of signal names and their corresponding num-)2.83 F
+4.311(bers. Each)144 208.8 R F2(sigspec)4.651 E F0 1.811
+(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81
+(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
 (names are case insensiti)144 220.8 Q .3 -.15(ve a)-.25 H(nd the).15 E
-/F3 9/Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649
-(If a)144 238.8 R F2(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0
-1.649(\(0\) the command)3.899 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)
-4.369 F -.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)
--.15 F 1.648(If a)6.648 F F2(sigspec)4.488 E F0(is)4.458 E F3(DEB)144
-250.8 Q(UG)-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.167(the command)3.417 F
-F2(ar)3.997 E(g)-.37 E F0 1.167(is e)3.887 F -.15(xe)-.15 G 1.167
-(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.168(simple command)
-3.667 F F0(,)A F2(for)3.668 E F0(command,)3.668 E F2(case)3.668 E F0
-(com-)3.668 E(mand,)144 262.8 Q F2(select)2.647 E F0 .147(command, e)
-2.647 F -.15(ve)-.25 G .147(ry arithmetic).15 F F2(for)2.647 E F0 .146
-(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
-(cutes in a).15 F .145(shell function \(see)144 274.8 R F3 .145
-(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0
-.146(option to)2.646 F(the)144 286.8 Q F1(shopt)3.201 E F0 -.2(bu)3.201
-G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E
-(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E
-F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 298.8 Q F2(ar)
-3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
+/F3 9/Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648
+(If a)144 238.8 R F2(sigspec)4.488 E F0(is)4.458 E F3(EXIT)4.148 E F0
+1.648(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)
+4.369 F -.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)
+-.15 F 1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E F3(DEB)144
+250.8 Q(UG)-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.168(the command)3.418 F
+F2(ar)3.998 E(g)-.37 E F0 1.168(is e)3.888 F -.15(xe)-.15 G 1.167
+(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.167(simple command)
+3.667 F F0(,)A F2(for)3.667 E F0(command,)3.667 E F2(case)3.667 E F0
+(com-)3.667 E(mand,)144 262.8 Q F2(select)2.646 E F0 .146(command, e)
+2.646 F -.15(ve)-.25 G .146(ry arithmetic).15 F F2(for)2.646 E F0 .147
+(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
+(cutes in a).15 F .146(shell function \(see)144 274.8 R F3 .146
+(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
+F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0
+.145(option to)2.645 F(the)144 286.8 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7
+(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG)
+-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E F3
+(RETURN)3.2 E F4(,)A F0 .701(the com-)2.951 F(mand)144 298.8 Q F2(ar)
+3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce)
--.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 310.8 Q -.15(xe)
--.15 G(cuting.).15 E .929(If a)144 328.8 R F2(sigspec)3.769 E F0(is)
-3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E
+.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce)
+-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 310.8 Q -.15(xe)
+-.15 G(cuting.).15 E .928(If a)144 328.8 R F2(sigspec)3.768 E F0(is)
+3.738 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E
 (g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
--.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero)
--3.429 F -.15(ex)144 340.8 S 1.008(it status, subject to the follo).15 F
+-.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
+-3.429 F -.15(ex)144 340.8 S 1.009(it status, subject to the follo).15 F
 1.009(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009
-(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009
+(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
 (ailed com-)-.1 F .324
 (mand is part of the command list immediately follo)144 352.8 R .324
 (wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1
@@ -8174,76 +8186,75 @@ E(yed by the)-.15 E F1(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
 (Signals ignored upon entry to the shell cannot be trapped or reset.)144
 394.8 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
 (being ignored are reset to their original v)144 406.8 R .662
-(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
+(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
 -.4 F 2.5(created. The)144 418.8 R(return status is f)2.5 E(alse if an)
 -.1 E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
 (lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108
 435.6 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2
-(name)A F0(...])2.5 E -.4(Wi)144 447.6 S .174
-(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name)
-3.034 E F0 -.1(wo)2.854 G .173
-(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
-F1<ad74>144 459.6 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0
+(name)A F0(...])2.5 E -.4(Wi)144 447.6 S .173
+(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2(name)
+3.033 E F0 -.1(wo)2.853 G .174
+(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
+F1<ad74>144 459.6 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
 .843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E
 F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0
-(,).24 E F2 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F2
-(\214le)5.253 E F0(if)3.523 E F2(name)144.36 471.6 Q F0 .087
-(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
-(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F2
-(name)2.946 E F0 .086(is not)2.766 F .118
+(,).24 E F2 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F2
+(\214le)5.252 E F0(if)3.522 E F2(name)144.36 471.6 Q F0 .086
+(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
+(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2
+(name)2.947 E F0 .087(is not)2.767 F .119
 (found, then nothing is printed, and an e)144 483.6 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
-F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
+F1<ad70>2.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855
 (either returns the name of the disk \214le that w)144 495.6 R .855
 (ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0
-.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
-507.6 R/F5 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
-(uld not return).1 F F2(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1
-<ad50>3.141 E F0 .641(option forces a)3.141 F F3 -.666(PA)3.141 G(TH)
--.189 E F0 .113(search for each)144 519.6 R F2(name)2.613 E F0 2.613(,e)
-C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613
-F F0 -.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113
-(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F1<ad70>
-2.612 E F0(and)144 531.6 Q F1<ad50>3.23 E F0 .73(print the hashed v)3.23
-F .731
-(alue, which is not necessarily the \214le that appears \214rst in)-.25
-F F3 -.666(PA)3.231 G(TH)-.189 E F4(.)A F0 .731(If the)5.231 F F1<ad61>
-144 543.6 Q F0 1.749(option is used,)4.249 F F1(type)4.248 E F0 1.748
-(prints all of the places that contain an e)4.248 F -.15(xe)-.15 G 1.748
-(cutable named).15 F F2(name)4.248 E F0 6.748(.T).18 G(his)-6.748 E .744
-(includes aliases and functions, if and only if the)144 555.6 R F1<ad70>
-3.244 E F0 .744(option is not also used.)3.244 F .744
+.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
+144 507.6 R/F5 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
+G .641(uld not return).1 F F2(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
+F1<ad50>3.14 E F0 .64(option forces a)3.14 F F3 -.666(PA)3.14 G(TH)-.189
+E F0 .112(search for each)144 519.6 R F2(name)2.612 E F0 2.612(,e)C -.15
+(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613 F F0
+-.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I)
+.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F1<ad70>2.613 E
+F0(and)144 531.6 Q F1<ad50>3.231 E F0 .731(print the hashed v)3.231 F
+.73(alue, which is not necessarily the \214le that appears \214rst in)
+-.25 F F3 -.666(PA)3.23 G(TH)-.189 E F4(.)A F0 .73(If the)5.23 F F1
+<ad61>144 543.6 Q F0 1.748(option is used,)4.248 F F1(type)4.248 E F0
+1.748(prints all of the places that contain an e)4.248 F -.15(xe)-.15 G
+1.748(cutable named).15 F F2(name)4.249 E F0 6.749(.T).18 G(his)-6.749 E
+.744(includes aliases and functions, if and only if the)144 555.6 R F1
+<ad70>3.244 E F0 .744(option is not also used.)3.244 F .743
 (The table of hashed)5.744 F 1.223(commands is not consulted when using)
 144 567.6 R F1<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F1<ad66>3.723 E F0
-1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
-144 579.6 R F1(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F1(type)
-5.325 E F0 .325(returns true if all of the ar)2.825 F .326
-(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
-(re not)-2.826 F(found.)144 591.6 Q F1(ulimit)108 608.4 Q F0([)2.5 E F1
+1.223(option suppresses shell function lookup, as)3.723 F .326(with the)
+144 579.6 R F1(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F1(type)
+5.326 E F0 .326(returns true if all of the ar)2.826 F .325
+(guments are found, f)-.18 F .325(alse if an)-.1 F 2.825(ya)-.15 G .325
+(re not)-2.825 F(found.)144 591.6 Q F1(ulimit)108 608.4 Q F0([)2.5 E F1
 (\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F2(limit)A F0(]])A
-(Pro)144 620.4 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15
-G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(Pro)144 620.4 Q .243(vides control o)-.15 F -.15(ve)-.15 G 2.743(rt).15
+G .243(he resources a)-2.743 F -.25(va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 632.4 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944
+.944(that allo)144 632.4 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F1<ad48>3.444 E F0(and)3.444 E F1<ad53>3.444 E F0 .943
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 644.4 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 644.4 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 656.4 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F1<ad48>2.926 E
-F0(nor)2.926 E F1<ad53>2.926 E F0 .426
-(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
+ft limit may)2.708 F .426(be increased up to the v)144 656.4 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F1<ad48>2.925 E
+F0(nor)2.925 E F1<ad53>2.925 E F0 .425
+(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
 668.4 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 680.4 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
+.742(of the special v)144 680.4 R(alues)-.25 E F1(hard)3.242 E F0(,)A F1
 (soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
 (soft limit, and no limit, respecti)144 692.4 R -.15(ve)-.25 G(ly).15 E
 5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 704.4 R F1<ad48>2.999 E F0
-.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
+F .499(resource is printed, unless the)144 704.4 R F1<ad48>2.999 E F0
+.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498
 (more than one resource is speci\214ed, the)2.999 F
 (limit name and unit are printed before the v)144 716.4 Q 2.5
 (alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E
@@ -8267,8 +8278,8 @@ E F1<ad69>144 156 Q F0(The maximum number of pending signals)27.52 E F1
 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
 (ystems do not honor this limit\))-2.5 E F1<ad6e>144 192 Q F0 .791(The \
 maximum number of open \214le descriptors \(most systems do not allo)
-24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-204 Q F1<ad70>144 216 Q F0
+24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F
+(be set\))180 204 Q F1<ad70>144 216 Q F0
 (The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1
 <ad71>144 228 Q F0(The maximum number of bytes in POSIX message queues)
 24.74 E F1<ad72>144 240 Q F0(The maximum real-time scheduling priority)
@@ -8284,15 +8295,15 @@ Q F1<ad78>144 312 Q F0(The maximum number of \214le locks)25.3 E F1
 -.25 G .468(n, and the).15 F F1<ad61>2.968 E F0 .468
 (option is not used,)2.968 F F2(limit)2.968 E F0 .468(is the ne)2.968 F
 2.968(wv)-.25 G .468(alue of the speci\214ed resource.)-3.218 F(If)5.468
-E .044(no option is gi)144 352.8 R -.15(ve)-.25 G .044(n, then).15 F F1
-<ad66>2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
-(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
-<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .403(in seconds;)144
-364.8 R F1<ad70>2.903 E F0 2.903(,w)C .402
-(hich is in units of 512-byte blocks; and)-2.903 F F1<ad54>2.902 E F0(,)
+E .045(no option is gi)144 352.8 R -.15(ve)-.25 G .045(n, then).15 F F1
+<ad66>2.545 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
+(lues are in 1024-byte increments, e)1.11 F .044(xcept for)-.15 F F1
+<ad74>2.544 E F0 2.544(,w)C .044(hich is)-2.544 F .402(in seconds;)144
+364.8 R F1<ad70>2.902 E F0 2.902(,w)C .402
+(hich is in units of 512-byte blocks; and)-2.902 F F1<ad54>2.902 E F0(,)
 A F1<ad62>2.902 E F0(,)A F1<ad6e>2.902 E F0 2.902(,a)C(nd)-2.902 E F1
-<ad75>2.902 E F0 2.902(,w)C .402(hich are unscaled)-2.902 F -.25(va)144
-376.8 S 3.082(lues. The).25 F .583(return status is 0 unless an in)3.083
+<ad75>2.903 E F0 2.903(,w)C .403(hich are unscaled)-2.903 F -.25(va)144
+376.8 S 3.083(lues. The).25 F .583(return status is 0 unless an in)3.083
 F -.25(va)-.4 G .583(lid option or ar).25 F .583
 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144
 388.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 405.6 Q F0([)2.5 E F1
@@ -8302,15 +8313,15 @@ F -.25(va)-.4 G .583(lid option or ar).25 F .583
 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
 therwise it is interpreted as a symbolic mode mask similar to that acce\
 pted by)144 429.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-441.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
+441.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
 (alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
 (printed in symbolic form; the def)144 453.6 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
 (he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 465.6 Q F0 .552
-(is omitted, the output is in a form that may be reused as input.)3.232
-F .551(The return status is 0 if the)5.551 F(mode w)144 477.6 Q
+(mode)144.38 465.6 Q F0 .551
+(is omitted, the output is in a form that may be reused as input.)3.231
+F .552(The return status is 0 if the)5.552 F(mode w)144 477.6 Q
 (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
 (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
 (unalias)108 494.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
@@ -8320,45 +8331,45 @@ F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
 F(remo)144 518.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
 (alue is true unless a supplied)-.25 E F2(name)2.86 E F0
 (is not a de\214ned alias.)2.68 E F1(unset)108 535.2 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 547.2 S 3.828
-(re).15 G(ach)-3.828 E F2(name)3.828 E F0 3.828(,r).18 G(emo)-3.828 E
-1.628 -.15(ve t)-.15 H 1.328(he corresponding v).15 F 1.327
-(ariable or function.)-.25 F 1.327(If the)6.327 F F1<ad76>3.827 E F0
-1.327(option is gi)3.827 F -.15(ve)-.25 G 1.327(n, each).15 F F2(name)
-144.36 559.2 Q F0 1.55(refers to a shell v)4.23 F 1.551
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 547.2 S 3.827
+(re).15 G(ach)-3.827 E F2(name)3.827 E F0 3.827(,r).18 G(emo)-3.827 E
+1.627 -.15(ve t)-.15 H 1.327(he corresponding v).15 F 1.327
+(ariable or function.)-.25 F 1.327(If the)6.327 F F1<ad76>3.828 E F0
+1.328(option is gi)3.828 F -.15(ve)-.25 G 1.328(n, each).15 F F2(name)
+144.36 559.2 Q F0 1.551(refers to a shell v)4.231 F 1.551
 (ariable, and that v)-.25 F 1.551(ariable is remo)-.25 F -.15(ve)-.15 G
-4.051(d. Read-only).15 F -.25(va)4.051 G 1.551(riables may not be).25 F
-4.642(unset. If)144 571.2 R F1<ad66>4.642 E F0 2.142
-(is speci\214ed, each)4.642 F F2(name)5.001 E F0 2.141
+4.05(d. Read-only).15 F -.25(va)4.05 G 1.55(riables may not be).25 F
+4.641(unset. If)144 571.2 R F1<ad66>4.641 E F0 2.141
+(is speci\214ed, each)4.641 F F2(name)5.001 E F0 2.141
 (refers to a shell function, and the function de\214nition is)4.821 F
-(remo)144 583.2 Q -.15(ve)-.15 G 2.898(d. If).15 F .398
-(no options are supplied, each)2.898 F F2(name)2.898 E F0 .398
-(refers to a v)2.898 F .399(ariable; if there is no v)-.25 F .399
-(ariable by that)-.25 F .579(name, an)144 595.2 R 3.079(yf)-.15 G .579
-(unction with that name is unset.)-3.079 F .579(Each unset v)5.579 F
-.579(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.078(df).15 G
-.578(rom the)-3.078 F(en)144 607.2 Q .045
+(remo)144 583.2 Q -.15(ve)-.15 G 2.899(d. If).15 F .399
+(no options are supplied, each)2.899 F F2(name)2.898 E F0 .398
+(refers to a v)2.898 F .398(ariable; if there is no v)-.25 F .398
+(ariable by that)-.25 F .578(name, an)144 595.2 R 3.078(yf)-.15 G .579
+(unction with that name is unset.)-3.078 F .579(Each unset v)5.579 F
+.579(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.079(df).15 G
+.579(rom the)-3.079 F(en)144 607.2 Q .046
 (vironment passed to subsequent commands.)-.4 F .046(If an)5.046 F 2.546
-(yo)-.15 G(f)-2.546 E/F3 9/Times-Bold@0 SF(COMP_W)2.546 E(ORDBREAKS)-.09
-E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)2.296 E F4(,)A F3(SEC-)2.296 E
-(ONDS)144 619.2 Q F4(,)A F3(LINENO)2.641 E F4(,)A F3(HISTCMD)2.641 E F4
-(,)A F3(FUNCN)2.641 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A
-F0(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
-(are unset, the)2.64 F 2.89(yl)-.15 G .39(ose their spe-)-2.89 F .726
-(cial properties, e)144 631.2 R -.15(ve)-.25 G 3.226(ni).15 G 3.226(ft)
--3.226 G(he)-3.226 E 3.226(ya)-.15 G .726(re subsequently reset.)-3.226
-F .726(The e)5.726 F .727(xit status is true unless a)-.15 F F2(name)
-3.587 E F0 .727(is read-)3.407 F(only)144 643.2 Q(.)-.65 E F1(wait)108
+(yo)-.15 G(f)-2.546 E/F3 9/Times-Bold@0 SF(COMP_W)2.545 E(ORDBREAKS)-.09
+E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)2.295 E F4(,)A F3(SEC-)2.295 E
+(ONDS)144 619.2 Q F4(,)A F3(LINENO)2.64 E F4(,)A F3(HISTCMD)2.64 E F4(,)
+A F3(FUNCN)2.64 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A F0
+(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
+(are unset, the)2.64 F 2.891(yl)-.15 G .391(ose their spe-)-2.891 F .727
+(cial properties, e)144 631.2 R -.15(ve)-.25 G 3.227(ni).15 G 3.227(ft)
+-3.227 G(he)-3.227 E 3.227(ya)-.15 G .727(re subsequently reset.)-3.227
+F .726(The e)5.727 F .726(xit status is true unless a)-.15 F F2(name)
+3.586 E F0 .726(is read-)3.406 F(only)144 643.2 Q(.)-.65 E F1(wait)108
 660 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 672 S .288
 (it for each speci\214ed process and return its termination status.).8 F
-(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
+(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
 (job speci\214cation; if a job spec is gi)144 684 R -.15(ve)-.25 G .722
 (n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w)
--3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.583 E F0
-(is)3.463 E 1.266(not gi)144 696 R -.15(ve)-.25 G 1.266
-(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
-(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
-(nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456
+-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.582 E F0
+(is)3.462 E 1.265(not gi)144 696 R -.15(ve)-.25 G 1.265
+(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
+(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
+(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
 (speci\214es a non-e)144 708 R .457
 (xistent process or job, the return status is 127.)-.15 F .457
 (Otherwise, the return status is the)5.457 F -.15(ex)144 720 S
@@ -8370,12 +8381,12 @@ BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 84 Q F0(If)108 96 Q
-/F2 10/Times-Bold@0 SF(bash)4.397 E F0 1.897(is started with the name)
-4.397 F F2(rbash)4.397 E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F2
-<ad72>4.397 E F0 1.896(option is supplied at in)4.397 F -.2(vo)-.4 G
-1.896(cation, the shell becomes).2 F 3.445(restricted. A)108 108 R .945
-(restricted shell is used to set up an en)3.445 F .946
-(vironment more controlled than the standard shell.)-.4 F(It)5.946 E
+/F2 10/Times-Bold@0 SF(bash)4.396 E F0 1.896(is started with the name)
+4.396 F F2(rbash)4.397 E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F2
+<ad72>4.397 E F0 1.897(option is supplied at in)4.397 F -.2(vo)-.4 G
+1.897(cation, the shell becomes).2 F 3.446(restricted. A)108 108 R .945
+(restricted shell is used to set up an en)3.446 F .945
+(vironment more controlled than the standard shell.)-.4 F(It)5.945 E
 (beha)108 120 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F2(bash)
 2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
 (wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
@@ -8387,10 +8398,10 @@ G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
 (pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108
 187.2 S(pecifying a \214lename containing a)-32.5 E F2(/)2.5 E F0
 (as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
-(iltin command).2 E 32.5<8373>108 204 S .45
+(iltin command).2 E 32.5<8373>108 204 S .449
 (pecifying a \214lename containing a slash as an ar)-32.5 F .449
-(gument to the)-.18 F F2<ad70>2.949 E F0 .449(option to the)2.949 F F2
-(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 216 Q 32.5
+(gument to the)-.18 F F2<ad70>2.95 E F0 .45(option to the)2.95 F F2
+(hash)2.95 E F0 -.2(bu)2.95 G .45(iltin com-).2 F(mand)144 216 Q 32.5
 <8369>108 232.8 S(mporting function de\214nitions from the shell en)
 -32.5 E(vironment at startup)-.4 E 32.5<8370>108 249.6 S(arsing the v)
 -32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
@@ -8410,8 +8421,8 @@ S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F2(set +r)
 (These restrictions are enforced after an)108 367.2 Q 2.5(ys)-.15 G
 (tartup \214les are read.)-2.5 E 1.566
 (When a command that is found to be a shell script is e)108 384 R -.15
-(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0
-(abo)3.817 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 396 Q F0(turns of)2.5
+(xe)-.15 G 1.566(cuted \(see).15 F F3 1.566(COMMAND EXECUTION)4.066 F F0
+(abo)3.816 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 396 Q F0(turns of)2.5
 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15 E
 (wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F1(SEE ALSO)72
 412.8 Q/F5 10/Times-Italic@0 SF(Bash Refer)108 424.8 Q(ence Manual)-.37
@@ -8448,21 +8459,21 @@ BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10.95/Times-Bold@0 SF -.11(BU)72 84 S 2.738(GR).11 G(EPOR)
--2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108 96 R .568(ug in)-.2 F
+-2.738 E(TS)-.438 E F0 .567(If you \214nd a b)108 96 R .568(ug in)-.2 F
 /F2 10/Times-Bold@0 SF(bash,)3.068 E F0 .568(you should report it.)3.068
 F .568(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568
-(ure that it really is a b)-3.068 F .567(ug, and)-.2 F 5.625
+(ure that it really is a b)-3.068 F .568(ug, and)-.2 F 5.626
 (that it appears in the latest v)108 108 R 5.625(ersion of)-.15 F F2
-(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
-(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626
+(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625
+(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625
 (ilable from).25 F/F3 10/Times-Italic@0 SF(ftp://ftp.gnu.or)108 120 Q
-(g/pub/gnu/bash/)-.37 E F0(.)A .411(Once you ha)108 136.8 R .711 -.15
-(ve d)-.2 H .411(etermined that a b).15 F .411(ug actually e)-.2 F .411
-(xists, use the)-.15 F F3(bashb)3.18 E(ug)-.2 E F0 .41
-(command to submit a b)3.13 F .41(ug report.)-.2 F(If)5.41 E .594
-(you ha)108 148.8 R .894 -.15(ve a \214)-.2 H .595
-(x, you are encouraged to mail that as well!).15 F .595
-(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F
+(g/pub/gnu/bash/)-.37 E F0(.)A .41(Once you ha)108 136.8 R .71 -.15
+(ve d)-.2 H .41(etermined that a b).15 F .41(ug actually e)-.2 F .411
+(xists, use the)-.15 F F3(bashb)3.181 E(ug)-.2 E F0 .411
+(command to submit a b)3.131 F .411(ug report.)-.2 F(If)5.411 E .595
+(you ha)108 148.8 R .895 -.15(ve a \214)-.2 H .595
+(x, you are encouraged to mail that as well!).15 F .594
+(Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F
 (be mailed to)108 160.8 Q F3 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
 (or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2(gnu.bash.b)2.5 E(ug)
 -.2 E F0(.)A(ALL b)108 177.6 Q(ug reports should include:)-.2 E(The v)
@@ -8476,22 +8487,22 @@ G(rcises the b).15 E(ug)-.2 E F3(bashb)108.27 259.2 Q(ug)-.2 E F0
 276 Q(ug reports concerning this manual page should be directed to)-.2 E
 F3 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.).25
 E F1 -.11(BU)72 292.8 S(GS).11 E F0(It')108 304.8 Q 2.5(st)-.55 G
-(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869
-(There are some subtle dif)108 321.6 R 1.869(ferences between)-.25 F F2
+(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.868
+(There are some subtle dif)108 321.6 R 1.868(ferences between)-.25 F F2
 (bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F
-F2(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9
+F2(sh)4.369 E F0 4.369(,m)C 1.869(ostly because of the)-4.369 F/F4 9
 /Times-Bold@0 SF(POSIX)108 333.6 Q F0(speci\214cation.)2.25 E
 (Aliases are confusing in some uses.)108 350.4 Q(Shell b)108 367.2 Q
 (uiltin commands and functions are not stoppable/restartable.)-.2 E
 1.315(Compound commands and command sequences of the form `a ; b ; c' a\
-re not handled gracefully when)108 384 R .39
+re not handled gracefully when)108 384 R .389
 (process suspension is attempted.)108 396 R .389
-(When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15
-G .389(cutes the ne).15 F .389(xt com-)-.15 F .192
-(mand in the sequence.)108 408 R .192(It suf)5.192 F .192(\214ces to pl\
-ace the sequence of commands between parentheses to force it into a)-.25
-F(subshell, which may be stopped as a unit.)108 420 Q(Array v)108 436.8
-Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
+(When a process is stopped, the shell immediately e)5.389 F -.15(xe)-.15
+G .39(cutes the ne).15 F .39(xt com-)-.15 F .193(mand in the sequence.)
+108 408 R .192(It suf)5.193 F .192(\214ces to place the sequence of com\
+mands between parentheses to force it into a)-.25 F
+(subshell, which may be stopped as a unit.)108 420 Q(Array v)108 436.8 Q
+(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
 (There may be only one acti)108 453.6 Q .3 -.15(ve c)-.25 H
 (oprocess at a time.).15 E(GNU Bash 4.2)72 768 Q(2011 September 25)
 135.955 E(72)185.115 E 0 Cg EP
index 37e0c159c1279c8fdfb9733aaefa52ccc6cd0378..733bd8f4fb241118018a411a9655e5481daafe87 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index e261cff8e7b6e7b86a7cfcef620affb1377dc896..4332cba7f6ea3e606e046e9c5963239388b26575 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on September, 26  2011 by texi2html 1.64 -->
+<!-- Created on October, 24  2011 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -33,10 +33,10 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
 <H1>Bash Reference Manual</H1></P><P>
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 25 September 2011).
+the Bash shell (version 4.2, 24 October 2011).
 </P><P>
 
-This is Edition 4.2, last updated 25 September 2011,
+This is Edition 4.2, last updated 24 October 2011,
 of <CITE>The GNU Bash Reference Manual</CITE>,
 for <CODE>Bash</CODE>, Version 4.2.
 </P><P>
@@ -3125,7 +3125,9 @@ standard error:
 </pre></td></tr></table>Of the two forms, the first is preferred.
 This is semantically equivalent to
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>&#62;<VAR>word</VAR> 2&#62;&#38;1
-</pre></td></tr></table>(see Duplicating File Descriptors below).
+</pre></td></tr></table>When using the second form, <VAR>word</VAR> may not expand to a number or
+<SAMP>`-'</SAMP>.  If it does, other redirection operators apply
+(see Duplicating File Descriptors below) for compatibility reasons.
 </P><P>
 
 <HR SIZE="6">
@@ -3256,8 +3258,8 @@ is made to be a copy of that file descriptor.
 If the digits in <VAR>word</VAR> do not specify a file descriptor open for
 input, a redirection error occurs.
 If <VAR>word</VAR>
-evaluates to <SAMP>`-'</SAMP>, file descriptor <VAR>n</VAR> is closed.  If
-<VAR>n</VAR> is not specified, the standard input (file descriptor 0) is used.
+evaluates to <SAMP>`-'</SAMP>, file descriptor <VAR>n</VAR> is closed.
+If <VAR>n</VAR> is not specified, the standard input (file descriptor 0) is used.
 <P>
 
 The operator
@@ -3266,8 +3268,10 @@ The operator
 <VAR>n</VAR> is not specified, the standard output (file descriptor 1) is used.
 If the digits in <VAR>word</VAR> do not specify a file descriptor open for
 output, a redirection error occurs.
+If <VAR>word</VAR>
+evaluates to <SAMP>`-'</SAMP>, file descriptor <VAR>n</VAR> is closed.
 As a special case, if <VAR>n</VAR> is omitted, and <VAR>word</VAR> does not
-expand to one or more digits, the standard output and standard
+expand to one or more digits or <SAMP>`-'</SAMP>, the standard output and standard
 error are redirected as described previously.
 </P><P>
 
@@ -4270,9 +4274,12 @@ being executed with the <CODE>.</CODE> (<CODE>source</CODE>) builtin,
 returning either <VAR>n</VAR> or
 the exit status of the last command executed within the script as the exit
 status of the script.
+If <VAR>n</VAR> is supplied, the return value is its least significant
+8 bits.
 Any command associated with the <CODE>RETURN</CODE> trap is executed
 before execution resumes after the function or script.
-The return status is non-zero if <CODE>return</CODE> is used outside a function
+The return status is non-zero if <CODE>return</CODE> is supplied a non-numeric
+argument or is used outside a function
 and not during the execution of a script by <CODE>.</CODE> or <CODE>source</CODE>.
 </P><P>
 
@@ -16600,7 +16607,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>September, 26  2011</I>
+This document was generated by <I>Chet Ramey</I> on <I>October, 24  2011</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -16762,7 +16769,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>September, 26  2011</I>
+by <I>Chet Ramey</I> on <I>October, 24  2011</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index c01f926f65651b58c60c089ad67cc1a96da7914f..c87e9b882a33ca0464d1f00811e5887e8333665c 100644 (file)
@@ -2,10 +2,10 @@ This is bashref.info, produced by makeinfo version 4.13 from
 /Users/chet/src/bash/src/doc/bashref.texi.
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 25 September 2011).
+the Bash shell (version 4.2, 24 October 2011).
 
-   This is Edition 4.2, last updated 25 September 2011, of `The GNU
-Bash Reference Manual', for `Bash', Version 4.2.
+   This is Edition 4.2, last updated 24 October 2011, of `The GNU Bash
+Reference Manual', for `Bash', Version 4.2.
 
    Copyright (C) 1988-2011 Free Software Foundation, Inc.
 
@@ -38,10 +38,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 25 September 2011).
+the Bash shell (version 4.2, 24 October 2011).
 
-   This is Edition 4.2, last updated 25 September 2011, of `The GNU
-Bash Reference Manual', for `Bash', Version 4.2.
+   This is Edition 4.2, last updated 24 October 2011, of `The GNU Bash
+Reference Manual', for `Bash', Version 4.2.
 
    Bash contains features that appear in other popular shells, and some
 features that only appear in Bash.  Some of the shells that Bash has
@@ -2034,7 +2034,9 @@ error:
    Of the two forms, the first is preferred.  This is semantically
 equivalent to
      >WORD 2>&1
-   (see Duplicating File Descriptors below).
+   When using the second form, WORD may not expand to a number or `-'.
+If it does, other redirection operators apply (see Duplicating File
+Descriptors below) for compatibility reasons.
 
 3.6.5 Appending Standard Output and Standard Error
 --------------------------------------------------
@@ -2105,8 +2107,9 @@ the standard input (file descriptor 0) is used.
    is used similarly to duplicate output file descriptors.  If N is not
 specified, the standard output (file descriptor 1) is used.  If the
 digits in WORD do not specify a file descriptor open for output, a
-redirection error occurs.  As a special case, if N is omitted, and WORD
-does not expand to one or more digits, the standard output and standard
+redirection error occurs.  If WORD evaluates to `-', file descriptor N
+is closed.  As a special case, if N is omitted, and WORD does not
+expand to one or more digits or `-', the standard output and standard
 error are redirected as described previously.
 
 3.6.9 Moving File Descriptors
@@ -2750,11 +2753,12 @@ standard.
      also be used to terminate execution of a script being executed
      with the `.' (`source') builtin, returning either N or the exit
      status of the last command executed within the script as the exit
-     status of the script.  Any command associated with the `RETURN'
-     trap is executed before execution resumes after the function or
-     script.  The return status is non-zero if `return' is used outside
-     a function and not during the execution of a script by `.' or
-     `source'.
+     status of the script.  If N is supplied, the return value is its
+     least significant 8 bits.  Any command associated with the
+     `RETURN' trap is executed before execution resumes after the
+     function or script.  The return status is non-zero if `return' is
+     supplied a non-numeric argument or is used outside a function and
+     not during the execution of a script by `.' or `source'.
 
 `shift'
           shift [N]
@@ -10013,7 +10017,7 @@ D.1 Index of Shell Builtin Commands
 * ::                                     Bourne Shell Builtins.
                                                               (line  11)
 * [:                                     Bourne Shell Builtins.
-                                                              (line 240)
+                                                              (line 241)
 * alias:                                 Bash Builtins.       (line  11)
 * bg:                                    Job Control Builtins.
                                                               (line   7)
@@ -10082,25 +10086,25 @@ D.1 Index of Shell Builtin Commands
                                                               (line 212)
 * set:                                   The Set Builtin.     (line  11)
 * shift:                                 Bourne Shell Builtins.
-                                                              (line 227)
+                                                              (line 228)
 * shopt:                                 The Shopt Builtin.   (line   9)
 * source:                                Bash Builtins.       (line 550)
 * suspend:                               Job Control Builtins.
                                                               (line  99)
 * test:                                  Bourne Shell Builtins.
-                                                              (line 240)
+                                                              (line 241)
 * times:                                 Bourne Shell Builtins.
-                                                              (line 316)
+                                                              (line 317)
 * trap:                                  Bourne Shell Builtins.
-                                                              (line 322)
+                                                              (line 323)
 * type:                                  Bash Builtins.       (line 555)
 * typeset:                               Bash Builtins.       (line 587)
 * ulimit:                                Bash Builtins.       (line 593)
 * umask:                                 Bourne Shell Builtins.
-                                                              (line 369)
+                                                              (line 370)
 * unalias:                               Bash Builtins.       (line 684)
 * unset:                                 Bourne Shell Builtins.
-                                                              (line 387)
+                                                              (line 388)
 * wait:                                  Job Control Builtins.
                                                               (line  76)
 
@@ -10606,133 +10610,133 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f1348
-Node: Introduction\7f3190
-Node: What is Bash?\7f3418
-Node: What is a shell?\7f4531
-Node: Definitions\7f7070
-Node: Basic Shell Features\7f9988
-Node: Shell Syntax\7f11207
-Node: Shell Operation\7f12237
-Node: Quoting\7f13531
-Node: Escape Character\7f14834
-Node: Single Quotes\7f15319
-Node: Double Quotes\7f15667
-Node: ANSI-C Quoting\7f16792
-Node: Locale Translation\7f18036
-Node: Comments\7f18932
-Node: Shell Commands\7f19550
-Node: Simple Commands\7f20422
-Node: Pipelines\7f21053
-Node: Lists\7f23752
-Node: Compound Commands\7f25481
-Node: Looping Constructs\7f26487
-Node: Conditional Constructs\7f28950
-Node: Command Grouping\7f37095
-Node: Coprocesses\7f38574
-Node: GNU Parallel\7f40248
-Node: Shell Functions\7f42716
-Node: Shell Parameters\7f47800
-Node: Positional Parameters\7f50405
-Node: Special Parameters\7f51305
-Node: Shell Expansions\7f54269
-Node: Brace Expansion\7f56195
-Node: Tilde Expansion\7f58949
-Node: Shell Parameter Expansion\7f61298
-Node: Command Substitution\7f70432
-Node: Arithmetic Expansion\7f71765
-Node: Process Substitution\7f72615
-Node: Word Splitting\7f73665
-Node: Filename Expansion\7f75288
-Node: Pattern Matching\7f77453
-Node: Quote Removal\7f81153
-Node: Redirections\7f81448
-Node: Executing Commands\7f90285
-Node: Simple Command Expansion\7f90955
-Node: Command Search and Execution\7f92885
-Node: Command Execution Environment\7f95222
-Node: Environment\7f98208
-Node: Exit Status\7f99867
-Node: Signals\7f101489
-Node: Shell Scripts\7f103457
-Node: Shell Builtin Commands\7f105975
-Node: Bourne Shell Builtins\7f108003
-Node: Bash Builtins\7f126676
-Node: Modifying Shell Behavior\7f153054
-Node: The Set Builtin\7f153399
-Node: The Shopt Builtin\7f163147
-Node: Special Builtins\7f176848
-Node: Shell Variables\7f177827
-Node: Bourne Shell Variables\7f178267
-Node: Bash Variables\7f180298
-Node: Bash Features\7f205299
-Node: Invoking Bash\7f206198
-Node: Bash Startup Files\7f211960
-Node: Interactive Shells\7f216979
-Node: What is an Interactive Shell?\7f217389
-Node: Is this Shell Interactive?\7f218038
-Node: Interactive Shell Behavior\7f218853
-Node: Bash Conditional Expressions\7f222133
-Node: Shell Arithmetic\7f225921
-Node: Aliases\7f228680
-Node: Arrays\7f231236
-Node: The Directory Stack\7f235444
-Node: Directory Stack Builtins\7f236163
-Node: Controlling the Prompt\7f239119
-Node: The Restricted Shell\7f241891
-Node: Bash POSIX Mode\7f243728
-Node: Job Control\7f252876
-Node: Job Control Basics\7f253336
-Node: Job Control Builtins\7f258055
-Node: Job Control Variables\7f262407
-Node: Command Line Editing\7f263565
-Node: Introduction and Notation\7f265132
-Node: Readline Interaction\7f266754
-Node: Readline Bare Essentials\7f267945
-Node: Readline Movement Commands\7f269734
-Node: Readline Killing Commands\7f270699
-Node: Readline Arguments\7f272619
-Node: Searching\7f273663
-Node: Readline Init File\7f275849
-Node: Readline Init File Syntax\7f276996
-Node: Conditional Init Constructs\7f292338
-Node: Sample Init File\7f294871
-Node: Bindable Readline Commands\7f297988
-Node: Commands For Moving\7f299195
-Node: Commands For History\7f300339
-Node: Commands For Text\7f304524
-Node: Commands For Killing\7f307197
-Node: Numeric Arguments\7f309654
-Node: Commands For Completion\7f310793
-Node: Keyboard Macros\7f314985
-Node: Miscellaneous Commands\7f315556
-Node: Readline vi Mode\7f321362
-Node: Programmable Completion\7f322269
-Node: Programmable Completion Builtins\7f329479
-Node: Using History Interactively\7f338615
-Node: Bash History Facilities\7f339299
-Node: Bash History Builtins\7f342213
-Node: History Interaction\7f346141
-Node: Event Designators\7f348846
-Node: Word Designators\7f350068
-Node: Modifiers\7f351707
-Node: Installing Bash\7f353111
-Node: Basic Installation\7f354248
-Node: Compilers and Options\7f356940
-Node: Compiling For Multiple Architectures\7f357681
-Node: Installation Names\7f359345
-Node: Specifying the System Type\7f360163
-Node: Sharing Defaults\7f360879
-Node: Operation Controls\7f361552
-Node: Optional Features\7f362510
-Node: Reporting Bugs\7f372082
-Node: Major Differences From The Bourne Shell\7f373283
-Node: GNU Free Documentation License\7f389975
-Node: Indexes\7f415171
-Node: Builtin Index\7f415625
-Node: Reserved Word Index\7f422452
-Node: Variable Index\7f424900
-Node: Function Index\7f437995
-Node: Concept Index\7f445150
+Node: Top\7f1344
+Node: Introduction\7f3182
+Node: What is Bash?\7f3410
+Node: What is a shell?\7f4523
+Node: Definitions\7f7062
+Node: Basic Shell Features\7f9980
+Node: Shell Syntax\7f11199
+Node: Shell Operation\7f12229
+Node: Quoting\7f13523
+Node: Escape Character\7f14826
+Node: Single Quotes\7f15311
+Node: Double Quotes\7f15659
+Node: ANSI-C Quoting\7f16784
+Node: Locale Translation\7f18028
+Node: Comments\7f18924
+Node: Shell Commands\7f19542
+Node: Simple Commands\7f20414
+Node: Pipelines\7f21045
+Node: Lists\7f23744
+Node: Compound Commands\7f25473
+Node: Looping Constructs\7f26479
+Node: Conditional Constructs\7f28942
+Node: Command Grouping\7f37087
+Node: Coprocesses\7f38566
+Node: GNU Parallel\7f40240
+Node: Shell Functions\7f42708
+Node: Shell Parameters\7f47792
+Node: Positional Parameters\7f50397
+Node: Special Parameters\7f51297
+Node: Shell Expansions\7f54261
+Node: Brace Expansion\7f56187
+Node: Tilde Expansion\7f58941
+Node: Shell Parameter Expansion\7f61290
+Node: Command Substitution\7f70424
+Node: Arithmetic Expansion\7f71757
+Node: Process Substitution\7f72607
+Node: Word Splitting\7f73657
+Node: Filename Expansion\7f75280
+Node: Pattern Matching\7f77445
+Node: Quote Removal\7f81145
+Node: Redirections\7f81440
+Node: Executing Commands\7f90480
+Node: Simple Command Expansion\7f91150
+Node: Command Search and Execution\7f93080
+Node: Command Execution Environment\7f95417
+Node: Environment\7f98403
+Node: Exit Status\7f100062
+Node: Signals\7f101684
+Node: Shell Scripts\7f103652
+Node: Shell Builtin Commands\7f106170
+Node: Bourne Shell Builtins\7f108198
+Node: Bash Builtins\7f126983
+Node: Modifying Shell Behavior\7f153361
+Node: The Set Builtin\7f153706
+Node: The Shopt Builtin\7f163454
+Node: Special Builtins\7f177155
+Node: Shell Variables\7f178134
+Node: Bourne Shell Variables\7f178574
+Node: Bash Variables\7f180605
+Node: Bash Features\7f205606
+Node: Invoking Bash\7f206505
+Node: Bash Startup Files\7f212267
+Node: Interactive Shells\7f217286
+Node: What is an Interactive Shell?\7f217696
+Node: Is this Shell Interactive?\7f218345
+Node: Interactive Shell Behavior\7f219160
+Node: Bash Conditional Expressions\7f222440
+Node: Shell Arithmetic\7f226228
+Node: Aliases\7f228987
+Node: Arrays\7f231543
+Node: The Directory Stack\7f235751
+Node: Directory Stack Builtins\7f236470
+Node: Controlling the Prompt\7f239426
+Node: The Restricted Shell\7f242198
+Node: Bash POSIX Mode\7f244035
+Node: Job Control\7f253183
+Node: Job Control Basics\7f253643
+Node: Job Control Builtins\7f258362
+Node: Job Control Variables\7f262714
+Node: Command Line Editing\7f263872
+Node: Introduction and Notation\7f265439
+Node: Readline Interaction\7f267061
+Node: Readline Bare Essentials\7f268252
+Node: Readline Movement Commands\7f270041
+Node: Readline Killing Commands\7f271006
+Node: Readline Arguments\7f272926
+Node: Searching\7f273970
+Node: Readline Init File\7f276156
+Node: Readline Init File Syntax\7f277303
+Node: Conditional Init Constructs\7f292645
+Node: Sample Init File\7f295178
+Node: Bindable Readline Commands\7f298295
+Node: Commands For Moving\7f299502
+Node: Commands For History\7f300646
+Node: Commands For Text\7f304831
+Node: Commands For Killing\7f307504
+Node: Numeric Arguments\7f309961
+Node: Commands For Completion\7f311100
+Node: Keyboard Macros\7f315292
+Node: Miscellaneous Commands\7f315863
+Node: Readline vi Mode\7f321669
+Node: Programmable Completion\7f322576
+Node: Programmable Completion Builtins\7f329786
+Node: Using History Interactively\7f338922
+Node: Bash History Facilities\7f339606
+Node: Bash History Builtins\7f342520
+Node: History Interaction\7f346448
+Node: Event Designators\7f349153
+Node: Word Designators\7f350375
+Node: Modifiers\7f352014
+Node: Installing Bash\7f353418
+Node: Basic Installation\7f354555
+Node: Compilers and Options\7f357247
+Node: Compiling For Multiple Architectures\7f357988
+Node: Installation Names\7f359652
+Node: Specifying the System Type\7f360470
+Node: Sharing Defaults\7f361186
+Node: Operation Controls\7f361859
+Node: Optional Features\7f362817
+Node: Reporting Bugs\7f372389
+Node: Major Differences From The Bourne Shell\7f373590
+Node: GNU Free Documentation License\7f390282
+Node: Indexes\7f415478
+Node: Builtin Index\7f415932
+Node: Reserved Word Index\7f422759
+Node: Variable Index\7f425207
+Node: Function Index\7f438302
+Node: Concept Index\7f445457
 \1f
 End Tag Table
index 876709215dcce32c7b2cf982bc6ceed86f0a6896..d816964bc5d9d27c8d1a84937d8937a9313eec7e 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  26 SEP 2011 10:56
+This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  24 OCT 2011 08:43
 **/Users/chet/src/bash/src/doc/bashref.texi
 (/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
 Loading texinfo [version 2009-01-18.17]:
@@ -232,7 +232,7 @@ arallel -k traceroute[]
 [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]
 [30] [31] [32] [33] [34] Chapter 4 [35] [36] [37] [38] [39] [40] [41] [42]
 [43]
-Underfull \hbox (badness 5231) in paragraph at lines 3479--3492
+Underfull \hbox (badness 5231) in paragraph at lines 3486--3499
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -246,7 +246,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
 [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58]
 [59] [60]
-Underfull \hbox (badness 5460) in paragraph at lines 4725--4731
+Underfull \hbox (badness 5460) in paragraph at lines 4732--4738
  []@textrm If set, range ex-pres-sions used in pat-tern match-ing (see
 
 @hbox(8.2125+2.73749)x433.62, glue set 3.79674
@@ -259,7 +259,7 @@ Underfull \hbox (badness 5460) in paragraph at lines 4725--4731
 
 [61] [62] Chapter 5 [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73]
 Chapter 6 [74]
-Overfull \hbox (51.96864pt too wide) in paragraph at lines 5617--5617
+Overfull \hbox (51.96864pt too wide) in paragraph at lines 5624--5624
  []@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
 exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -272,7 +272,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 
-Overfull \hbox (76.23077pt too wide) in paragraph at lines 5618--5618
+Overfull \hbox (76.23077pt too wide) in paragraph at lines 5625--5625
  []@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt 
 ] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
 -
@@ -286,7 +286,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5618--5618
 .etc.
 
 
-Overfull \hbox (34.72258pt too wide) in paragraph at lines 5619--5619
+Overfull \hbox (34.72258pt too wide) in paragraph at lines 5626--5626
  []@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
 tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -299,7 +299,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 [75] [76]
-Underfull \hbox (badness 2245) in paragraph at lines 5790--5792
+Underfull \hbox (badness 2245) in paragraph at lines 5797--5799
 []@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from 
 the file
 
@@ -312,7 +312,7 @@ the file
 .etc.
 
 [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]
-Underfull \hbox (badness 2521) in paragraph at lines 6980--6983
+Underfull \hbox (badness 2521) in paragraph at lines 6987--6990
 @textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
 e[] @textrm when build-ing (see Sec-tion 10.8
 
@@ -381,7 +381,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1946--1949
 [123] [124]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
 [125] [126] [127] [128] [129] [130]) Chapter 10 [131] [132] [133] [134]
 [135]
-Underfull \hbox (badness 2772) in paragraph at lines 7586--7590
+Underfull \hbox (badness 2772) in paragraph at lines 7593--7597
  []@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
 s/large_
 
@@ -401,10 +401,10 @@ s/large_
 Here is how much of TeX's memory you used:
  2081 strings out of 97980
  28573 string characters out of 1221004
- 65630 words of memory out of 1500000
+ 65626 words of memory out of 1500000
  2897 multiletter control sequences out of 10000+50000
  32127 words of font info for 112 fonts, out of 1200000 for 2000
  51 hyphenation exceptions out of 8191
  16i,6n,14p,315b,702s stack positions out of 5000i,500n,6000p,200000b,5000s
 
-Output written on bashref.dvi (170 pages, 687040 bytes).
+Output written on bashref.dvi (170 pages, 687440 bytes).
index db25f5e33abd903ca2a9b62836733c78cda723f6..e11ba8d98a12d37752217bd6fd79eb9eb25fc94f 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index 49c1aca3d09993270f2cab51d49eb3da967eb1ae..db10ccf950e1a5da9410d7539d7cbc105aa9de6d 100644 (file)
@@ -11,7 +11,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2011.09.26:1056
+%DVIPSSource:  TeX output 2011.10.24:0843
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -4323,30 +4323,29 @@ letter
 TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
 b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.2,)g(for)f
-Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3118 1697 y(Septem)m(b)s(er)f
-(2011)150 4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
-b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068
-y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
+Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3217 1697 y(Octob)s(er)f(2011)150
+4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
+b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
+b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
 b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
 (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.2,)c(25)f(Septem)m(b)s
-(er)f(2011\).)150 3133 y(This)e(is)h(Edition)f(4.2,)j(last)e(up)s
-(dated)f(25)h(Septem)m(b)s(er)f(2011,)j(of)e Fq(The)f(GNU)i(Bash)e
-(Reference)i(Man)m(ual)p Ft(,)150 3243 y(for)g Fs(Bash)p
-Ft(,)g(V)-8 b(ersion)31 b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fp(\015)f Ft(1988{2011)35 b(F)-8
-b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150
-3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d
-(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m
-(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s
-(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g(copies.)390
-3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
-b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
-(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
-b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
-b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.2,)c(24)f(Octob)s(er)f
+(2011\).)150 3133 y(This)35 b(is)g(Edition)h(4.2,)i(last)f(up)s(dated)d
+(24)i(Octob)s(er)g(2011,)j(of)c Fq(The)h(GNU)g(Bash)f(Reference)i(Man)m
+(ual)p Ft(,)150 3243 y(for)30 b Fs(Bash)p Ft(,)g(V)-8
+b(ersion)31 b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602 3374
+y(c)577 3377 y Fp(\015)f Ft(1988{2011)35 b(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150 3512
+y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
+(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
+3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
+(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
+h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
+(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
+(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
+b(ersion)39 b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -6955,52 +6954,56 @@ Fq(n)p Ft(,)g(or)g(the)h(standard)e(output)h(\(\014le)h(descriptor)f
 (1\))h(if)g Fq(n)e Ft(is)i(not)150 665 y(sp)s(eci\014ed.)40
 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h(exist)g(it)g(is)f(created;)i
 (if)e(it)h(do)s(es)f(exist)h(it)g(is)g(truncated)f(to)h(zero)g(size.)
-275 823 y(The)e(general)j(format)e(for)h(redirecting)g(output)f(is:)390
-981 y Fs([)p Fi(n)11 b Fs(]>[|])p Fi(word)275 1139 y
+275 812 y(The)e(general)j(format)e(for)h(redirecting)g(output)f(is:)390
+959 y Fs([)p Fi(n)11 b Fs(]>[|])p Fi(word)275 1107 y
 Ft(If)30 b(the)h(redirection)g(op)s(erator)g(is)g(`)p
 Fs(>)p Ft(',)g(and)f(the)h Fs(noclobber)d Ft(option)j(to)g(the)g
-Fs(set)f Ft(builtin)g(has)h(b)s(een)150 1249 y(enabled,)i(the)f
+Fs(set)f Ft(builtin)g(has)h(b)s(een)150 1216 y(enabled,)i(the)f
 (redirection)h(will)f(fail)h(if)f(the)g(\014le)g(whose)g(name)g
 (results)g(from)g(the)g(expansion)g(of)g Fq(w)m(ord)150
-1359 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
+1326 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
 b(If)30 b(the)h(redirection)g(op)s(erator)g(is)f(`)p
 Fs(>|)p Ft(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150
-1468 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
+1435 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
 Ft(option)j(is)g(not)g(enabled,)h(the)e(redirection)h(is)g(attempted)g
-(ev)m(en)h(if)e(the)h(\014le)150 1578 y(named)30 b(b)m(y)g
-Fq(w)m(ord)k Ft(exists.)150 1801 y Fj(3.6.3)63 b(App)s(ending)42
-b(Redirected)e(Output)150 1948 y Ft(Redirection)23 b(of)e(output)h(in)f
+(ev)m(en)h(if)e(the)h(\014le)150 1545 y(named)30 b(b)m(y)g
+Fq(w)m(ord)k Ft(exists.)150 1757 y Fj(3.6.3)63 b(App)s(ending)42
+b(Redirected)e(Output)150 1904 y Ft(Redirection)23 b(of)e(output)h(in)f
 (this)h(fashion)f(causes)h(the)g(\014le)g(whose)f(name)h(results)f
-(from)g(the)h(expansion)g(of)150 2057 y Fq(w)m(ord)28
+(from)g(the)h(expansion)g(of)150 2013 y Fq(w)m(ord)28
 b Ft(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g
 (descriptor)g Fq(n)p Ft(,)g(or)g(the)g(standard)f(output)h(\(\014le)g
-(descriptor)150 2167 y(1\))31 b(if)f Fq(n)g Ft(is)h(not)f(sp)s
+(descriptor)150 2123 y(1\))31 b(if)f Fq(n)g Ft(is)h(not)f(sp)s
 (eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s(es)g(not)h(exist)g(it)g
-(is)f(created.)275 2325 y(The)f(general)j(format)e(for)h(app)s(ending)e
-(output)h(is:)390 2483 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150
-2706 y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g
-(Standard)g(Error)150 2853 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
+(is)f(created.)275 2270 y(The)f(general)j(format)e(for)h(app)s(ending)e
+(output)h(is:)390 2417 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150
+2629 y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g
+(Standard)g(Error)150 2776 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
 (oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f
-(the)g(standard)f(error)150 2963 y(output)d(\(\014le)h(descriptor)f
+(the)g(standard)f(error)150 2886 y(output)d(\(\014le)h(descriptor)f
 (2\))h(to)g(b)s(e)f(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)
-f(the)g(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 3121 y(There)f(are)i(t)m
+f(the)g(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 3033 y(There)f(are)i(t)m
 (w)m(o)h(formats)e(for)h(redirecting)g(standard)e(output)h(and)g
-(standard)f(error:)390 3279 y Fs(&>)p Fi(word)150 3437
-y Ft(and)390 3595 y Fs(>&)p Fi(word)150 3753 y Ft(Of)h(the)g(t)m(w)m(o)
+(standard)f(error:)390 3180 y Fs(&>)p Fi(word)150 3328
+y Ft(and)390 3475 y Fs(>&)p Fi(word)150 3622 y Ft(Of)h(the)g(t)m(w)m(o)
 i(forms,)e(the)h(\014rst)e(is)i(preferred.)39 b(This)30
 b(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32 b(to)390
-3912 y Fs(>)p Fi(word)57 b Fs(2>&1)275 4070 y Ft(\(see)31
-b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)150
-4293 y Fj(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g
-(Standard)g(Error)150 4440 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
+3769 y Fs(>)p Fi(word)57 b Fs(2>&1)275 3916 y Ft(When)41
+b(using)g(the)h(second)f(form,)k Fq(w)m(ord)f Ft(ma)m(y)e(not)g(expand)
+f(to)h(a)g(n)m(um)m(b)s(er)f(or)g(`)p Fs(-)p Ft('.)75
+b(If)41 b(it)h(do)s(es,)150 4026 y(other)27 b(redirection)g(op)s
+(erators)f(apply)h(\(see)g(Duplicating)h(File)f(Descriptors)h(b)s(elo)m
+(w\))f(for)f(compatibilit)m(y)150 4135 y(reasons.)150
+4347 y Fj(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g
+(Standard)g(Error)150 4494 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
 (oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f
-(the)g(standard)f(error)150 4549 y(output)d(\(\014le)h(descriptor)f
+(the)g(standard)f(error)150 4604 y(output)d(\(\014le)h(descriptor)f
 (2\))h(to)g(b)s(e)f(app)s(ended)f(to)i(the)f(\014le)h(whose)f(name)g
-(is)h(the)f(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 4707
+(is)h(the)f(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 4751
 y(The)f(format)i(for)f(app)s(ending)f(standard)h(output)g(and)f
-(standard)h(error)g(is:)390 4866 y Fs(&>>)p Fi(word)150
-5024 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
-b(to)390 5182 y Fs(>>)p Fi(word)57 b Fs(2>&1)275 5340
+(standard)h(error)g(is:)390 4898 y Fs(&>>)p Fi(word)150
+5046 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
+b(to)390 5193 y Fs(>>)p Fi(word)57 b Fs(2>&1)275 5340
 y Ft(\(see)31 b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)p
 eop end
 %%Page: 30 36
@@ -7067,12 +7070,14 @@ b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150
 5011 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
 b(If)30 b(the)g(digits)h(in)e Fq(w)m(ord)34 b Ft(do)29
 b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150
-5121 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
-b(As)38 b(a)h(sp)s(ecial)f(case,)k(if)c Fq(n)f Ft(is)h(omitted,)k(and)
-37 b Fq(w)m(ord)k Ft(do)s(es)150 5230 y(not)28 b(expand)f(to)i(one)f
-(or)f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g
-(error)g(are)i(redirected)f(as)150 5340 y(describ)s(ed)h(previously)-8
-b(.)p eop end
+5121 y(for)35 b(output,)h(a)g(redirection)g(error)e(o)s(ccurs.)55
+b(If)35 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)37 b(to)f(`)p
+Fs(-)p Ft(',)h(\014le)e(descriptor)g Fq(n)g Ft(is)g(closed.)150
+5230 y(As)f(a)g(sp)s(ecial)h(case,)h(if)e Fq(n)f Ft(is)h(omitted,)i
+(and)e Fq(w)m(ord)j Ft(do)s(es)d(not)g(expand)f(to)i(one)f(or)g(more)g
+(digits)h(or)f(`)p Fs(-)p Ft(',)150 5340 y(the)d(standard)e(output)h
+(and)g(standard)f(error)h(are)h(redirected)g(as)g(describ)s(ed)e
+(previously)-8 b(.)p eop end
 %%Page: 31 37
 TeXDict begin 31 36 bop 150 -116 a Ft(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)150 299
@@ -7818,65 +7823,68 @@ b(in)f(the)h(function.)53 b Fs(return)33 b Ft(ma)m(y)i(also)g(b)s(e)f
 (used)f(to)j(terminate)f(execution)h(of)630 408 y(a)e(script)g(b)s
 (eing)g(executed)g(with)g(the)g Fs(.)g Ft(\()p Fs(source)p
 Ft(\))f(builtin,)h(returning)f(either)i Fq(n)e Ft(or)h(the)630
-518 y(exit)29 b(status)f(of)g(the)h(last)g(command)e(executed)i(within)
-f(the)g(script)g(as)g(the)g(exit)h(status)g(of)630 628
-y(the)34 b(script.)51 b(An)m(y)34 b(command)g(asso)s(ciated)h(with)f
-(the)g Fs(RETURN)e Ft(trap)i(is)g(executed)g(b)s(efore)630
-737 y(execution)d(resumes)e(after)i(the)f(function)f(or)h(script.)40
-b(The)30 b(return)f(status)h(is)g(non-zero)g(if)630 847
-y Fs(return)c Ft(is)i(used)f(outside)h(a)h(function)e(and)g(not)i
-(during)d(the)i(execution)h(of)f(a)h(script)e(b)m(y)h
-Fs(.)630 956 y Ft(or)i Fs(source)p Ft(.)150 1130 y Fs(shift)870
-1271 y(shift)46 b([)p Fi(n)11 b Fs(])630 1413 y Ft(Shift)41
+518 y(exit)j(status)f(of)g(the)g(last)h(command)e(executed)i(within)e
+(the)h(script)g(as)g(the)g(exit)h(status)630 628 y(of)i(the)g(script.)
+65 b(If)38 b Fq(n)g Ft(is)h(supplied,)h(the)f(return)e(v)-5
+b(alue)39 b(is)g(its)g(least)h(signi\014can)m(t)g(8)f(bits.)630
+737 y(An)m(y)g(command)f(asso)s(ciated)j(with)d(the)h
+Fs(RETURN)e Ft(trap)i(is)g(executed)g(b)s(efore)g(execution)630
+847 y(resumes)29 b(after)h(the)g(function)g(or)g(script.)40
+b(The)29 b(return)g(status)h(is)g(non-zero)g(if)g Fs(return)e
+Ft(is)630 956 y(supplied)h(a)i(non-n)m(umeric)g(argumen)m(t)g(or)f(is)h
+(used)f(outside)h(a)g(function)f(and)g(not)h(during)630
+1066 y(the)g(execution)g(of)g(a)f(script)h(b)m(y)f Fs(.)g
+Ft(or)g Fs(source)p Ft(.)150 1230 y Fs(shift)870 1367
+y(shift)46 b([)p Fi(n)11 b Fs(])630 1504 y Ft(Shift)41
 b(the)g(p)s(ositional)h(parameters)g(to)g(the)f(left)h(b)m(y)g
 Fq(n)p Ft(.)73 b(The)40 b(p)s(ositional)j(parameters)630
-1523 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
+1614 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
 b Fs($#)34 b Ft(are)g(renamed)g(to)h Fs($1)k Ft(.)22
 b(.)g(.)46 b Fs($#)p Ft(-)p Fq(n)p Ft(.)51 b(P)m(arameters)36
-b(represen)m(ted)e(b)m(y)g(the)630 1632 y(n)m(um)m(b)s(ers)25
+b(represen)m(ted)e(b)m(y)g(the)630 1724 y(n)m(um)m(b)s(ers)25
 b Fs($#)i Ft(to)g Fs($#)p Ft(-)p Fq(n)p Fs(+)p Ft(1)g(are)g(unset.)39
 b Fq(n)26 b Ft(m)m(ust)h(b)s(e)f(a)i(non-negativ)m(e)h(n)m(um)m(b)s(er)
-c(less)i(than)g(or)630 1742 y(equal)33 b(to)h Fs($#)p
+c(less)i(than)g(or)630 1833 y(equal)33 b(to)h Fs($#)p
 Ft(.)47 b(If)33 b Fq(n)f Ft(is)h(zero)g(or)g(greater)h(than)f
 Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)630
-1851 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
+1943 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
 (is)f(assumed)g(to)h(b)s(e)f(1.)48 b(The)32 b(return)g(status)h(is)f
-(zero)630 1961 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
+(zero)630 2052 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
 Fs($#)e Ft(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)150
-2134 y Fs(test[B)150 2244 y([)870 2386 y(test)47 b Fi(expr)630
-2527 y Ft(Ev)-5 b(aluate)43 b(a)f(conditional)h(expression)f
+2217 y Fs(test[B)150 2326 y([)870 2463 y(test)47 b Fi(expr)630
+2600 y Ft(Ev)-5 b(aluate)43 b(a)f(conditional)h(expression)f
 Fq(expr)48 b Ft(and)41 b(return)g(a)h(status)g(of)g(0)g(\(true\))h(or)f
-(1)630 2637 y(\(false\).)g(Eac)m(h)31 b(op)s(erator)f(and)f(op)s(erand)
+(1)630 2710 y(\(false\).)g(Eac)m(h)31 b(op)s(erator)f(and)f(op)s(erand)
 g(m)m(ust)h(b)s(e)f(a)i(separate)g(argumen)m(t.)41 b(Expressions)630
-2746 y(are)26 b(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s
+2819 y(are)26 b(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s
 (elo)m(w)h(in)g(Section)h(6.4)h([Bash)e(Conditional)630
-2856 y(Expressions],)39 b(page)g(80.)64 b Fs(test)37
+2929 y(Expressions],)39 b(page)g(80.)64 b Fs(test)37
 b Ft(do)s(es)g(not)h(accept)i(an)m(y)e(options,)i(nor)e(do)s(es)f(it)h
-(accept)630 2966 y(and)30 b(ignore)h(an)f(argumen)m(t)h(of)f(`)p
+(accept)630 3039 y(and)30 b(ignore)h(an)f(argumen)m(t)h(of)f(`)p
 Fs(--)p Ft(')h(as)f(signifying)h(the)f(end)g(of)h(options.)630
-3107 y(When)f(the)h Fs([)f Ft(form)g(is)g(used,)g(the)g(last)i(argumen)
+3176 y(When)f(the)h Fs([)f Ft(form)g(is)g(used,)g(the)g(last)i(argumen)
 m(t)e(to)i(the)e(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p
-Ft(.)630 3249 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f
+Ft(.)630 3313 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f
 (the)h(follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
-3358 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
+3422 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
 b(aluation)33 b(dep)s(ends)28 b(on)j(the)g(n)m(um)m(b)s(er)f(of)h
-(argumen)m(ts;)g(see)630 3468 y(b)s(elo)m(w.)41 b(Op)s(erator)30
+(argumen)m(ts;)g(see)630 3532 y(b)s(elo)m(w.)41 b(Op)s(erator)30
 b(precedence)h(is)f(used)g(when)f(there)i(are)f(\014v)m(e)h(or)f(more)h
-(argumen)m(ts.)630 3641 y Fs(!)f Fi(expr)210 b Ft(T)-8
-b(rue)30 b(if)g Fq(expr)37 b Ft(is)30 b(false.)630 3815
+(argumen)m(ts.)630 3696 y Fs(!)f Fi(expr)210 b Ft(T)-8
+b(rue)30 b(if)g Fq(expr)37 b Ft(is)30 b(false.)630 3861
 y Fs(\()g Fi(expr)40 b Fs(\))122 b Ft(Returns)23 b(the)h(v)-5
 b(alue)24 b(of)g Fq(expr)7 b Ft(.)37 b(This)23 b(ma)m(y)i(b)s(e)e(used)
-g(to)h(o)m(v)m(erride)h(the)f(normal)1110 3924 y(precedence)31
-b(of)f(op)s(erators.)630 4098 y Fi(expr1)39 b Fs(-a)30
-b Fi(expr2)1110 4208 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g
+g(to)h(o)m(v)m(erride)h(the)f(normal)1110 3970 y(precedence)31
+b(of)f(op)s(erators.)630 4134 y Fi(expr1)39 b Fs(-a)30
+b Fi(expr2)1110 4244 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g
 Fq(expr1)37 b Ft(and)30 b Fq(expr2)38 b Ft(are)30 b(true.)630
-4381 y Fi(expr1)39 b Fs(-o)30 b Fi(expr2)1110 4491 y
+4408 y Fi(expr1)39 b Fs(-o)30 b Fi(expr2)1110 4518 y
 Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expr1)38 b Ft(or)30
-b Fq(expr2)37 b Ft(is)31 b(true.)630 4664 y(The)37 b
+b Fq(expr2)37 b Ft(is)31 b(true.)630 4682 y(The)37 b
 Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5 b(aluate)39
 b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)630
-4774 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
-4947 y(0)h(argumen)m(ts)1110 5057 y(The)f(expression)g(is)g(false.)630
+4792 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
+4956 y(0)h(argumen)m(ts)1110 5066 y(The)f(expression)g(is)g(false.)630
 5230 y(1)h(argumen)m(t)1110 5340 y(The)f(expression)g(is)g(true)h(if)f
 (and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)p
 eop end
index 1bc87394da4ea9a1619e7309ab7b699aeb1690ad..6cca687af95bb926d5d8550a0bd4c6feebd3e045 100644 (file)
@@ -985,10 +985,12 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               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.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn 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 resumes after the function or script.
+              of the script.  If _\bn is supplied, the return value is its  least
+              significant  8 bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn is
+              supplied 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 com-
+              mand associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed  before  execu-
+              tion resumes after the function or script.
 
        s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
index f549933e0a155bacc3f4ec96c747406671f0ef93..f2c066606b752ab766386a678aef7d2ebc7de7ea 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Mon Sep 26 10:56:08 2011
+%%CreationDate: Mon Oct 24 08:43:45 2011
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -1789,563 +1789,567 @@ A(ce)-.18 E F0 2.967(\)c)C .467(ommand, it causes the shell to)-2.967 F
 .088(stop e)144 614.4 R -.15(xe)-.15 G .087
 (cuting that script and return either).15 F F2(n)2.947 E F0 .087
 (or the e)2.827 F .087(xit status of the last command e)-.15 F -.15(xe)
--.15 G .087(cuted within).15 F .621(the script as the e)144 626.4 R .621
-(xit status of the script.)-.15 F .622(The return status is non-zero if)
-5.622 F F1 -.18(re)3.122 G(tur).18 E(n)-.15 E F0 .622(is used outside a)
-3.122 F .87(function and not during e)144 638.4 R -.15(xe)-.15 G .869
-(cution of a script by).15 F F1(.)3.369 E F0(or)4.202 E F1(sour)3.369 E
-(ce)-.18 E F0 5.869(.A)C 1.169 -.15(ny c)-5.869 H .869
-(ommand associated with the).15 F F1(RETURN)144 650.4 Q F0(trap is e)2.5
+-.15 G .087(cuted within).15 F .613(the script as the e)144 626.4 R .613
+(xit status of the script.)-.15 F(If)5.613 E F2(n)3.113 E F0 .613
+(is supplied, the return v)3.113 F .613
+(alue is its least signi\214cant 8)-.25 F 2.511(bits. The)144 638.4 R
+.011(return status is non-zero if)2.511 F F1 -.18(re)2.511 G(tur).18 E
+(n)-.15 E F0 .011(is supplied a non-numeric ar)2.511 F .01
+(gument, or is used outside)-.18 F 2.909(af)144 650.4 S .409
+(unction and not during e)-2.909 F -.15(xe)-.15 G .41
+(cution of a script by).15 F F1(.)2.91 E F0(or)3.743 E F1(sour)2.91 E
+(ce)-.18 E F0 5.41(.A)C .71 -.15(ny c)-5.41 H .41
+(ommand associated with the).15 F F1(RETURN)144 662.4 Q F0(trap is e)2.5
 E -.15(xe)-.15 G(cuted before e).15 E -.15(xe)-.15 G
-(cution resumes after the function or script.).15 E F1(set)108 667.2 Q
+(cution resumes after the function or script.).15 E F1(set)108 679.2 Q
 F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E
 F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-F1(set)108 679.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1
+F1(set)108 691.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1
 (+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
-(...])2.5 E -.4(Wi)144 691.2 S .835(thout options, the name and v).4 F
-.835(alue of each shell v)-.25 F .836
+(...])2.5 E -.4(Wi)144 703.2 S .836(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .835
 (ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 703.2
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
-(riables cannot be).25 F 2.946(reset. In)144 715.2 R F2 .447(posix mode)
-2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+(reused as input for setting or resetting the currently-set v)144 715.2
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
+(riables cannot be).25 F 2.947(reset. In)144 727.2 R F2 .447(posix mode)
+2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
 (ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.531
-(locale. When)144 727.2 R 1.031(options are speci\214ed, the)3.531 F
-3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)
--.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F
-(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
+(The output is sorted according to the current)5.447 F(GNU Bash-4.0)72
+768 Q(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 1.623
-(after option processing are treated as v)144 84 R 1.624
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 3.53
+(locale. When)144 84 R 1.031(options are speci\214ed, the)3.53 F 3.531
+(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)-.2 F
+3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F 1.624
+(after option processing are treated as v)144 96 R 1.623
 (alues for the positional parameters and are assigned, in)-.25 F(order)
-144 96 Q 2.5(,t)-.4 G(o)-2.5 E/F1 10/Times-Bold@0 SF($1)2.5 E F0(,)A F1
+144 108 Q 2.5(,t)-.4 G(o)-2.5 E/F1 10/Times-Bold@0 SF($1)2.5 E F0(,)A F1
 ($2)2.5 E F0(,)A F1 2.5(... $)2.5 F/F2 10/Times-Italic@0 SF(n)A F0 5(.O)
 C(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 108 Q F0 .54(Automatically mark v)
+(wing meanings:)-.25 E F1<ad61>144 120 Q F0 .539(Automatically mark v)
 29.3 F .539
-(ariables and functions which are modi\214ed or created for e)-.25 F
-.539(xport to)-.15 F(the en)184 120 Q(vironment of subsequent commands.)
--.4 E F1<ad62>144 132 Q F0 .131
+(ariables and functions which are modi\214ed or created for e)-.25 F .54
+(xport to)-.15 F(the en)184 132 Q(vironment of subsequent commands.)-.4
+E F1<ad62>144 144 Q F0 .132
 (Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 144 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25
-H(nly when job control is enabled.).15 E F1<ad65>144 156 Q F0 .088
-(Exit immediately if a)29.86 F F2(pipeline)2.588 E F0 .087
-(\(which may consist of a single)2.588 F F2 .087(simple command)2.587 F
-F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 168 Q F2
-1.293(compound command)3.793 F F0(\(see)3.793 E/F3 9/Times-Bold@0 SF
-1.293(SHELL GRAMMAR)3.793 F F0(abo)3.544 E -.15(ve)-.15 G 3.794(\), e)
-.15 F 1.294(xits with a non-zero status.)-.15 F .08
-(The shell does not e)184 180 R .079(xit if the command that f)-.15 F
-.079(ails is part of the command list immediately)-.1 F(follo)184 192 Q
-1.654(wing a)-.25 F F1(while)4.154 E F0(or)4.154 E F1(until)4.154 E F0
--.1(ke)4.154 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.655
-(wing the)-.25 F F1(if)4.155 E F0(or)4.155 E F1(elif)4.155 E F0(reserv)
-4.155 E(ed)-.15 E -.1(wo)184 204 S .582(rds, part of an).1 F 3.082(yc)
--.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a).15 F F1
-(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .581(list e)3.081 F .581
-(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 216 R
-F1(&&)3.417 E F0(or)3.417 E F1(||)3.417 E F0 3.417(,a)C 1.217 -.15(ny c)
--3.417 H .918(ommand in a pipeline b).15 F .918
-(ut the last, or if the command')-.2 F 3.418(sr)-.55 G(eturn)-3.418 E
--.25(va)184 228 S .661(lue is being in).25 F -.15(ve)-.4 G .661
-(rted with).15 F F1(!)3.161 E F0 5.661(.I)C 3.161(fac)-5.661 G .66
-(ompound command other than a subshell returns a)-3.161 F 1.112
-(non-zero status because a command f)184 240 R 1.112(ailed while)-.1 F
-F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.113
-(eing ignored, the shell does)-3.612 F .178(not e)184 252 R 2.678
-(xit. A)-.15 F .178(trap on)2.678 F F1(ERR)2.678 E F0 2.678(,i)C 2.678
-(fs)-2.678 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
-(cuted before the shell e).15 F 2.677(xits. This)-.15 F .177
-(option applies to)2.677 F .617(the shell en)184 264 R .617
+2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 156 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25
+H(nly when job control is enabled.).15 E F1<ad65>144 168 Q F0 .087
+(Exit immediately if a)29.86 F F2(pipeline)2.587 E F0 .087
+(\(which may consist of a single)2.587 F F2 .088(simple command)2.588 F
+F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 180 Q F2
+1.294(compound command)3.794 F F0(\(see)3.794 E/F3 9/Times-Bold@0 SF
+1.294(SHELL GRAMMAR)3.794 F F0(abo)3.544 E -.15(ve)-.15 G 3.793(\), e)
+.15 F 1.293(xits with a non-zero status.)-.15 F .079
+(The shell does not e)184 192 R .079(xit if the command that f)-.15 F
+.08(ails is part of the command list immediately)-.1 F(follo)184 204 Q
+1.655(wing a)-.25 F F1(while)4.155 E F0(or)4.155 E F1(until)4.155 E F0
+-.1(ke)4.155 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.654
+(wing the)-.25 F F1(if)4.154 E F0(or)4.154 E F1(elif)4.154 E F0(reserv)
+4.154 E(ed)-.15 E -.1(wo)184 216 S .581(rds, part of an).1 F 3.081(yc)
+-.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a).15 F F1
+(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .582(list e)3.082 F .582
+(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 228 R
+F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0 3.418(,a)C 1.218 -.15(ny c)
+-3.418 H .918(ommand in a pipeline b).15 F .917
+(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417 E
+-.25(va)184 240 S .66(lue is being in).25 F -.15(ve)-.4 G .66(rted with)
+.15 F F1(!)3.16 E F0 5.661(.I)C 3.161(fac)-5.661 G .661
+(ompound command other than a subshell returns a)-3.161 F 1.113
+(non-zero status because a command f)184 252 R 1.112(ailed while)-.1 F
+F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.112
+(eing ignored, the shell does)-3.612 F .177(not e)184 264 R 2.677
+(xit. A)-.15 F .177(trap on)2.677 F F1(ERR)2.677 E F0 2.677(,i)C 2.678
+(fs)-2.677 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
+(cuted before the shell e).15 F 2.678(xits. This)-.15 F .178
+(option applies to)2.678 F .618(the shell en)184 276 R .617
 (vironment and each subshell en)-.4 F .617(vironment separately \(see)
--.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 276 R(ONMENT)
+-.4 F F3 .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)184 288 R(ONMENT)
 -.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
 (\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15
-(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 288 Q
-F1<ad66>144 300 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F1
-<ad68>144 312 Q F0 2.238(Remember the location of commands as the)28.74
-F 4.738(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F -.15
-(xe)-.15 G 4.739(cution. This).15 F(is)4.739 E(enabled by def)184 324 Q
-(ault.)-.1 E F1<ad6b>144 336 Q F0 .514(All ar)28.74 F .514
+(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 300 Q
+F1<ad66>144 312 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F1
+<ad68>144 324 Q F0 2.239(Remember the location of commands as the)28.74
+F 4.738(ya)-.15 G 2.238(re look)-4.738 F 2.238(ed up for e)-.1 F -.15
+(xe)-.15 G 4.738(cution. This).15 F(is)4.738 E(enabled by def)184 336 Q
+(ault.)-.1 E F1<ad6b>144 348 Q F0 .513(All ar)28.74 F .514
 (guments in the form of assignment statements are placed in the en)-.18
-F .513(vironment for a)-.4 F
-(command, not just those that precede the command name.)184 348 Q F1
-<ad6d>144 360 Q F0 .148(Monitor mode.)25.97 F .148
-(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
-.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651
-(on systems that support it \(see)184 372 R F3 .651(JOB CONTR)3.151 F
-(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65
-(processes run in a separate)3.151 F .678(process group.)184 384 R .679
+F .514(vironment for a)-.4 F
+(command, not just those that precede the command name.)184 360 Q F1
+<ad6d>144 372 Q F0 .149(Monitor mode.)25.97 F .149
+(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F
+.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .65
+(on systems that support it \(see)184 384 R F3 .651(JOB CONTR)3.151 F
+(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .651
+(processes run in a separate)3.151 F .679(process group.)184 396 R .678
 (When a background job completes, the shell prints a line containing it\
-s)5.678 F -.15(ex)184 396 S(it status.).15 E F1<ad6e>144 408 Q F0 .653
-(Read commands b)28.74 F .653(ut do not e)-.2 F -.15(xe)-.15 G .653
-(cute them.).15 F .652(This may be used to check a shell script for)
-5.653 F(syntax errors.)184 420 Q(This is ignored by interacti)5 E .3
--.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 432 Q F2(option\255name)2.5 E
-F0(The)184 444 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5
-E(wing:)-.25 E F1(allexport)184 456 Q F0(Same as)224 468 Q F1<ad61>2.5 E
-F0(.)A F1(braceexpand)184 480 Q F0(Same as)224 492 Q F1<ad42>2.5 E F0(.)
-A F1(emacs)184 504 Q F0 .089
+s)5.679 F -.15(ex)184 408 S(it status.).15 E F1<ad6e>144 420 Q F0 .652
+(Read commands b)28.74 F .652(ut do not e)-.2 F -.15(xe)-.15 G .652
+(cute them.).15 F .653(This may be used to check a shell script for)
+5.652 F(syntax errors.)184 432 Q(This is ignored by interacti)5 E .3
+-.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 444 Q F2(option\255name)2.5 E
+F0(The)184 456 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5
+E(wing:)-.25 E F1(allexport)184 468 Q F0(Same as)224 480 Q F1<ad61>2.5 E
+F0(.)A F1(braceexpand)184 492 Q F0(Same as)224 504 Q F1<ad42>2.5 E F0(.)
+A F1(emacs)184 516 Q F0 .089
 (Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
 -.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 516 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(when the shell is interacti)224 528 R -.15(ve)-.25 G 3.45(,u).15 G .95
 (nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E
-F0 2.5(option. This)224 528 R(also af)2.5 E(fects the editing interf)
+F0 2.5(option. This)224 540 R(also af)2.5 E(fects the editing interf)
 -.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err)
-184 540 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
-(errtrace)184 552 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
-184 564 Q F0(Same as)224 576 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 588 Q
-F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 600 Q F0
-(Same as)224 612 Q F1<ad48>2.5 E F0(.)A F1(history)184 624 Q F0 .586
+184 552 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
+(errtrace)184 564 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
+184 576 Q F0(Same as)224 588 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 600 Q
+F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 612 Q F0
+(Same as)224 624 Q F1<ad48>2.5 E F0(.)A F1(history)184 636 Q F0 .587
 (Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587
 (escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E F3(HIST)3.087 E
 (OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF(.)A F0 .587(This option is)
-5.087 F(on by def)224 636 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H
-(hells.).15 E F1(ignor)184 648 Q(eeof)-.18 E F0 1.657(The ef)224 660 R
-1.657(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF
-(IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted)
-.15 E(\(see)224 672 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15
-(ve)-.15 G(\).).15 E F1 -.1(ke)184 684 S(yw).1 E(ord)-.1 E F0(Same as)
-224 696 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 708 Q F0(Same as)5.56 E F1
-<ad6d>2.5 E F0(.)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)
-198.725 E 0 Cg EP
+5.087 F(on by def)224 648 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H
+(hells.).15 E F1(ignor)184 660 Q(eeof)-.18 E F0 1.656(The ef)224 672 R
+1.656(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF
+(IGNOREEOF=10)4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted)
+.15 E(\(see)224 684 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15
+(ve)-.15 G(\).).15 E F1 -.1(ke)184 696 S(yw).1 E(ord)-.1 E F0(Same as)
+224 708 Q F1<ad6b>2.5 E F0(.)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735
+E(14)198.725 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(noclob)184 84 Q(ber)-.1 E F0(Same as)224 96 Q F1<ad43>
-2.5 E F0(.)A F1(noexec)184 108 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A
-F1(noglob)184 120 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
-132 Q F0(Currently ignored.)16.66 E F1(notify)184 144 Q F0(Same as)15 E
-F1<ad62>2.5 E F0(.)A F1(nounset)184 156 Q F0(Same as)6.66 E F1<ad75>2.5
-E F0(.)A F1(onecmd)184 168 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
-(ph)184 180 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
-(pipefail)184 192 Q F0 1.029(If set, the return v)7.77 F 1.029
-(alue of a pipeline is the v)-.25 F 1.03
-(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 204 R
+/Times-Bold@0 SF(monitor)184 84 Q F0(Same as)5.56 E F1<ad6d>2.5 E F0(.)A
+F1(noclob)184 96 Q(ber)-.1 E F0(Same as)224 108 Q F1<ad43>2.5 E F0(.)A
+F1(noexec)184 120 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1(noglob)
+184 132 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184 144 Q F0
+(Currently ignored.)16.66 E F1(notify)184 156 Q F0(Same as)15 E F1<ad62>
+2.5 E F0(.)A F1(nounset)184 168 Q F0(Same as)6.66 E F1<ad75>2.5 E F0(.)A
+F1(onecmd)184 180 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1(ph)184 192
+Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1(pipefail)184
+204 Q F0 1.03(If set, the return v)7.77 F 1.029
+(alue of a pipeline is the v)-.25 F 1.029
+(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 216 R
 1.136
 (xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 216 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 228 Q F0
-2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+-.15 F -.15(ex)224 228 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 240 Q F0
+2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F(POSIX standard to match the standard \()224 240 Q
-/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 252 Q(vileged)
--.1 E F0(Same as)224 264 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 276 S
-(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 288 Q F0
-1.466(Use a vi-style command line editing interf)32.22 F 3.965
-(ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F
-(interf)224 300 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
-(.)A F1(xtrace)184 312 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
-330 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2
-(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
-(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
-342 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
-3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
-(commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 354 Q F1<ad70>
-144 366 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
-(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
+(fers from the)-.25 F(POSIX standard to match the standard \()224 252 Q
+/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 264 Q(vileged)
+-.1 E F0(Same as)224 276 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 288 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 300 Q F0
+1.465(Use a vi-style command line editing interf)32.22 F 3.966
+(ace. This)-.1 F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F
+(interf)224 312 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
+(.)A F1(xtrace)184 324 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
+342 Q F1<ad6f>3.053 E F0 .553(is supplied with no)3.053 F F2
+(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552
+(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184
+354 Q F0 1.071(is supplied with no)3.571 F F2(option\255name)3.571 E F0
+3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072
+(commands to recreate the current)3.572 F
+(option settings is displayed on the standard output.)184 366 Q F1<ad70>
+144 378 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F2(privile)4.822 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F
 /F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)
--.27 E F0 1.072(\214les are not pro-)3.322 F 1.501
-(cessed, shell functions are not inherited from the en)184 378 R 1.5
-(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3
--.27(BA)184 390 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H)
-.855 E F4(,)A F0(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G
-.524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
-(vironment,)-.4 E .38(are ignored.)184 402 R .38
-(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
--.25 H .379(ser \(group\) id not equal to the real).15 F .461
-(user \(group\) id, and the)184 414 R F1<ad70>2.961 E F0 .461
-(option is not supplied, these actions are tak)2.961 F .462
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 426 Q .695 -.15(ve u)-.25 H .395
+-.27 E F0 1.071(\214les are not pro-)3.322 F 1.5
+(cessed, shell functions are not inherited from the en)184 390 R 1.501
+(vironment, and the)-.4 F F3(SHELLOPTS)4.001 E/F4 9/Times-Roman@0 SF(,)A
+F3 -.27(BA)184 402 S(SHOPTS).27 E F4(,)A F3(CDP)2.775 E -.855(AT)-.666 G
+(H).855 E F4(,)A F0(and)2.775 E F3(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G
+.524(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F
+(vironment,)-.4 E .379(are ignored.)184 414 R .379
+(If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15
+(ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462
+(user \(group\) id, and the)184 426 R F1<ad70>2.961 E F0 .461
+(option is not supplied, these actions are tak)2.961 F .461
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 438 Q .694 -.15(ve u)-.25 H .394
 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
-2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .386(user id is not reset.)184 438 R -.45(Tu)5.386 G
-.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
-F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
-(set to the real user and group ids.)184 450 Q F1<ad74>144 462 Q F0
+2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25
+E -.15(ve)-.25 G .387(user id is not reset.)184 450 R -.45(Tu)5.387 G
+.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886
+F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F
+(set to the real user and group ids.)184 462 Q F1<ad74>144 474 Q F0
 (Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
-E F1<ad75>144 474 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
+E F1<ad75>144 486 Q F0 -.35(Tr)28.74 G .043(eat unset v).35 F .044(aria\
 bles and parameters other than the special parameters "@" and "*" as an)
--.25 F .182(error when performing parameter e)184 486 R 2.682
-(xpansion. If)-.15 F -.15(ex)2.682 G .183
+-.25 F .183(error when performing parameter e)184 498 R 2.683
+(xpansion. If)-.15 F -.15(ex)2.683 G .182
 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746
-(able or parameter)184 498 R 3.246(,t)-.4 G .746
+(able or parameter)184 510 R 3.246(,t)-.4 G .746
 (he shell prints an error message, and, if not interacti)-3.246 F -.15
 (ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184
-510 Q F1<ad76>144 522 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E F1<ad78>144 534 Q F0 .315(After e)29.3 F .315
+522 Q F1<ad76>144 534 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 546 Q F0 .315(After e)29.3 F .315
 (xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
 2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
-F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 546 R F1
+F1(select)2.815 E F0(command,)2.815 E 1.235(or arithmetic)184 558 R F1
 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236
 (xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F0(follo)
-3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 558 Q
+3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 570 Q
 (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 570 Q F0 2.578(The shell performs brace e)27.63 F 2.578
+<ad42>144 582 Q F0 2.579(The shell performs brace e)27.63 F 2.578
 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 582 Q
-(ault.)-.1 E F1<ad43>144 594 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
-F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+-.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 594 Q
+(ault.)-.1 E F1<ad43>144 606 Q F0 .213(If set,)27.08 F F1(bash)2.713 E
+F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
 (xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
-2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
-3.053(tors. This)184 606 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
+3.054(tors. This)184 618 R .553(may be o)3.053 F -.15(ve)-.15 G .553
 (rridden when creating output \214les by using the redirection opera-)
-.15 F(tor)184 618 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 630 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
--2.604 F F1(ERR)2.604 E F0 .103
-(is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 642 R -.15(xe)-.15 G .838(cuted in a subshell en).15
-F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 654 Q F1
-<ad48>144 666 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
-(style history substitution.)5.532 F .531(This option is on by def)5.532
-F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 678 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 690 Q F0 1.164
+.15 F(tor)184 630 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 642 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on)
+-2.603 F F1(ERR)2.603 E F0 .104
+(is inherited by shell functions, command substitutions, and com-)2.603
+F .839(mands e)184 654 R -.15(xe)-.15 G .839(cuted in a subshell en).15
+F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838
+(trap is normally not inherited in)3.338 F(such cases.)184 666 Q F1
+<ad48>144 678 Q F0(Enable)26.52 E F1(!)3.031 E F0 .531
+(style history substitution.)5.531 F .531(This option is on by def)5.531
+F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 690 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 702 Q F0 1.165
 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
-(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
-(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 702 R 2.822(orking directory)-.1 F 7.822
-(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
-(ysical directory structure)-.05 F 2.685(instead. By)184 714 R(def)2.685
-E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
-(ws the logical chain of directories when performing com-)-.25 F
-(mands which change the current directory)184 726 Q(.)-.65 E
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164
+(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
+(that change the current w)184 714 R 2.822(orking directory)-.1 F 7.822
+(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822
+(ysical directory structure)-.05 F 4.799(instead. By)184 726 R(def)4.799
+E(ault,)-.1 E F1(bash)4.798 E F0(follo)4.798 E 2.298
+(ws the logical chain of directories when performing)-.25 F
 (GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
 %%Page: 16 16
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad54>144 84 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
+(commands which change the current directory)184 84 Q(.)-.65 E/F1 10
+/Times-Bold@0 SF<ad54>144 96 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G
 .89(raps on)-3.39 F F1(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39
 E F0 .89(are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 96 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 108 R -.15(xe)-.15 G 1.932
 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
-(UG)-.1 E F0(and)4.432 E F1(RETURN)184 108 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 120 Q
-F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 120 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 132 Q
+F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
 (his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 132 Q/F2
-10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni)
-.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E
-F0(.)A F1<ad>144 144 Q F0 1.944
+(Otherwise,)5.401 E(the positional parameters are set to the)184 144 Q
+/F2 10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5
+(ni).15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>
+2.5 E F0(.)A F1<ad>144 156 Q F0 1.945
 (Signal the end of options, cause all remaining)34.3 F F2(ar)4.444 E(g)
--.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G 1.945
-(ssigned to the positional)-4.445 F 3.446(parameters. The)184 156 R F1
-<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
-(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
-3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
-(parameters remain unchanged.)184 168 Q .425(The options are of)144
-184.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G 1.944
+(ssigned to the positional)-4.444 F 3.445(parameters. The)184 168 R F1
+<ad78>3.445 E F0(and)3.445 E F1<ad76>3.445 E F0 .945
+(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no)
+3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B
+(parameters remain unchanged.)184 180 Q .425(The options are of)144
+196.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
 (ault unless otherwise noted.)-.1 F .425
-(Using + rather than \255 causes these options)5.425 F .178
-(to be turned of)144 196.8 R 2.678(f. The)-.25 F .178
+(Using + rather than \255 causes these options)5.425 F .177
+(to be turned of)144 208.8 R 2.677(f. The)-.25 F .178
 (options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 208.8 R F1<24ad>2.566 E F0
+-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066
+(current set of options may be found in)144 220.8 R F1<24ad>2.566 E F0
 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
-(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
-(is encountered.)144 220.8 Q F1(shift)108 237.6 Q F0([)2.5 E F2(n)A F0
-(])A .429(The positional parameters from)144 249.6 R F2(n)2.929 E F0
-.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
-.428(rameters represented by the num-).15 F(bers)144 261.6 Q F1($#)2.582
-E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
-(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
--.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
-.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
-(is 0, no parameters are changed.)144 273.6 R(If)5.06 E F2(n)2.92 E F0
+(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F
+(is encountered.)144 232.8 Q F1(shift)108 249.6 Q F0([)2.5 E F2(n)A F0
+(])A .428(The positional parameters from)144 261.6 R F2(n)2.928 E F0
+.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G
+.429(rameters represented by the num-).15 F(bers)144 273.6 Q F1($#)2.583
+E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A F2(n)A F0 .083
+(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga)
+-.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to)
+.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06
+(is 0, no parameters are changed.)144 285.6 R(If)5.06 E F2(n)2.92 E F0
 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
 (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
-(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 285.6 R
-.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
-.144(is greater than)2.884 F F1($#)2.644 E F0
-(or less than zero; otherwise 0.)144 297.6 Q F1(shopt)108 314.4 Q F0([)
+(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 297.6 R
+.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0
+.143(is greater than)2.883 F F1($#)2.643 E F0
+(or less than zero; otherwise 0.)144 309.6 Q F1(shopt)108 326.4 Q F0([)
 2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
--2.5 E F0(...])2.5 E -.8(To)144 326.4 S .222(ggle the v).8 F .222
+-2.5 E F0(...])2.5 E -.8(To)144 338.4 S .222(ggle the v).8 F .222
 (alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
 (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
 <ad70>2.722 E F0 .721(option, a list of all settable options is display\
-ed, with an indication of whether or not each is set.)144 338.4 R(The)
-144 350.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
-d in a form that may be reused as input.)2.828 F .327(Other options)
-5.327 F(ha)144 362.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F1<ad73>144 374.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
-E F0(.)A F1<ad75>144 386.4 Q F0(Disable \(unset\) each)24.74 E F2
-(optname)2.5 E F0(.)A F1<ad71>144 398.4 Q F0 .003(Suppresses normal out\
+ed, with an indication of whether or not each is set.)144 350.4 R(The)
+144 362.4 Q F1<ad70>2.827 E F0 .327(option causes output to be displaye\
+d in a form that may be reused as input.)2.827 F .328(Other options)
+5.328 F(ha)144 374.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 386.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 398.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 410.4 Q F0 .003(Suppresses normal out\
 put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 410.4 R .256
-(If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
+(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 422.4 R .255
+(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256
 (guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
-<ad71>2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F
-(all)180 422.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
-2.5 E F1<ad6f>144 434.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+<ad71>2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F
+(all)180 434.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 446.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
-(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624
-(If either)144 451.2 R F1<ad73>3.124 E F0(or)3.124 E F1<ad75>3.124 E F0
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .625
+(If either)144 463.2 R F1<ad73>3.125 E F0(or)3.124 E F1<ad75>3.124 E F0
 .624(is used with no)3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)
 -.18 E F1(shopt)3.124 E F0(sho)3.124 E .624
-(ws only those options which are)-.25 F 2.234(set or unset, respecti)144
-463.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)-.65 G 2.234
+(ws only those options which are)-.25 F 2.233(set or unset, respecti)144
+475.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)-.65 G 2.234
 (nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0 2.234
-(options are disabled \(unset\) by)4.734 F(def)144 475.2 Q(ault.)-.1 E
-1.544(The return status when listing options is zero if all)144 492 R F2
-(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)4.045 F .696
+(options are disabled \(unset\) by)4.734 F(def)144 487.2 Q(ault.)-.1 E
+1.544(The return status when listing options is zero if all)144 504 R F2
+(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)4.044 F .696
 (When setting or unsetting options, the return status is zero unless an)
-144 504 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
--.25 F(option.)144 516 Q(The list of)144 532.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E F1(autocd)144 550.8 Q F0 .199
+144 516 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell)
+-.25 F(option.)144 528 Q(The list of)144 544.8 Q F1(shopt)2.5 E F0
+(options is:)2.5 E F1(autocd)144 562.8 Q F0 .2
 (If set, a command name that is the name of a directory is e)11.11 F
--.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 562.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+-.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
+(ment to the)184 574.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 574.8 Q(ars)-.1 E F0 .156(If set, an ar)184 586.8 R .156
-(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
+F1(cdable_v)144 586.8 Q(ars)-.1 E F0 .155(If set, an ar)184 598.8 R .155
+(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
 (iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 598.8 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 610.8 Q F0
+(name of a v)184 610.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 622.8 Q F0
 1.055
 (If set, minor errors in the spelling of a directory component in a)
-10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 622.8 R 1.488(errors check)3.988 F 1.487
-(ed for are transposed characters, a missing character)-.1 F 3.987(,a)
--.4 G(nd)-3.987 E .77(one character too man)184 634.8 R 4.57 -.65(y. I)
+10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
+(corrected. The)184 634.8 R 1.487(errors check)3.987 F 1.487
+(ed for are transposed characters, a missing character)-.1 F 3.988(,a)
+-.4 G(nd)-3.988 E .77(one character too man)184 646.8 R 4.57 -.65(y. I)
 -.15 H 3.27(fac).65 G .77
 (orrection is found, the corrected \214lename is printed, and)-3.27 F
-(the command proceeds.)184 646.8 Q
+(the command proceeds.)184 658.8 Q
 (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 658.8 Q F0 2.08(If set,)184 670.8 R F1(bash)4.58
-E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
-(xists before trying to)-.15 F -.15(exe)184 682.8 S(cute it.).15 E
+.15 E F1(checkhash)144 670.8 Q F0 2.079(If set,)184 682.8 R F1(bash)
+4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F
+2.08(xists before trying to)-.15 F -.15(exe)184 694.8 S(cute it.).15 E
 (If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 694.8
-Q F0 .448(If set,)184 706.8 R F1(bash)2.948 E F0 .448
-(lists the status of an)2.948 F 2.949(ys)-.15 G .449
-(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.439(shell. If)184 718.8 R(an)3.439 E 3.439(yj)-.15 G
-.938(obs are running, this causes the e)-3.439 F .938
-(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
-(attempted without an interv)184 730.8 R 2.203(ening command \(see)-.15
-F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 706.8
+Q F0 .449(If set,)184 718.8 R F1(bash)2.949 E F0 .449
+(lists the status of an)2.949 F 2.949(ys)-.15 G .448
+(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15
+F -.15(ve)-.25 G 3.438(shell. If)184 730.8 R(an)3.438 E 3.438(yj)-.15 G
+.938(obs are running, this causes the e)-3.438 F .938
+(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP
 %%Page: 17 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(al)184 84 Q
--.1(wa)-.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
-(obs are stopped.)-2.5 E/F1 10/Times-Bold@0 SF(checkwinsize)144 96 Q F0
-.797(If set,)184 108 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F
-3.297(ws)-.25 G .796(ize after each command and, if necessary)-3.297 F
-3.296(,u)-.65 G .796(pdates the)-3.296 F -.25(va)184 120 S(lues of).25 E
-/F2 9/Times-Bold@0 SF(LINES)2.5 E F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9
-/Times-Roman@0 SF(.)A F1(cmdhist)144 132 Q F0 1.202(If set,)6.11 F F1
-(bash)3.702 E F0 1.202(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H
-1.202(ll lines of a multiple-line command in the same history).15 F
-(entry)184 144 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 156 Q
-F0 .42(If set,)184 168 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
-.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
--.15 F(guments)-.18 E(to the)184 180 Q F1([[)2.5 E F0
-(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E F0(operator)2.5 E(.)
--.55 E F1(compat32)144 192 Q F0 1.409(If set,)184 204 R F1(bash)3.909 E
-F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41
-(ersion 3.2 with respect to locale-speci\214c)-.15 F 1.266
-(string comparison when using the)184 216 R F1([[)3.766 E F0 1.266
-(conditional command')3.766 F(s)-.55 E F1(<)3.766 E F0(and)3.766 E F1(>)
-3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 228 S .512
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 2.203
+(attempted without an interv)184 84 R 2.203(ening command \(see)-.15 F
+/F1 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 96 Q -.1(wa)-.1
+G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
+(obs are stopped.)-2.5 E/F2 10/Times-Bold@0 SF(checkwinsize)144 108 Q F0
+.796(If set,)184 120 R F2(bash)3.296 E F0 .796(checks the windo)3.296 F
+3.296(ws)-.25 G .797(ize after each command and, if necessary)-3.296 F
+3.297(,u)-.65 G .797(pdates the)-3.297 F -.25(va)184 132 S(lues of).25 E
+F1(LINES)2.5 E F0(and)2.25 E F1(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF(.)A
+F2(cmdhist)144 144 Q F0 1.202(If set,)6.11 F F2(bash)3.702 E F0 1.202
+(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
+(ll lines of a multiple-line command in the same history).15 F(entry)184
+156 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F2(compat31)144 168 Q
+F0 .419(If set,)184 180 R F2(bash)2.919 E F0 .419(changes its beha)2.919
+F .419(vior to that of v)-.2 F .42(ersion 3.1 with respect to quoted ar)
+-.15 F(guments)-.18 E(to the)184 192 Q F2([[)2.5 E F0
+(conditional command')2.5 E(s)-.55 E F2(=~)2.5 E F0(operator)2.5 E(.)
+-.55 E F2(compat32)144 204 Q F0 1.41(If set,)184 216 R F2(bash)3.91 E F0
+1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F 1.409
+(ersion 3.2 with respect to locale-speci\214c)-.15 F 1.265
+(string comparison when using the)184 228 R F2([[)3.766 E F0 1.266
+(conditional command')3.766 F(s)-.55 E F2(<)3.766 E F0(and)3.766 E F2(>)
+3.766 E F0 3.766(operators. Bash)3.766 F -.15(ve)184 240 S .513
 (rsions prior to bash-4.1 use ASCII collation and).15 F/F4 10
-/Times-Italic@0 SF(str)3.012 E(cmp)-.37 E F0 .513
-(\(3\); bash-4.1 and later use the).19 F(current locale')184 240 Q 2.5
+/Times-Italic@0 SF(str)3.012 E(cmp)-.37 E F0 .512
+(\(3\); bash-4.1 and later use the).19 F(current locale')184 252 Q 2.5
 (sc)-.55 G(ollation sequence and)-2.5 E F4(str)2.5 E(coll)-.37 E F0
-(\(3\).).51 E F1(compat40)144 252 Q F0 1.41(If set,)184 264 R F1(bash)
-3.91 E F0 1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F
-1.409(ersion 4.0 with respect to locale-speci\214c)-.15 F .422
-(string comparison when using the)184 276 R F1([[)2.922 E F0 .422
-(conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>)
-2.923 E F0 .423(operators \(see pre-)2.923 F(vious item\) and the ef)184
-288 Q(fect of interrupting a command list.)-.25 E F1(compat41)144 300 Q
-F0 1.444(If set,)184 312 R F1(bash)3.944 E F0 3.944(,w)C 1.443
+(\(3\).).51 E F2(compat40)144 264 Q F0 1.409(If set,)184 276 R F2(bash)
+3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F
+1.41(ersion 4.0 with respect to locale-speci\214c)-.15 F .423
+(string comparison when using the)184 288 R F2([[)2.922 E F0 .422
+(conditional command')2.922 F(s)-.55 E F2(<)2.922 E F0(and)2.922 E F2(>)
+2.922 E F0 .422(operators \(see pre-)2.922 F(vious item\) and the ef)184
+300 Q(fect of interrupting a command list.)-.25 E F2(compat41)144 312 Q
+F0 1.443(If set,)184 324 R F2(bash)3.943 E F0 3.943(,w)C 1.444
 (hen in posix mode, treats a single quote in a double-quoted parameter)
--3.944 F -.15(ex)184 324 S .958(pansion as a special character).15 F
-5.958(.T)-.55 G .959(he single quotes must match \(an e)-5.958 F -.15
-(ve)-.25 G 3.459(nn).15 G .959(umber\) and)-3.459 F .59
-(the characters between the single quotes are considered quoted.)184 336
-R .59(This is the beha)5.59 F .59(vior of)-.2 F .589
-(posix mode through v)184 348 R .589(ersion 4.1.)-.15 F .589(The def)
-5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .59
-(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 360 Q F1
-(complete_fullquote)144 372 Q F0 .654(If set,)184 384 R F1(bash)3.153 E
+-3.943 F -.15(ex)184 336 S .959(pansion as a special character).15 F
+5.959(.T)-.55 G .958(he single quotes must match \(an e)-5.959 F -.15
+(ve)-.25 G 3.458(nn).15 G .958(umber\) and)-3.458 F .59
+(the characters between the single quotes are considered quoted.)184 348
+R .59(This is the beha)5.59 F .59(vior of)-.2 F .59
+(posix mode through v)184 360 R .589(ersion 4.1.)-.15 F .589(The def)
+5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .589
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 372 Q F2
+(complete_fullquote)144 384 Q F0 .653(If set,)184 396 R F2(bash)3.153 E
 F0 .653(quotes all shell metacharacters in \214lenames and directory na\
-mes when per)3.153 F(-)-.2 E 1.524(forming completion.)184 396 R 1.524
-(If not set,)6.524 F F1(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15 G
+mes when per)3.153 F(-)-.2 E 1.525(forming completion.)184 408 R 1.524
+(If not set,)6.525 F F2(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15 G
 4.024(sm).15 G 1.524(etacharacters such as the dollar sign)-4.024 F
 2.667(from the set of characters that will be quoted in completed \214l\
-enames when these)184 408 R .028(metacharacters appear in shell v)184
-420 R .028(ariable references in w)-.25 F .029(ords to be completed.)-.1
-F .029(This means)5.029 F 1.073(that dollar signs in v)184 432 R 1.073
+enames when these)184 420 R .029(metacharacters appear in shell v)184
+432 R .028(ariable references in w)-.25 F .028(ords to be completed.)-.1
+F .028(This means)5.028 F 1.072(that dollar signs in v)184 444 R 1.073
 (ariable names that e)-.25 F 1.073
 (xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
-(ev e)184 444 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
+(ev e)184 456 T 1.923 -.4(r, a).25 H 1.423 -.15(ny d).4 H 1.123
 (ollar signs appearing in \214lenames will not be quoted, either).15 F
-6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
+6.123(.T)-.55 G 1.122(his is acti)-6.123 F -.15(ve)-.25 G .59
 (only when bash is using backslashes to quote completed \214lenames.)184
-456 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 468 Q
+468 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 480 Q
 (ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E F1(dir)144 480 Q(expand)-.18 E F0 .486
-(If set,)184 492 R F1(bash)2.986 E F0 .486
+(ersions through 4.2.)-.15 E F2(dir)144 492 Q(expand)-.18 E F0 .487
+(If set,)184 504 R F2(bash)2.987 E F0 .486
 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
-.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184
-504 R .179(This changes the contents of the readline editing b)5.18 F
-(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,)
-184 516 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E F1(dirspell)144 528 Q F0 .858(If set,)7.77 F
-F1(bash)3.358 E F0 .858
-(attempts spelling correction on directory names during w)3.358 F .859
+.486(xpansion when perform-)-.15 F .179(ing \214lename completion.)184
+516 R .179(This changes the contents of the readline editing b)5.179 F
+(uf)-.2 E(fer)-.25 E 5.18(.I)-.55 G 2.68(fn)-5.18 G(ot)-2.68 E(set,)184
+528 Q F2(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F2(dirspell)144 540 Q F0 .859(If set,)7.77 F
+F2(bash)3.359 E F0 .858
+(attempts spelling correction on directory names during w)3.359 F .858
 (ord completion if)-.1 F
-(the directory name initially supplied does not e)184 540 Q(xist.)-.15 E
-F1(dotglob)144 552 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 552 Q(xist.)-.15 E
+F2(dotglob)144 564 Q F0 .165(If set,)7.77 F F2(bash)2.665 E F0 .165
 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
 -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E F1(execfail)144 564 Q F0 1.386
-(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386
+(xpansion.)-.15 E F2(execfail)144 576 Q F0 1.387
+(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
-1.387(cute the \214le speci\214ed as an).15 F(ar)184 576 Q
-(gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
+1.386(cute the \214le speci\214ed as an).15 F(ar)184 588 Q
+(gument to the)-.18 E F2(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
 (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
-E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 588 Q F0
-.717(If set, aliases are e)184 600 R .717(xpanded as described abo)-.15
-F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .716
-(This option is enabled)5.217 F(by def)184 612 Q(ault for interacti)-.1
-E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 624 Q(ug)-.2 E F0
-(If set, beha)184 636 Q(vior intended for use by deb)-.2 E
-(uggers is enabled:)-.2 E F1(1.)184 648 Q F0(The)28.5 E F1<ad46>4.25 E
-F0 1.75(option to the)4.25 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251
-G 1.751(iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 660 Q
-(gument.)-.18 E F1(2.)184 672 Q F0 1.667(If the command run by the)28.5
-F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
-1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 684
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 696 Q F0 .84
-(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
-(exe)220 708 S .488
+E F2(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 600 Q F0
+.716(If set, aliases are e)184 612 R .717(xpanded as described abo)-.15
+F 1.017 -.15(ve u)-.15 H(nder).15 E F1(ALIASES)3.217 E F3(.)A F0 .717
+(This option is enabled)5.217 F(by def)184 624 Q(ault for interacti)-.1
+E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144 636 Q(ug)-.2 E F0
+(If set, beha)184 648 Q(vior intended for use by deb)-.2 E
+(uggers is enabled:)-.2 E F2(1.)184 660 Q F0(The)28.5 E F2<ad46>4.251 E
+F0 1.751(option to the)4.251 F F2(declar)4.251 E(e)-.18 E F0 -.2(bu)
+4.251 G 1.751(iltin displays the source \214le name and line).2 F
+(number corresponding to each function name supplied as an ar)220 672 Q
+(gument.)-.18 E F2(2.)184 684 Q F0 1.667(If the command run by the)28.5
+F F2(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 696
+Q -.15(xe)-.15 G(cuted.).15 E F2(3.)184 708 Q F0 .841
+(If the command run by the)28.5 F F2(DEB)3.341 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
+(exe)220 720 S .488
 (cuting in a subroutine \(a shell function or a shell script e).15 F
--.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 720 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
--.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E(GNU Bash-4.0)72
-768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
+-.15(xe)-.15 G .488(cuted by the).15 F F2(.)2.988 E F0(or)2.988 E
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
 %%Page: 18 18
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(4.)184 84 Q/F2 9/Times-Bold@0 SF -.27(BA)28.5 G
-(SH_ARGC).27 E F0(and)3.153 E F2 -.27(BA)3.403 G(SH_ARGV).27 E F0 .904
-(are updated as described in their descriptions)3.154 F(abo)220 96 Q
--.15(ve)-.15 G(.).15 E F1(5.)184 108 Q F0 1.359
+/Times-Bold@0 SF(sour)220 84 Q(ce)-.18 E F0 -.2(bu)2.5 G
+(iltins\), a call to).2 E F1 -.18(re)2.5 G(tur).18 E(n)-.15 E F0
+(is simulated.)2.5 E F1(4.)184 96 Q/F2 9/Times-Bold@0 SF -.27(BA)28.5 G
+(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G(SH_ARGV).27 E F0 .904
+(are updated as described in their descriptions)3.154 F(abo)220 108 Q
+-.15(ve)-.15 G(.).15 E F1(5.)184 120 Q F0 1.359
 (Function tracing is enabled:)28.5 F 1.359
 (command substitution, shell functions, and sub-)6.359 F(shells in)220
-120 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10
+132 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10
 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 132 Q F0 .804(Error tracing is enabled:)28.5 F .805
-(command substitution, shell functions, and subshells)5.804 F(in)220 144
+184 144 Q F0 .805(Error tracing is enabled:)28.5 F .804
+(command substitution, shell functions, and subshells)5.805 F(in)220 156
 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3
 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
-2.5 E F1(extglob)144 156 Q F0 .4(If set, the e)8.89 F .4
+2.5 E F1(extglob)144 168 Q F0 .4(If set, the e)8.89 F .4
 (xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
--.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 168 Q
-F0(are enabled.)2.5 E F1(extquote)144 180 Q F0 2.473(If set,)184 192 R
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 180 Q
+F0(are enabled.)2.5 E F1(extquote)144 192 Q F0 2.473(If set,)184 204 R
 F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
 E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within)
 -4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 204 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 216 Q F0
-1.425(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.424
-(xpansion result in an)-.15 F -.15(ex)184 228 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 240 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.936(If set, the suf)184 252 R<8c78>-.25 E .936(es speci\214ed by the)
+(pansions).15 E(enclosed in double quotes.)184 216 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 228 Q F0
+1.424(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.425
+(xpansion result in an)-.15 F -.15(ex)184 240 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 252 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.937(If set, the suf)184 264 R<8c78>-.25 E .936(es speci\214ed by the)
 -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 264 R .32
+-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 276 R .32
 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947
-(pletions. See)184 276 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
-(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.948 E/F4 9/Times-Roman@0 SF(.)A F0 .448(This option is)4.948
-F(enabled by def)184 288 Q(ault.)-.1 E F1(globasciiranges)144 300 Q F0
-.806(If set, range e)184 312 R .806
-(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.305 G
-(tter).09 E 3.055(nM)-.135 G(atching)-3.055 E F0(abo)3.055 E -.15(ve)
--.15 G 3.305(\)b).15 G(eha)-3.305 E -.15(ve)-.2 G 2.089
-(as if in the traditional C locale when performing comparisons.)184 324
-R 2.09(That is, the current)7.089 F(locale')184 336 Q 2.614(sc)-.55 G
-.114(ollating sequence is not tak)-2.614 F .113(en into account, so)-.1
-F F1(b)2.613 E F0 .113(will not collate between)2.613 F F1(A)2.613 E F0
-(and)2.613 E F1(B)184 348 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
+(pletions. See)184 288 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
+(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
+(FIGNORE)2.947 E/F4 9/Times-Roman@0 SF(.)A F0 .447(This option is)4.947
+F(enabled by def)184 300 Q(ault.)-.1 E F1(globasciiranges)144 312 Q F0
+.805(If set, range e)184 324 R .806
+(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.306 G
+(tter).09 E 3.056(nM)-.135 G(atching)-3.056 E F0(abo)3.056 E -.15(ve)
+-.15 G 3.306(\)b).15 G(eha)-3.306 E -.15(ve)-.2 G 2.089
+(as if in the traditional C locale when performing comparisons.)184 336
+R 2.089(That is, the current)7.089 F(locale')184 348 Q 2.613(sc)-.55 G
+.113(ollating sequence is not tak)-2.613 F .113(en into account, so)-.1
+F F1(b)2.613 E F0 .114(will not collate between)2.613 F F1(A)2.614 E F0
+(and)2.614 E F1(B)184 360 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
 E(wer)-.25 E(-case ASCII characters will collate together)-.2 E(.)-.55 E
-F1(globstar)144 360 Q F0 .518(If set, the pattern)5 F F1(**)3.018 E F0
-.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .519
-(xt will match all \214les and zero)-.15 F .432
-(or more directories and subdirectories.)184 372 R .431
-(If the pattern is follo)5.432 F .431(wed by a)-.25 F F1(/)2.931 E F0
-2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184
-384 Q F1(gnu_errfmt)144 396 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 408 Q F1(histappend)144
-420 Q F0 .676
+F1(globstar)144 372 Q F0 .519(If set, the pattern)5 F F1(**)3.019 E F0
+.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518
+(xt will match all \214les and zero)-.15 F .431
+(or more directories and subdirectories.)184 384 R .431
+(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0
+2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
+396 Q F1(gnu_errfmt)144 408 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 420 Q F1(histappend)144
+432 Q F0 .676
 (If set, the history list is appended to the \214le named by the v)184
-432 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G
-(ri-).25 E(able when the shell e)184 444 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 456 Q(eedit)-.18
-E F0 .576(If set, and)184 468 R F1 -.18(re)3.076 G(adline).18 E F0 .575
-(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
-(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
-(tory substitution.)184 480 Q F1(histv)144 492 Q(erify)-.1 E F0 .402
-(If set, and)184 504 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+444 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
+(ri-).25 E(able when the shell e)184 456 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 468 Q(eedit)-.18
+E F0 .575(If set, and)184 480 R F1 -.18(re)3.075 G(adline).18 E F0 .575
+(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576
+(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
+(tory substitution.)184 492 Q F1(histv)144 504 Q(erify)-.1 E F0 .403
+(If set, and)184 516 R F1 -.18(re)2.903 G(adline).18 E F0 .403
 (is being used, the results of history substitution are not immediately)
-2.903 F .662(passed to the shell parser)184 516 R 5.662(.I)-.55 G .661
-(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
-G(adline).18 E F0(editing)3.161 E -.2(bu)184 528 S -.25(ff).2 G(er).25 E
+2.903 F .661(passed to the shell parser)184 528 R 5.661(.I)-.55 G .662
+(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162
+G(adline).18 E F0(editing)3.162 E -.2(bu)184 540 S -.25(ff).2 G(er).25 E
 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
-(hostcomplete)144 540 Q F0 1.181(If set, and)184 552 R F1 -.18(re)3.681
-G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
-(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
-564 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
-F2(READLINE)3.88 E F0(abo)184 576 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 588 Q F0(If set,)
-184 600 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+(hostcomplete)144 552 Q F0 1.182(If set, and)184 564 R F1 -.18(re)3.682
+G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181
+(will attempt to perform hostname completion)3.681 F 1.38(when a w)184
+576 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
+F2(READLINE)3.881 E F0(abo)184 588 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 600 Q F0(If set,)
+184 612 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
-.15 E(xits.)-.15 E F1(interacti)144 612 Q -.1(ve)-.1 G(_comments).1 E F0
-.33(If set, allo)184 624 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+.15 E(xits.)-.15 E F1(interacti)144 624 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 636 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
 (ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
 (ord and all remaining characters on)-.1 F .967
-(that line to be ignored in an interacti)184 636 R 1.267 -.15(ve s)-.25
+(that line to be ignored in an interacti)184 648 R 1.267 -.15(ve s)-.25
 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
-G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 648 Q
-(ault.)-.1 E F1(lastpipe)144 660 Q F0 1.211
+G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 660 Q
+(ault.)-.1 E F1(lastpipe)144 672 Q F0 1.212
 (If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
 G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
-(exe)184 672 S(cuted in the background in the current shell en).15 E
-(vironment.)-.4 E F1(lithist)144 684 Q F0 .655(If set, and the)15.55 F
-F1(cmdhist)3.155 E F0 .654
+(exe)184 684 S(cuted in the background in the current shell en).15 E
+(vironment.)-.4 E F1(lithist)144 696 Q F0 .654(If set, and the)15.55 F
+F1(cmdhist)3.154 E F0 .654
 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G
-3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
-(with embedded ne)184 696 Q
+3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F
+(with embedded ne)184 708 Q
 (wlines rather than using semicolon separators where possible.)-.25 E
 (GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725 E 0 Cg EP
 %%Page: 19 19
@@ -2356,43 +2360,43 @@ BP
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
 /Times-Bold@0 SF(login_shell)144 84 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-96 R/F2 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)
-2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 108 S
-(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .815
-(If set, and a \214le that)184 132 R F1(bash)3.315 E F0 .814
-(is checking for mail has been accessed since the last time it)3.315 F
+96 R/F2 9/Times-Bold@0 SF(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)
+2.736 E -.15(ve)-.15 G 2.986(\). The).15 F -.25(va)184 108 S
+(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .814
+(If set, and a \214le that)184 132 R F1(bash)3.314 E F0 .815
+(is checking for mail has been accessed since the last time it)3.314 F
 -.1(wa)184 144 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
 (`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
 (has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
-(no_empty_cmd_completion)144 156 Q F0 .324(If set, and)184 168 R F1 -.18
-(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E
-F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)
--.189 E F0 .325(for possible)2.575 F
+(no_empty_cmd_completion)144 156 Q F0 .325(If set, and)184 168 R F1 -.18
+(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E
+F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH)
+-.189 E F0 .324(for possible)2.574 F
 (completions when completion is attempted on an empty line.)184 180 Q F1
-(nocaseglob)144 192 Q F0 .437(If set,)184 204 R F1(bash)2.937 E F0 .436
-(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
-H .436(ashion when performing pathname).05 F -.15(ex)184 216 S
+(nocaseglob)144 192 Q F0 .436(If set,)184 204 R F1(bash)2.936 E F0 .436
+(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
+H .437(ashion when performing pathname).05 F -.15(ex)184 216 S
 (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 228 Q F0 1.193(If set,)184
-240 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
-3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 228 Q F0 1.194(If set,)184
+240 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
+3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
 F(while e)184 252 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
 E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 264 Q F0
-.855(If set,)184 276 R F1(bash)3.355 E F0(allo)3.355 E .855
-(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854
-(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o)
--3.354 E -.15(ex)184 288 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 300 Q(ogcomp)-.18 E F0 .676
+.854(If set,)184 276 R F1(bash)3.354 E F0(allo)3.354 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855
+(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o)
+-3.355 E -.15(ex)184 288 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 300 Q(ogcomp)-.18 E F0 .677
 (If set, the programmable completion f)184 312 R .677(acilities \(see)
--.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
 -.15(ve)-.15 G(\)).15 E(are enabled.)184 324 Q
 (This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 336 Q(omptv)
--.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 348 R 1.448
-(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 360 S .17(pansion, and quote remo).15 F -.25(va)-.15
+-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 348 R 1.448
+(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 360 S .171(pansion, and quote remo).15 F -.25(va)-.15
 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
-E(This option is enabled by def)184 372 Q(ault.)-.1 E F1 -.18(re)144 384
+-.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
+(This option is enabled by def)184 372 Q(ault.)-.1 E F1 -.18(re)144 384
 S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
 184 396 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 408 Q 4.178
@@ -2400,44 +2404,44 @@ S(stricted_shell).18 E F0 1.069
 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
 184 420 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
 -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
-F1(shift_v)144 432 Q(erbose)-.1 E F0 .502(If set, the)184 444 R F1
-(shift)3.002 E F0 -.2(bu)3.002 G .501
-(iltin prints an error message when the shift count e).2 F .501
+F1(shift_v)144 432 Q(erbose)-.1 E F0 .501(If set, the)184 444 R F1
+(shift)3.001 E F0 -.2(bu)3.001 G .501
+(iltin prints an error message when the shift count e).2 F .502
 (xceeds the number)-.15 F(of positional parameters.)184 456 Q F1(sour)
-144 468 Q(cepath)-.18 E F0 .77(If set, the)184 480 R F1(sour)3.27 E(ce)
--.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
-.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
-(to \214nd the directory containing the)3.021 F
-(\214le supplied as an ar)184 492 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 504 Q F0
-(If set, the)184 516 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
-(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend)
-108 532.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 544.8 R
--.15(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)
--.25 G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001
-(login shell cannot be)3.501 F .022(suspended; the)144 556.8 R F1<ad66>
-2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
-(rride this and force the suspension.).15 F .023(The return status is)
-5.023 F 2.5(0u)144 568.8 S(nless the shell is a login shell and)-2.5 E
+144 468 Q(cepath)-.18 E F0 .771(If set, the)184 480 R F1(sour)3.271 E
+(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
+-3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77
+(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
+184 492 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
+-.1 E F1(xpg_echo)144 504 Q F0(If set, the)184 516 Q F1(echo)2.5 E F0
+-.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15
+E(ault.)-.1 E F1(suspend)108 532.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
+(Suspend the e)144 544.8 R -.15(xe)-.15 G 1.001
+(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
+F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
+3.502 F .023(suspended; the)144 556.8 R F1<ad66>2.523 E F0 .023
+(option can be used to o)2.523 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .022(The return status is)
+5.022 F 2.5(0u)144 568.8 S(nless the shell is a login shell and)-2.5 E
 F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
 E F1(test)108 585.6 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 597.6 Q F3 -.2
-(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
-(Return a status of 0 \(true\) or 1 \(f)6.77 F .877
-(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
+(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877
+(Return a status of 0 \(true\) or 1 \(f)6.77 F .878
+(alse\) depending on the e)-.1 F -.25(va)-.25 G .878
 (luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 609.6
 S(pr).2 E F0 5.53(.E).73 G .53
 (ach operator and operand must be a separate ar)-5.53 F 3.03
-(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.08
-(primaries described abo)144 621.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
-(CONDITION)5.58 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
-F1(test)7.579 E F0 3.079(does not accept an)5.579 F(y)-.15 E
+(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.079
+(primaries described abo)144 621.6 R 3.379 -.15(ve u)-.15 H(nder).15 E
+F2(CONDITION)5.579 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF
+(.)A F1(test)7.579 E F0 3.08(does not accept an)5.58 F(y)-.15 E
 (options, nor does it accept and ignore an ar)144 633.6 Q(gument of)-.18
-E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .785
-(Expressions may be combined using the follo)144 651.6 R .786
-(wing operators, listed in decreasing order of prece-)-.25 F 3.412
-(dence. The)144 663.6 R -.25(eva)3.412 G .912
-(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F
-4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F
+E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .786
+(Expressions may be combined using the follo)144 651.6 R .785
+(wing operators, listed in decreasing order of prece-)-.25 F 3.411
+(dence. The)144 663.6 R -.25(eva)3.411 G .911
+(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
+4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
 (used when there are \214v)144 675.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
 (ore ar)-2.5 E(guments.)-.18 E F1(!)144 687.6 Q F3 -.2(ex)2.5 G(pr).2 E
 F0 -.35(Tr)12.6 G(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E
@@ -2468,10 +2472,10 @@ F1 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F1 -.2(ex)2.5 G(pr2).2 E F0
 E 2.5(2a)144 202.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
 180 214.8 R .37(gument is)-.18 F F2(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
 F .37(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F .379(If the \214rst ar)180 226.8 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
-238.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
+(gument is null.)-.18 F .38(If the \214rst ar)180 226.8 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .679
+-.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180
+238.8 Q .552(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
 (the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
 .552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 250.8 Q
 (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
@@ -2481,27 +2485,27 @@ F .37(xpression is true if and only if the second ar)-.15 F .37
 (If the second ar)5.236 F .236(gument is one of)-.18 F .855
 (the binary conditional operators listed abo)180 286.8 R 1.155 -.15
 (ve u)-.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
-F4(,)A F0(the)3.104 E .578(result of the e)180 298.8 R .578(xpression i\
+F4(,)A F0(the)3.105 E .579(result of the e)180 298.8 R .578(xpression i\
 s the result of the binary test using the \214rst and third ar)-.15 F
-(guments)-.18 E 1.333(as operands.)180 310.8 R(The)6.333 E F2<ad61>3.833
-E F0(and)3.833 E F2<ad6f>3.832 E F0 1.332
+(guments)-.18 E 1.332(as operands.)180 310.8 R(The)6.332 E F2<ad61>3.832
+E F0(and)3.832 E F2<ad6f>3.832 E F0 1.333
 (operators are considered binary operators when there are)3.832 F .558
 (three ar)180 322.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058
 F .558(gument is)-.18 F F2(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F
 .558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F
-(o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180
-334.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52
-(gument is e)-.18 F(xactly)-.15 E F2(\()3.02 E F0 .52(and the third)3.02
-F(ar)180 346.8 Q .485(gument is e)-.18 F(xactly)-.15 E F2(\))2.985 E F0
-2.985(,t)C .485(he result is the one-ar)-2.985 F .485
+(o-ar)-.1 E(gument)-.18 E .52(test using the second and third ar)180
+334.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .521
+(gument is e)-.18 F(xactly)-.15 E F2(\()3.021 E F0 .521(and the third)
+3.021 F(ar)180 346.8 Q .485(gument is e)-.18 F(xactly)-.15 E F2(\))2.985
+E F0 2.985(,t)C .485(he result is the one-ar)-2.985 F .485
 (gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E
 (wise, the e)180 358.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
-370.8 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 382.8 R
-.385(gument is)-.18 F F2(!)2.885 E F0 2.885(,t)C .385
-(he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar)
-.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F 1.647
+370.8 S -.18(rg)-2.5 G(uments).18 E .384(If the \214rst ar)180 382.8 R
+.384(gument is)-.18 F F2(!)2.884 E F0 2.885(,t)C .385
+(he result is the ne)-2.885 F -.05(ga)-.15 G .385(tion of the three-ar)
+.05 F .385(gument e)-.18 F .385(xpression com-)-.15 F 1.648
 (posed of the remaining ar)180 394.8 R 4.147(guments. Otherwise,)-.18 F
-1.647(the e)4.147 F 1.648(xpression is parsed and e)-.15 F -.25(va)-.25
+1.647(the e)4.147 F 1.647(xpression is parsed and e)-.15 F -.25(va)-.25
 G(luated).25 E(according to precedence using the rules listed abo)180
 406.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 418.8 S 2.5(rm)-2.5 G(ore ar)
 -2.5 E(guments)-.18 E 1.635(The e)180 430.8 R 1.635
@@ -2514,58 +2518,59 @@ F0(or)2.5 E F2([)2.5 E F0 2.5(,t)C(he)-2.5 E F2(<)2.5 E F0(and)2.5 E F2
 1.229(Print the accumulated user and system times for the shell and for\
  processes run from the shell.)13.23 F(The return status is 0.)144 489.6
 Q F2(trap)108 506.4 Q F0([)2.5 E F2(\255lp)A F0 2.5(][)C([)-2.5 E F1(ar)
-A(g)-.37 E F0(])A F1(sigspec)2.5 E F0(...])2.5 E .703(The command)144
-518.4 R F1(ar)3.533 E(g)-.37 E F0 .703(is to be read and e)3.423 F -.15
-(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202
-(ss).15 G(ignal\(s\))-3.202 E F1(sigspec)3.202 E F0 5.702(.I).31 G(f)
--5.702 E F1(ar)3.532 E(g)-.37 E F0(is)3.422 E .608
+A(g)-.37 E F0(])A F1(sigspec)2.5 E F0(...])2.5 E .702(The command)144
+518.4 R F1(ar)3.532 E(g)-.37 E F0 .702(is to be read and e)3.422 F -.15
+(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203
+(ss).15 G(ignal\(s\))-3.203 E F1(sigspec)3.203 E F0 5.703(.I).31 G(f)
+-5.703 E F1(ar)3.533 E(g)-.37 E F0(is)3.423 E .609
 (absent \(and there is a single)144 530.4 R F1(sigspec)3.108 E F0 3.108
 (\)o)C(r)-3.108 E F2<ad>3.108 E F0 3.108(,e)C .608
 (ach speci\214ed signal is reset to its original disposition)-3.108 F
-.659(\(the v)144 542.4 R .659(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .658
+.658(\(the v)144 542.4 R .658(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .659
 (is the null string the signal speci\214ed by each)3.378 F F1(sigspec)
-144.34 554.4 Q F0 .58(is ignored by the shell and by the commands it in)
-3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F1(ar)3.411 E(g)-.37 E
-F0 .581(is not present and)3.301 F F2<ad70>3.081 E F0(has)3.081 E 1.215
+144.34 554.4 Q F0 .581
+(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
+-.1(ke).2 G 3.08(s. If).1 F F1(ar)3.41 E(g)-.37 E F0 .58
+(is not present and)3.3 F F2<ad70>3.08 E F0(has)3.08 E 1.214
 (been supplied, then the trap commands associated with each)144 566.4 R
-F1(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F1(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
 F(gu-)-.18 E .86(ments are supplied or if only)144 578.4 R F2<ad70>3.36
 E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F2(trap)3.36 E F0 .86
 (prints the list of commands associated with each)3.36 F 2.83
 (signal. The)144 590.4 R F2<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F 4.31
-(bers. Each)144 602.4 R F1(sigspec)4.65 E F0 1.811
-(is either a signal name de\214ned in <)4.62 F F1(signal.h)A F0 1.811
-(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
+to print a list of signal names and their corresponding num-)2.83 F
+4.311(bers. Each)144 602.4 R F1(sigspec)4.651 E F0 1.811
+(is either a signal name de\214ned in <)4.621 F F1(signal.h)A F0 1.81
+(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
 (names are case insensiti)144 614.4 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 632.4 R F1
-(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0 1.649
-(\(0\) the command)3.899 F F1(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
--.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F
-1.648(If a)6.648 F F1(sigspec)4.488 E F0(is)4.458 E F3(DEB)144 644.4 Q
-(UG)-.09 E F4(,)A F0 1.167(the command)3.417 F F1(ar)3.997 E(g)-.37 E F0
-1.167(is e)3.887 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
--.25 G(ry).15 E F1 1.168(simple command)3.667 F F0(,)A F1(for)3.668 E F0
-(command,)3.668 E F1(case)3.668 E F0(com-)3.668 E(mand,)144 656.4 Q F1
-(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147
-(ry arithmetic).15 F F1(for)2.647 E F0 .146
-(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
-(cutes in a).15 F .145(shell function \(see)144 668.4 R F3 .145
-(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F F2(extdeb)2.646 E(ug)-.2 E F0
-.146(option to)2.646 F(the)144 680.4 Q F2(shopt)3.201 E F0 -.2(bu)3.201
-G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F2(DEB)3.2 E
-(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F1(sigspec)3.54 E F0(is)3.51 E
-F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 692.4 Q F1(ar)
-3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
+F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a)144 632.4 R F1
+(sigspec)4.488 E F0(is)4.458 E F3(EXIT)4.148 E F0 1.648
+(\(0\) the command)3.898 F F1(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
+-.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F
+1.649(If a)6.649 F F1(sigspec)4.489 E F0(is)4.459 E F3(DEB)144 644.4 Q
+(UG)-.09 E F4(,)A F0 1.168(the command)3.418 F F1(ar)3.998 E(g)-.37 E F0
+1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
+-.25 G(ry).15 E F1 1.167(simple command)3.667 F F0(,)A F1(for)3.667 E F0
+(command,)3.667 E F1(case)3.667 E F0(com-)3.667 E(mand,)144 656.4 Q F1
+(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146
+(ry arithmetic).15 F F1(for)2.646 E F0 .147
+(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
+(cutes in a).15 F .146(shell function \(see)144 668.4 R F3 .146
+(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
+F .146(to the description of the)2.646 F F2(extdeb)2.645 E(ug)-.2 E F0
+.145(option to)2.645 F(the)144 680.4 Q F2(shopt)3.2 E F0 -.2(bu)3.2 G .7
+(iltin for details of its ef).2 F .7(fect on the)-.25 F F2(DEB)3.2 E(UG)
+-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F1(sigspec)3.54 E F0(is)3.51 E F3
+(RETURN)3.2 E F4(,)A F0 .701(the com-)2.951 F(mand)144 692.4 Q F1(ar)
+3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.644(cuted with the).15 F F2(.)3.144 E F0(or)3.144 E F2(sour)3.144 E(ce)
--.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 704.4 Q -.15(xe)
--.15 G(cuting.).15 E .929(If a)144 722.4 R F1(sigspec)3.769 E F0(is)
-3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F1(ar)3.759 E
+.643(cuted with the).15 F F2(.)3.143 E F0(or)3.143 E F2(sour)3.143 E(ce)
+-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 704.4 Q -.15(xe)
+-.15 G(cuting.).15 E .928(If a)144 722.4 R F1(sigspec)3.768 E F0(is)
+3.738 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F1(ar)3.759 E
 (g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
--.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero)
+-.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
 -3.429 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg
 EP
 %%Page: 21 21
@@ -2574,9 +2579,9 @@ BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -.15(ex)144
-84 S 1.008(it status, subject to the follo).15 F 1.009(wing conditions.)
+84 S 1.009(it status, subject to the follo).15 F 1.009(wing conditions.)
 -.25 F(The)6.009 E/F1 9/Times-Bold@0 SF(ERR)3.509 E F0 1.009
-(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009
+(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
 (ailed com-)-.1 F .324
 (mand is part of the command list immediately follo)144 96 R .324
 (wing a)-.25 F/F2 10/Times-Bold@0 SF(while)2.824 E F0(or)2.824 E F2
@@ -2591,77 +2596,76 @@ E F0 5(.T)C(hese are the same conditions obe)-5 E(yed by the)-.15 E F2
 (Signals ignored upon entry to the shell cannot be trapped or reset.)144
 138 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
 (being ignored are reset to their original v)144 150 R .662
-(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
+(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
 -.4 F 2.5(created. The)144 162 R(return status is f)2.5 E(alse if an)-.1
 E(y)-.15 E F3(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
 (lid; otherwise).25 E F2(trap)2.5 E F0(returns true.)2.5 E F2(type)108
 178.8 Q F0([)2.5 E F2(\255aftpP)A F0(])A F3(name)2.5 E F0([)2.5 E F3
-(name)A F0(...])2.5 E -.4(Wi)144 190.8 S .174
-(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F3(name)
-3.034 E F0 -.1(wo)2.854 G .173
-(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
-F2<ad74>144 202.8 Q F0 .842(option is used,)3.342 F F2(type)3.342 E F0
+(name)A F0(...])2.5 E -.4(Wi)144 190.8 S .173
+(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F3(name)
+3.033 E F0 -.1(wo)2.853 G .174
+(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
+F2<ad74>144 202.8 Q F0 .843(option is used,)3.343 F F2(type)3.343 E F0
 .843(prints a string which is one of)3.343 F F3(alias)3.343 E F0(,).27 E
 F3 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F3(function)3.343 E F0
-(,).24 E F3 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F3
-(\214le)5.253 E F0(if)3.523 E F3(name)144.36 214.8 Q F0 .087
-(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
-(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F3
-(name)2.946 E F0 .086(is not)2.766 F .118
+(,).24 E F3 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F3
+(\214le)5.252 E F0(if)3.522 E F3(name)144.36 214.8 Q F0 .086
+(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
+(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F3
+(name)2.947 E F0 .087(is not)2.767 F .119
 (found, then nothing is printed, and an e)144 226.8 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
-F2<ad70>2.619 E F0 .119(option is used,)2.619 F F2(type)2.619 E F0 .855
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
+F2<ad70>2.618 E F0 .118(option is used,)2.618 F F2(type)2.618 E F0 .855
 (either returns the name of the disk \214le that w)144 238.8 R .855
 (ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F3(name)3.715 E F0
-.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
-250.8 R/F4 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
-(uld not return).1 F F3(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F2
-<ad50>3.141 E F0 .641(option forces a)3.141 F F1 -.666(PA)3.141 G(TH)
--.189 E F0 .113(search for each)144 262.8 R F3(name)2.613 E F0 2.613(,e)
-C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F4 .113(type -t name)2.613
-F F0 -.1(wo)2.613 G .113(uld not return).1 F F3(\214le)2.613 E F0 5.113
-(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F2<ad70>
-2.612 E F0(and)144 274.8 Q F2<ad50>3.23 E F0 .73(print the hashed v)3.23
-F .731
-(alue, which is not necessarily the \214le that appears \214rst in)-.25
-F F1 -.666(PA)3.231 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .731
-(If the)5.231 F F2<ad61>144 286.8 Q F0 1.749(option is used,)4.249 F F2
+.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
+144 250.8 R/F4 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
+G .641(uld not return).1 F F3(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
+F2<ad50>3.14 E F0 .64(option forces a)3.14 F F1 -.666(PA)3.14 G(TH)-.189
+E F0 .112(search for each)144 262.8 R F3(name)2.612 E F0 2.612(,e)C -.15
+(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F4 .113(type -t name)2.613 F F0
+-.1(wo)2.613 G .113(uld not return).1 F F3(\214le)2.613 E F0 5.113(.I)
+.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F2<ad70>2.613 E
+F0(and)144 274.8 Q F2<ad50>3.231 E F0 .731(print the hashed v)3.231 F
+.73(alue, which is not necessarily the \214le that appears \214rst in)
+-.25 F F1 -.666(PA)3.23 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .73
+(If the)5.23 F F2<ad61>144 286.8 Q F0 1.748(option is used,)4.248 F F2
 (type)4.248 E F0 1.748(prints all of the places that contain an e)4.248
-F -.15(xe)-.15 G 1.748(cutable named).15 F F3(name)4.248 E F0 6.748(.T)
-.18 G(his)-6.748 E .744
+F -.15(xe)-.15 G 1.748(cutable named).15 F F3(name)4.249 E F0 6.749(.T)
+.18 G(his)-6.749 E .744
 (includes aliases and functions, if and only if the)144 298.8 R F2<ad70>
-3.244 E F0 .744(option is not also used.)3.244 F .744
+3.244 E F0 .744(option is not also used.)3.244 F .743
 (The table of hashed)5.744 F 1.223(commands is not consulted when using)
 144 310.8 R F2<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F2<ad66>3.723 E F0
-1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
-144 322.8 R F2(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F2(type)
-5.325 E F0 .325(returns true if all of the ar)2.825 F .326
-(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
-(re not)-2.826 F(found.)144 334.8 Q F2(ulimit)108 351.6 Q F0([)2.5 E F2
+1.223(option suppresses shell function lookup, as)3.723 F .326(with the)
+144 322.8 R F2(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F2(type)
+5.326 E F0 .326(returns true if all of the ar)2.826 F .325
+(guments are found, f)-.18 F .325(alse if an)-.1 F 2.825(ya)-.15 G .325
+(re not)-2.825 F(found.)144 334.8 Q F2(ulimit)108 351.6 Q F0([)2.5 E F2
 (\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F3(limit)A F0(]])A
-(Pro)144 363.6 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15
-G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(Pro)144 363.6 Q .243(vides control o)-.15 F -.15(ve)-.15 G 2.743(rt).15
+G .243(he resources a)-2.743 F -.25(va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 375.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F2<ad48>3.443 E F0(and)3.443 E F2<ad53>3.444 E F0 .944
+.944(that allo)144 375.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F2<ad48>3.444 E F0(and)3.444 E F2<ad53>3.444 E F0 .943
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 387.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 387.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 399.6 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F2<ad48>2.926 E
-F0(nor)2.926 E F2<ad53>2.926 E F0 .426
-(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
+ft limit may)2.708 F .426(be increased up to the v)144 399.6 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F2<ad48>2.925 E
+F0(nor)2.925 E F2<ad53>2.925 E F0 .425
+(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
 411.6 R .139(The v)5.139 F .139(alue of)-.25 F F3(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 423.6 R(alues)-.25 E F2(hard)3.241 E F0(,)A F2
+.742(of the special v)144 423.6 R(alues)-.25 E F2(hard)3.242 E F0(,)A F2
 (soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
 (soft limit, and no limit, respecti)144 435.6 R -.15(ve)-.25 G(ly).15 E
 5.78(.I)-.65 G(f)-5.78 E F3(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 447.6 R F2<ad48>2.999 E F0
-.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
+F .499(resource is printed, unless the)144 447.6 R F2<ad48>2.999 E F0
+.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498
 (more than one resource is speci\214ed, the)2.999 F
 (limit name and unit are printed before the v)144 459.6 Q 2.5
 (alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
@@ -2678,8 +2682,8 @@ F0(The maximum size of \214les written by the shell and its children)
 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
 (ystems do not honor this limit\))-2.5 E F2<ad6e>144 579.6 Q F0 .791(Th\
 e maximum number of open \214le descriptors \(most systems do not allo)
-24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-591.6 Q F2<ad70>144 603.6 Q F0
+24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F
+(be set\))180 591.6 Q F2<ad70>144 603.6 Q F0
 (The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
 <ad71>144 615.6 Q F0
 (The maximum number of bytes in POSIX message queues)24.74 E F2<ad72>144
@@ -2702,16 +2706,16 @@ F2<ad54>144 711.6 Q F0(The maximum number of threads)23.63 E(If)144
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .044
-(no option is gi)144 84 R -.15(ve)-.25 G .044(n, then).15 F/F1 10
-/Times-Bold@0 SF<ad66>2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045
-G .045(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F
-F1<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .403(in seconds;)144
-96 R F1<ad70>2.903 E F0 2.903(,w)C .402
-(hich is in units of 512-byte blocks; and)-2.903 F F1<ad54>2.902 E F0(,)
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .045
+(no option is gi)144 84 R -.15(ve)-.25 G .045(n, then).15 F/F1 10
+/Times-Bold@0 SF<ad66>2.545 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045
+G .045(lues are in 1024-byte increments, e)1.11 F .044(xcept for)-.15 F
+F1<ad74>2.544 E F0 2.544(,w)C .044(hich is)-2.544 F .402(in seconds;)144
+96 R F1<ad70>2.902 E F0 2.902(,w)C .402
+(hich is in units of 512-byte blocks; and)-2.902 F F1<ad54>2.902 E F0(,)
 A F1<ad62>2.902 E F0(,)A F1<ad6e>2.902 E F0 2.902(,a)C(nd)-2.902 E F1
-<ad75>2.902 E F0 2.902(,w)C .402(hich are unscaled)-2.902 F -.25(va)144
-108 S 3.082(lues. The).25 F .583(return status is 0 unless an in)3.083 F
+<ad75>2.903 E F0 2.903(,w)C .403(hich are unscaled)-2.903 F -.25(va)144
+108 S 3.083(lues. The).25 F .583(return status is 0 unless an in)3.083 F
 -.25(va)-.4 G .583(lid option or ar).25 F .583
 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144
 120 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 136.8 Q F0([)2.5 E F1
@@ -2721,15 +2725,15 @@ R F2(mode)2.7 E F0 5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
 therwise it is interpreted as a symbolic mode mask similar to that acce\
 pted by)144 160.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-172.8 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
+172.8 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
 (alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
 (printed in symbolic form; the def)144 184.8 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
 (he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 196.8 Q F0 .552
-(is omitted, the output is in a form that may be reused as input.)3.232
-F .551(The return status is 0 if the)5.551 F(mode w)144 208.8 Q
+(mode)144.38 196.8 Q F0 .551
+(is omitted, the output is in a form that may be reused as input.)3.231
+F .552(The return status is 0 if the)5.552 F(mode w)144 208.8 Q
 (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
 (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
 (unalias)108 225.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
@@ -2739,45 +2743,45 @@ F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
 F(remo)144 249.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
 (alue is true unless a supplied)-.25 E F2(name)2.86 E F0
 (is not a de\214ned alias.)2.68 E F1(unset)108 266.4 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 278.4 S 3.828
-(re).15 G(ach)-3.828 E F2(name)3.828 E F0 3.828(,r).18 G(emo)-3.828 E
-1.628 -.15(ve t)-.15 H 1.328(he corresponding v).15 F 1.327
-(ariable or function.)-.25 F 1.327(If the)6.327 F F1<ad76>3.827 E F0
-1.327(option is gi)3.827 F -.15(ve)-.25 G 1.327(n, each).15 F F2(name)
-144.36 290.4 Q F0 1.55(refers to a shell v)4.23 F 1.551
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 278.4 S 3.827
+(re).15 G(ach)-3.827 E F2(name)3.827 E F0 3.827(,r).18 G(emo)-3.827 E
+1.627 -.15(ve t)-.15 H 1.327(he corresponding v).15 F 1.327
+(ariable or function.)-.25 F 1.327(If the)6.327 F F1<ad76>3.828 E F0
+1.328(option is gi)3.828 F -.15(ve)-.25 G 1.328(n, each).15 F F2(name)
+144.36 290.4 Q F0 1.551(refers to a shell v)4.231 F 1.551
 (ariable, and that v)-.25 F 1.551(ariable is remo)-.25 F -.15(ve)-.15 G
-4.051(d. Read-only).15 F -.25(va)4.051 G 1.551(riables may not be).25 F
-4.642(unset. If)144 302.4 R F1<ad66>4.642 E F0 2.142
-(is speci\214ed, each)4.642 F F2(name)5.001 E F0 2.141
+4.05(d. Read-only).15 F -.25(va)4.05 G 1.55(riables may not be).25 F
+4.641(unset. If)144 302.4 R F1<ad66>4.641 E F0 2.141
+(is speci\214ed, each)4.641 F F2(name)5.001 E F0 2.141
 (refers to a shell function, and the function de\214nition is)4.821 F
-(remo)144 314.4 Q -.15(ve)-.15 G 2.898(d. If).15 F .398
-(no options are supplied, each)2.898 F F2(name)2.898 E F0 .398
-(refers to a v)2.898 F .399(ariable; if there is no v)-.25 F .399
-(ariable by that)-.25 F .579(name, an)144 326.4 R 3.079(yf)-.15 G .579
-(unction with that name is unset.)-3.079 F .579(Each unset v)5.579 F
-.579(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.078(df).15 G
-.578(rom the)-3.078 F(en)144 338.4 Q .045
+(remo)144 314.4 Q -.15(ve)-.15 G 2.899(d. If).15 F .399
+(no options are supplied, each)2.899 F F2(name)2.898 E F0 .398
+(refers to a v)2.898 F .398(ariable; if there is no v)-.25 F .398
+(ariable by that)-.25 F .578(name, an)144 326.4 R 3.078(yf)-.15 G .579
+(unction with that name is unset.)-3.078 F .579(Each unset v)5.579 F
+.579(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.079(df).15 G
+.579(rom the)-3.079 F(en)144 338.4 Q .046
 (vironment passed to subsequent commands.)-.4 F .046(If an)5.046 F 2.546
-(yo)-.15 G(f)-2.546 E/F3 9/Times-Bold@0 SF(COMP_W)2.546 E(ORDBREAKS)-.09
-E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)2.296 E F4(,)A F3(SEC-)2.296 E
-(ONDS)144 350.4 Q F4(,)A F3(LINENO)2.641 E F4(,)A F3(HISTCMD)2.641 E F4
-(,)A F3(FUNCN)2.641 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A
-F0(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
-(are unset, the)2.64 F 2.89(yl)-.15 G .39(ose their spe-)-2.89 F .726
-(cial properties, e)144 362.4 R -.15(ve)-.25 G 3.226(ni).15 G 3.226(ft)
--3.226 G(he)-3.226 E 3.226(ya)-.15 G .726(re subsequently reset.)-3.226
-F .726(The e)5.726 F .727(xit status is true unless a)-.15 F F2(name)
-3.587 E F0 .727(is read-)3.407 F(only)144 374.4 Q(.)-.65 E F1(wait)108
+(yo)-.15 G(f)-2.546 E/F3 9/Times-Bold@0 SF(COMP_W)2.545 E(ORDBREAKS)-.09
+E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)2.295 E F4(,)A F3(SEC-)2.295 E
+(ONDS)144 350.4 Q F4(,)A F3(LINENO)2.64 E F4(,)A F3(HISTCMD)2.64 E F4(,)
+A F3(FUNCN)2.64 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A F0
+(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
+(are unset, the)2.64 F 2.891(yl)-.15 G .391(ose their spe-)-2.891 F .727
+(cial properties, e)144 362.4 R -.15(ve)-.25 G 3.227(ni).15 G 3.227(ft)
+-3.227 G(he)-3.227 E 3.227(ya)-.15 G .727(re subsequently reset.)-3.227
+F .726(The e)5.727 F .726(xit status is true unless a)-.15 F F2(name)
+3.586 E F0 .726(is read-)3.406 F(only)144 374.4 Q(.)-.65 E F1(wait)108
 391.2 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 403.2 S .288
 (it for each speci\214ed process and return its termination status.).8 F
-(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
+(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
 (job speci\214cation; if a job spec is gi)144 415.2 R -.15(ve)-.25 G
 .722(n, all processes in that job').15 F 3.222(sp)-.55 G .722
 (ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E
-F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 427.2 R -.15(ve)-.25 G 1.266
-(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
-(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
-(nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456
+F2(n)3.582 E F0(is)3.462 E 1.265(not gi)144 427.2 R -.15(ve)-.25 G 1.265
+(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
+(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
+(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
 (speci\214es a non-e)144 439.2 R .457
 (xistent process or job, the return status is 127.)-.15 F .457
 (Otherwise, the return status is the)5.457 F -.15(ex)144 451.2 S
index 9ce991bfda9c07e5937f194bfd4a2f6ce889b11b..6d0abf80eca0c7a51d751efc843d357e0f4a8eec 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Mon Sep 26 10:56:08 2011
+%%CreationDate: Mon Oct 24 08:43:45 2011
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%DocumentSuppliedResources: procset grops 1.19 2
index 9af3395930df7ddf33b096af586de9b761fdc80b..590e8851a4ff5b7a2bee93e0963a459cf2befc7e 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2011 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Fri Oct 14 13:18:35 EDT 2011
+@set LASTCHANGE Mon Oct 24 08:43:33 EDT 2011
 
 @set EDITION 4.2
 @set VERSION 4.2
-@set UPDATED 14 October 2011
+@set UPDATED 24 October 2011
 @set UPDATED-MONTH October 2011
diff --git a/expr.c b/expr.c
index aad2a382f3ef88a5612eaf515e4ae40e307bc006..0125df490eb067d312912108e9421b328fbb3e66 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -494,10 +494,16 @@ expassign ()
              lvalue *= value;
              break;
            case DIV:
-             lvalue /= value;
+             if (lvalue == INTMAX_MIN && value == -1)
+               value = 1;
+             else
+               lvalue /= value;
              break;
            case MOD:
-             lvalue %= value;
+             if (lvalue == INTMAX_MIN && value == -1)
+               lvalue = 0;
+             else
+               lvalue %= value;
              break;
            case PLUS:
              lvalue += value;
@@ -811,6 +817,7 @@ exp2 ()
 
       val2 = exppower ();
 
+      /* Handle division by 0 and twos-complement arithmetic overflow */
       if (((op == DIV) || (op == MOD)) && (val2 == 0))
        {
          if (noeval == 0)
@@ -818,6 +825,13 @@ exp2 ()
          else
            val2 = 1;
        }
+      else if (op == MOD && val1 == INTMAX_MIN && val2 == -1)
+       {
+         val1 = 0;
+         continue;
+       }
+      else if (op == DIV && val1 == INTMAX_MIN && val2 == -1)
+       val2 = 1;
 
       if (op == MUL)
        val1 *= val2;
diff --git a/flags.c b/flags.c
index 0ccdb0bbcbd16f5695965c8928afb9194074d14a..8b531e6569e2ae2c112e72fb8dd67e837023e34d 100644 (file)
--- a/flags.c
+++ b/flags.c
@@ -126,7 +126,11 @@ int hashing_enabled = 1;
 #if defined (BANG_HISTORY)
 /* Non-zero means that we are doing history expansion.  The default.
    This means !22 gets the 22nd line of history. */
+#  if defined (STRICT_POSIX)
+int history_expansion = 0;
+#  else
 int history_expansion = 1;
+#  endif
 #endif /* BANG_HISTORY */
 
 /* Non-zero means that we allow comments to appear in interactive commands. */
index 8fb3798b7cafc5169b3beb761602b70a5299af42..2a70a71c95c7912c8dd7cc9d899cc6cf657deaaf 100644 (file)
@@ -1022,6 +1022,13 @@ history_expand (hstring, output)
            {
              if (cc == 0 || member (cc, history_no_expand_chars))
                continue;
+             /* DQUOTE won't be set unless history_quotes_inhibit_expansion
+                is set.  The idea here is to treat double-quoted strings the
+                same as the word outside double quotes; in effect making the
+                double quote part of history_no_expand_chars when DQUOTE is
+                set. */
+             else if (dquote && cc == '"')
+               continue;
              /* If the calling application has set
                 history_inhibit_expansion_function to a function that checks
                 for special cases that should not be history expanded,
index 2eb4fda1f89e409886cb7ca31803fa474021e205..7db5bc76e30ea7e51a1138e361a27ebac97e529b 100644 (file)
@@ -280,7 +280,7 @@ make_arith_for_command (exprs, action, lineno)
   ARITH_FOR_COM *temp;
   WORD_LIST *init, *test, *step;
   char *s, *t, *start;
-  int nsemi;
+  int nsemi, i;
 
   init = test = step = (WORD_LIST *)NULL;
   /* Parse the string into the three component sub-expressions. */
@@ -292,10 +292,10 @@ make_arith_for_command (exprs, action, lineno)
        s++;
       start = s;
       /* skip to the semicolon or EOS */
-      while (*s && *s != ';')
-       s++;
+      i = skip_to_delim (start, 0, ";", SD_NOJMP);
+      s = start + i;
 
-      t = (s > start) ? substring (start, 0, s - start) : (char *)NULL;
+      t = (i > 0) ? substring (start, 0, i) : (char *)NULL;
 
       nsemi++;
       switch (nsemi)
diff --git a/make_cmd.c.save1 b/make_cmd.c.save1
new file mode 100644 (file)
index 0000000..d42f32f
--- /dev/null
@@ -0,0 +1,888 @@
+/* make_cmd.c -- Functions for making instances of the various
+   parser constructs. */
+
+/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "config.h"
+
+#include <stdio.h>
+#include "bashtypes.h"
+#if !defined (_MINIX) && defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif
+#include "filecntl.h"
+#include "bashansi.h"
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "bashintl.h"
+
+#include "parser.h"
+#include "syntax.h"
+#include "command.h"
+#include "general.h"
+#include "error.h"
+#include "flags.h"
+#include "make_cmd.h"
+#include "dispose_cmd.h"
+#include "variables.h"
+#include "subst.h"
+#include "input.h"
+#include "ocache.h"
+#include "externs.h"
+
+#if defined (JOB_CONTROL)
+#include "jobs.h"
+#endif
+
+#include "shmbutil.h"
+
+extern int line_number, current_command_line_count, parser_state;
+extern int last_command_exit_value;
+
+/* Object caching */
+sh_obj_cache_t wdcache = {0, 0, 0};
+sh_obj_cache_t wlcache = {0, 0, 0};
+
+#define WDCACHESIZE    60
+#define WLCACHESIZE    60
+
+static COMMAND *make_for_or_select __P((enum command_type, WORD_DESC *, WORD_LIST *, COMMAND *, int));
+#if defined (ARITH_FOR_COMMAND)
+static WORD_LIST *make_arith_for_expr __P((char *));
+#endif
+static COMMAND *make_until_or_while __P((enum command_type, COMMAND *, COMMAND *));
+
+void
+cmd_init ()
+{
+  ocache_create (wdcache, WORD_DESC, WDCACHESIZE);
+  ocache_create (wlcache, WORD_LIST, WLCACHESIZE);
+}
+
+WORD_DESC *
+alloc_word_desc ()
+{
+  WORD_DESC *temp;
+
+  ocache_alloc (wdcache, WORD_DESC, temp);
+  temp->flags = 0;
+  temp->word = 0;
+  return temp;
+}
+
+WORD_DESC *
+make_bare_word (string)
+     const char *string;
+{
+  WORD_DESC *temp;
+
+  temp = alloc_word_desc ();
+
+  if (*string)
+    temp->word = savestring (string);
+  else
+    {
+      temp->word = (char *)xmalloc (1);
+      temp->word[0] = '\0';
+    }
+
+  return (temp);
+}
+
+WORD_DESC *
+make_word_flags (w, string)
+     WORD_DESC *w;
+     const char *string;
+{
+  register int i;
+  size_t slen;
+  DECLARE_MBSTATE;
+
+  i = 0;
+  slen = strlen (string);
+  while (i < slen)
+    {
+      switch (string[i])
+       {
+       case '$':
+         w->flags |= W_HASDOLLAR;
+         break;
+       case '\\':
+         break;        /* continue the loop */
+       case '\'':
+       case '`':
+       case '"':
+         w->flags |= W_QUOTED;
+         break;
+       }
+
+      ADVANCE_CHAR (string, slen, i);
+    }
+
+  return (w);
+}
+
+WORD_DESC *
+make_word (string)
+     const char *string;
+{
+  WORD_DESC *temp;
+
+  temp = make_bare_word (string);
+  return (make_word_flags (temp, string));
+}
+
+WORD_DESC *
+make_word_from_token (token)
+     int token;
+{
+  char tokenizer[2];
+
+  tokenizer[0] = token;
+  tokenizer[1] = '\0';
+
+  return (make_word (tokenizer));
+}
+
+WORD_LIST *
+make_word_list (word, wlink)
+     WORD_DESC *word;
+     WORD_LIST *wlink;
+{
+  WORD_LIST *temp;
+
+  ocache_alloc (wlcache, WORD_LIST, temp);
+
+  temp->word = word;
+  temp->next = wlink;
+  return (temp);
+}
+
+COMMAND *
+make_command (type, pointer)
+     enum command_type type;
+     SIMPLE_COM *pointer;
+{
+  COMMAND *temp;
+
+  temp = (COMMAND *)xmalloc (sizeof (COMMAND));
+  temp->type = type;
+  temp->value.Simple = pointer;
+  temp->value.Simple->flags = temp->flags = 0;
+  temp->redirects = (REDIRECT *)NULL;
+  return (temp);
+}
+
+COMMAND *
+command_connect (com1, com2, connector)
+     COMMAND *com1, *com2;
+     int connector;
+{
+  CONNECTION *temp;
+
+  temp = (CONNECTION *)xmalloc (sizeof (CONNECTION));
+  temp->connector = connector;
+  temp->first = com1;
+  temp->second = com2;
+  return (make_command (cm_connection, (SIMPLE_COM *)temp));
+}
+
+static COMMAND *
+make_for_or_select (type, name, map_list, action, lineno)
+     enum command_type type;
+     WORD_DESC *name;
+     WORD_LIST *map_list;
+     COMMAND *action;
+     int lineno;
+{
+  FOR_COM *temp;
+
+  temp = (FOR_COM *)xmalloc (sizeof (FOR_COM));
+  temp->flags = 0;
+  temp->name = name;
+  temp->line = lineno;
+  temp->map_list = map_list;
+  temp->action = action;
+  return (make_command (type, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_for_command (name, map_list, action, lineno)
+     WORD_DESC *name;
+     WORD_LIST *map_list;
+     COMMAND *action;
+     int lineno;
+{
+  return (make_for_or_select (cm_for, name, map_list, action, lineno));
+}
+
+COMMAND *
+make_select_command (name, map_list, action, lineno)
+     WORD_DESC *name;
+     WORD_LIST *map_list;
+     COMMAND *action;
+     int lineno;
+{
+#if defined (SELECT_COMMAND)
+  return (make_for_or_select (cm_select, name, map_list, action, lineno));
+#else
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif
+}
+
+#if defined (ARITH_FOR_COMMAND)
+static WORD_LIST *
+make_arith_for_expr (s)
+     char *s;
+{
+  WORD_LIST *result;
+  WORD_DESC *wd;
+
+  if (s == 0 || *s == '\0')
+    return ((WORD_LIST *)NULL);
+  wd = make_word (s);
+  wd->flags |= W_NOGLOB|W_NOSPLIT|W_QUOTED|W_DQUOTE;   /* no word splitting or globbing */
+  result = make_word_list (wd, (WORD_LIST *)NULL);
+  return result;
+}
+#endif
+
+/* Note that this function calls dispose_words on EXPRS, since it doesn't
+   use the word list directly.  We free it here rather than at the caller
+   because no other function in this file requires that the caller free
+   any arguments. */
+COMMAND *
+make_arith_for_command (exprs, action, lineno)
+     WORD_LIST *exprs;
+     COMMAND *action;
+     int lineno;
+{
+#if defined (ARITH_FOR_COMMAND)
+  ARITH_FOR_COM *temp;
+  WORD_LIST *init, *test, *step;
+  char *s, *t, *start;
+  int nsemi, i;
+
+  init = test = step = (WORD_LIST *)NULL;
+  /* Parse the string into the three component sub-expressions. */
+  start = t = s = exprs->word->word;
+  for (nsemi = 0; ;)
+    {
+      /* skip whitespace at the start of each sub-expression. */
+      while (whitespace (*s))
+       s++;
+      start = s;
+      /* skip to the semicolon or EOS */
+      i = skip_to_delim (s, 0, ";", SD_NOJMP);
+      s = start + i;
+
+      t = (i > 0) ? substring (start, 0, i) : (char *)NULL;
+
+      nsemi++;
+      switch (nsemi)
+       {
+       case 1:
+         init = make_arith_for_expr (t);
+         break;
+       case 2:
+         test = make_arith_for_expr (t);
+         break;
+       case 3:
+         step = make_arith_for_expr (t);
+         break;
+       }
+
+      FREE (t);
+      if (*s == '\0')
+       break;
+      s++;     /* skip over semicolon */
+    }
+
+  if (nsemi != 3)
+    {
+      if (nsemi < 3)
+       parser_error (lineno, _("syntax error: arithmetic expression required"));
+      else
+       parser_error (lineno, _("syntax error: `;' unexpected"));
+      parser_error (lineno, _("syntax error: `((%s))'"), exprs->word->word);
+      last_command_exit_value = 2;
+      return ((COMMAND *)NULL);
+    }
+
+  temp = (ARITH_FOR_COM *)xmalloc (sizeof (ARITH_FOR_COM));
+  temp->flags = 0;
+  temp->line = lineno;
+  temp->init = init ? init : make_arith_for_expr ("1");
+  temp->test = test ? test : make_arith_for_expr ("1");
+  temp->step = step ? step : make_arith_for_expr ("1");
+  temp->action = action;
+
+  dispose_words (exprs);
+  return (make_command (cm_arith_for, (SIMPLE_COM *)temp));
+#else
+  dispose_words (exprs);
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif /* ARITH_FOR_COMMAND */
+}
+
+COMMAND *
+make_group_command (command)
+     COMMAND *command;
+{
+  GROUP_COM *temp;
+
+  temp = (GROUP_COM *)xmalloc (sizeof (GROUP_COM));
+  temp->command = command;
+  return (make_command (cm_group, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_case_command (word, clauses, lineno)
+     WORD_DESC *word;
+     PATTERN_LIST *clauses;
+     int lineno;
+{
+  CASE_COM *temp;
+
+  temp = (CASE_COM *)xmalloc (sizeof (CASE_COM));
+  temp->flags = 0;
+  temp->line = lineno;
+  temp->word = word;
+  temp->clauses = REVERSE_LIST (clauses, PATTERN_LIST *);
+  return (make_command (cm_case, (SIMPLE_COM *)temp));
+}
+
+PATTERN_LIST *
+make_pattern_list (patterns, action)
+     WORD_LIST *patterns;
+     COMMAND *action;
+{
+  PATTERN_LIST *temp;
+
+  temp = (PATTERN_LIST *)xmalloc (sizeof (PATTERN_LIST));
+  temp->patterns = REVERSE_LIST (patterns, WORD_LIST *);
+  temp->action = action;
+  temp->next = NULL;
+  temp->flags = 0;
+  return (temp);
+}
+
+COMMAND *
+make_if_command (test, true_case, false_case)
+     COMMAND *test, *true_case, *false_case;
+{
+  IF_COM *temp;
+
+  temp = (IF_COM *)xmalloc (sizeof (IF_COM));
+  temp->flags = 0;
+  temp->test = test;
+  temp->true_case = true_case;
+  temp->false_case = false_case;
+  return (make_command (cm_if, (SIMPLE_COM *)temp));
+}
+
+static COMMAND *
+make_until_or_while (which, test, action)
+     enum command_type which;
+     COMMAND *test, *action;
+{
+  WHILE_COM *temp;
+
+  temp = (WHILE_COM *)xmalloc (sizeof (WHILE_COM));
+  temp->flags = 0;
+  temp->test = test;
+  temp->action = action;
+  return (make_command (which, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_while_command (test, action)
+     COMMAND *test, *action;
+{
+  return (make_until_or_while (cm_while, test, action));
+}
+
+COMMAND *
+make_until_command (test, action)
+     COMMAND *test, *action;
+{
+  return (make_until_or_while (cm_until, test, action));
+}
+
+COMMAND *
+make_arith_command (exp)
+     WORD_LIST *exp;
+{
+#if defined (DPAREN_ARITHMETIC)
+  COMMAND *command;
+  ARITH_COM *temp;
+
+  command = (COMMAND *)xmalloc (sizeof (COMMAND));
+  command->value.Arith = temp = (ARITH_COM *)xmalloc (sizeof (ARITH_COM));
+
+  temp->flags = 0;
+  temp->line = line_number;
+  temp->exp = exp;
+
+  command->type = cm_arith;
+  command->redirects = (REDIRECT *)NULL;
+  command->flags = 0;
+
+  return (command);
+#else
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif
+}
+
+#if defined (COND_COMMAND)
+struct cond_com *
+make_cond_node (type, op, left, right)
+     int type;
+     WORD_DESC *op;
+     struct cond_com *left, *right;
+{
+  COND_COM *temp;
+
+  temp = (COND_COM *)xmalloc (sizeof (COND_COM));
+  temp->flags = 0;
+  temp->line = line_number;
+  temp->type = type;
+  temp->op = op;
+  temp->left = left;
+  temp->right = right;
+
+  return (temp);
+}
+#endif
+
+COMMAND *
+make_cond_command (cond_node)
+     COND_COM *cond_node;
+{
+#if defined (COND_COMMAND)
+  COMMAND *command;
+
+  command = (COMMAND *)xmalloc (sizeof (COMMAND));
+  command->value.Cond = cond_node;
+
+  command->type = cm_cond;
+  command->redirects = (REDIRECT *)NULL;
+  command->flags = 0;
+  command->line = cond_node ? cond_node->line : 0;
+
+  return (command);
+#else
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif
+}
+
+COMMAND *
+make_bare_simple_command ()
+{
+  COMMAND *command;
+  SIMPLE_COM *temp;
+
+  command = (COMMAND *)xmalloc (sizeof (COMMAND));
+  command->value.Simple = temp = (SIMPLE_COM *)xmalloc (sizeof (SIMPLE_COM));
+
+  temp->flags = 0;
+  temp->line = line_number;
+  temp->words = (WORD_LIST *)NULL;
+  temp->redirects = (REDIRECT *)NULL;
+
+  command->type = cm_simple;
+  command->redirects = (REDIRECT *)NULL;
+  command->flags = 0;
+
+  return (command);
+}
+
+/* Return a command which is the connection of the word or redirection
+   in ELEMENT, and the command * or NULL in COMMAND. */
+COMMAND *
+make_simple_command (element, command)
+     ELEMENT element;
+     COMMAND *command;
+{
+  /* If we are starting from scratch, then make the initial command
+     structure.  Also note that we have to fill in all the slots, since
+     malloc doesn't return zeroed space. */
+  if (command == 0)
+    {
+      command = make_bare_simple_command ();
+      parser_state |= PST_REDIRLIST;
+    }
+
+  if (element.word)
+    {
+      command->value.Simple->words = make_word_list (element.word, command->value.Simple->words);
+      parser_state &= ~PST_REDIRLIST;
+    }
+  else if (element.redirect)
+    {
+      REDIRECT *r = element.redirect;
+      /* Due to the way <> is implemented, there may be more than a single
+        redirection in element.redirect.  We just follow the chain as far
+        as it goes, and hook onto the end. */
+      while (r->next)
+       r = r->next;
+      r->next = command->value.Simple->redirects;
+      command->value.Simple->redirects = element.redirect;
+    }
+
+  return (command);
+}
+
+/* Because we are Bourne compatible, we read the input for this
+   << or <<- redirection now, from wherever input is coming from.
+   We store the input read into a WORD_DESC.  Replace the text of
+   the redirectee.word with the new input text.  If <<- is on,
+   then remove leading TABS from each line. */
+void
+make_here_document (temp, lineno)
+     REDIRECT *temp;
+     int lineno;
+{
+  int kill_leading, redir_len;
+  char *redir_word, *document, *full_line;
+  int document_index, document_size, delim_unquoted;
+
+  if (temp->instruction != r_deblank_reading_until &&
+      temp->instruction != r_reading_until)
+    {
+      internal_error (_("make_here_document: bad instruction type %d"), temp->instruction);
+      return;
+    }
+
+  kill_leading = temp->instruction == r_deblank_reading_until;
+
+  document = (char *)NULL;
+  document_index = document_size = 0;
+
+  /* Quote removal is the only expansion performed on the delimiter
+     for here documents, making it an extremely special case. */
+  redir_word = string_quote_removal (temp->redirectee.filename->word, 0);
+
+  /* redirection_expand will return NULL if the expansion results in
+     multiple words or no words.  Check for that here, and just abort
+     this here document if it does. */
+  if (redir_word)
+    redir_len = strlen (redir_word);
+  else
+    {
+      temp->here_doc_eof = (char *)xmalloc (1);
+      temp->here_doc_eof[0] = '\0';
+      goto document_done;
+    }
+
+  free (temp->redirectee.filename->word);
+  temp->here_doc_eof = redir_word;
+
+  /* Read lines from wherever lines are coming from.
+     For each line read, if kill_leading, then kill the
+     leading tab characters.
+     If the line matches redir_word exactly, then we have
+     manufactured the document.  Otherwise, add the line to the
+     list of lines in the document. */
+
+  /* If the here-document delimiter was quoted, the lines should
+     be read verbatim from the input.  If it was not quoted, we
+     need to perform backslash-quoted newline removal. */
+  delim_unquoted = (temp->redirectee.filename->flags & W_QUOTED) == 0;
+  while (full_line = read_secondary_line (delim_unquoted))
+    {
+      register char *line;
+      int len;
+
+      line = full_line;
+      line_number++;
+
+      /* If set -v is in effect, echo the line read.  read_secondary_line/
+        read_a_line leaves the newline at the end, so don't print another. */
+      if (echo_input_at_read)
+       fprintf (stderr, "%s", line);
+
+      if (kill_leading && *line)
+       {
+         /* Hack:  To be compatible with some Bourne shells, we
+            check the word before stripping the whitespace.  This
+            is a hack, though. */
+         if (STREQN (line, redir_word, redir_len) && line[redir_len] == '\n')
+           goto document_done;
+
+         while (*line == '\t')
+           line++;
+       }
+
+      if (*line == 0)
+       continue;
+
+      if (STREQN (line, redir_word, redir_len) && line[redir_len] == '\n')
+       goto document_done;
+
+      len = strlen (line);
+      if (len + document_index >= document_size)
+       {
+         document_size = document_size ? 2 * (document_size + len) : len + 2;
+         document = (char *)xrealloc (document, document_size);
+       }
+
+      /* len is guaranteed to be > 0 because of the check for line
+        being an empty string before the call to strlen. */
+      FASTCOPY (line, document + document_index, len);
+      document_index += len;
+    }
+
+  if (full_line == 0)
+    internal_warning (_("here-document at line %d delimited by end-of-file (wanted `%s')"), lineno, redir_word);
+
+document_done:
+  if (document)
+    document[document_index] = '\0';
+  else
+    {
+      document = (char *)xmalloc (1);
+      document[0] = '\0';
+    }
+  temp->redirectee.filename->word = document;
+}
+
+/* Generate a REDIRECT from SOURCE, DEST, and INSTRUCTION.
+   INSTRUCTION is the instruction type, SOURCE is a file descriptor,
+   and DEST is a file descriptor or a WORD_DESC *. */
+REDIRECT *
+make_redirection (source, instruction, dest_and_filename, flags)
+     REDIRECTEE source;
+     enum r_instruction instruction;
+     REDIRECTEE dest_and_filename;
+     int flags;
+{
+  REDIRECT *temp;
+  WORD_DESC *w;
+  int wlen;
+  intmax_t lfd;
+
+  temp = (REDIRECT *)xmalloc (sizeof (REDIRECT));
+
+  /* First do the common cases. */
+  temp->redirector = source;
+  temp->redirectee = dest_and_filename;
+  temp->instruction = instruction;
+  temp->flags = 0;
+  temp->rflags = flags;
+  temp->next = (REDIRECT *)NULL;
+
+  switch (instruction)
+    {
+
+    case r_output_direction:           /* >foo */
+    case r_output_force:               /* >| foo */
+    case r_err_and_out:                        /* &>filename */
+      temp->flags = O_TRUNC | O_WRONLY | O_CREAT;
+      break;
+
+    case r_appending_to:               /* >>foo */
+    case r_append_err_and_out:         /* &>> filename */
+      temp->flags = O_APPEND | O_WRONLY | O_CREAT;
+      break;
+
+    case r_input_direction:            /* <foo */
+    case r_inputa_direction:           /* foo & makes this. */
+      temp->flags = O_RDONLY;
+      break;
+
+    case r_input_output:               /* <>foo */
+      temp->flags = O_RDWR | O_CREAT;
+      break;
+
+    case r_deblank_reading_until:      /* <<-foo */
+    case r_reading_until:              /* << foo */
+    case r_reading_string:             /* <<< foo */
+    case r_close_this:                 /* <&- */
+    case r_duplicating_input:          /* 1<&2 */
+    case r_duplicating_output:         /* 1>&2 */
+      break;
+
+    /* the parser doesn't pass these. */
+    case r_move_input:                 /* 1<&2- */
+    case r_move_output:                        /* 1>&2- */
+    case r_move_input_word:            /* 1<&$foo- */
+    case r_move_output_word:           /* 1>&$foo- */
+      break;
+
+    /* The way the lexer works we have to do this here. */
+    case r_duplicating_input_word:     /* 1<&$foo */
+    case r_duplicating_output_word:    /* 1>&$foo */
+      w = dest_and_filename.filename;
+      wlen = strlen (w->word) - 1;
+      if (w->word[wlen] == '-')                /* Yuck */
+        {
+          w->word[wlen] = '\0';
+         if (all_digits (w->word) && legal_number (w->word, &lfd) && lfd == (int)lfd)
+           {
+             dispose_word (w);
+             temp->instruction = (instruction == r_duplicating_input_word) ? r_move_input : r_move_output;
+             temp->redirectee.dest = lfd;
+           }
+         else
+           temp->instruction = (instruction == r_duplicating_input_word) ? r_move_input_word : r_move_output_word;
+        }
+          
+      break;
+
+    default:
+      programming_error (_("make_redirection: redirection instruction `%d' out of range"), instruction);
+      abort ();
+      break;
+    }
+  return (temp);
+}
+
+COMMAND *
+make_function_def (name, command, lineno, lstart)
+     WORD_DESC *name;
+     COMMAND *command;
+     int lineno, lstart;
+{
+  FUNCTION_DEF *temp;
+#if defined (ARRAY_VARS)
+  SHELL_VAR *bash_source_v;
+  ARRAY *bash_source_a;
+#endif
+
+  temp = (FUNCTION_DEF *)xmalloc (sizeof (FUNCTION_DEF));
+  temp->command = command;
+  temp->name = name;
+  temp->line = lineno;
+  temp->flags = 0;
+  command->line = lstart;
+
+  /* Information used primarily for debugging. */
+  temp->source_file = 0;
+#if defined (ARRAY_VARS)
+  GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a);
+  if (bash_source_a && array_num_elements (bash_source_a) > 0)
+    temp->source_file = array_reference (bash_source_a, 0);
+#endif
+#if defined (DEBUGGER)
+  bind_function_def (name->word, temp);
+#endif
+
+  temp->source_file = 0;
+  return (make_command (cm_function_def, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_subshell_command (command)
+     COMMAND *command;
+{
+  SUBSHELL_COM *temp;
+
+  temp = (SUBSHELL_COM *)xmalloc (sizeof (SUBSHELL_COM));
+  temp->command = command;
+  temp->flags = CMD_WANT_SUBSHELL;
+  return (make_command (cm_subshell, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_coproc_command (name, command)
+     char *name;
+     COMMAND *command;
+{
+  COPROC_COM *temp;
+
+  temp = (COPROC_COM *)xmalloc (sizeof (COPROC_COM));
+  temp->name = savestring (name);
+  temp->command = command;
+  temp->flags = CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+  return (make_command (cm_coproc, (SIMPLE_COM *)temp));
+}
+
+/* Reverse the word list and redirection list in the simple command
+   has just been parsed.  It seems simpler to do this here the one
+   time then by any other method that I can think of. */
+COMMAND *
+clean_simple_command (command)
+     COMMAND *command;
+{
+  if (command->type != cm_simple)
+    command_error ("clean_simple_command", CMDERR_BADTYPE, command->type, 0);
+  else
+    {
+      command->value.Simple->words =
+       REVERSE_LIST (command->value.Simple->words, WORD_LIST *);
+      command->value.Simple->redirects =
+       REVERSE_LIST (command->value.Simple->redirects, REDIRECT *);
+    }
+
+  parser_state &= ~PST_REDIRLIST;
+  return (command);
+}
+
+/* The Yacc grammar productions have a problem, in that they take a
+   list followed by an ampersand (`&') and do a simple command connection,
+   making the entire list effectively asynchronous, instead of just
+   the last command.  This means that when the list is executed, all
+   the commands have stdin set to /dev/null when job control is not
+   active, instead of just the last.  This is wrong, and needs fixing
+   up.  This function takes the `&' and applies it to the last command
+   in the list.  This is done only for lists connected by `;'; it makes
+   `;' bind `tighter' than `&'. */
+COMMAND *
+connect_async_list (command, command2, connector)
+     COMMAND *command, *command2;
+     int connector;
+{
+  COMMAND *t, *t1, *t2;
+
+  t1 = command;
+  t = command->value.Connection->second;
+
+  if (!t || (command->flags & CMD_WANT_SUBSHELL) ||
+      command->value.Connection->connector != ';')
+    {
+      t = command_connect (command, command2, connector);
+      return t;
+    }
+
+  /* This is just defensive programming.  The Yacc precedence rules
+     will generally hand this function a command where t points directly
+     to the command we want (e.g. given a ; b ; c ; d &, t1 will point
+     to the `a ; b ; c' list and t will be the `d').  We only want to do
+     this if the list is not being executed as a unit in the background
+     with `( ... )', so we have to check for CMD_WANT_SUBSHELL.  That's
+     the only way to tell. */
+  while (((t->flags & CMD_WANT_SUBSHELL) == 0) && t->type == cm_connection &&
+        t->value.Connection->connector == ';')
+    {
+      t1 = t;
+      t = t->value.Connection->second;
+    }
+  /* Now we have t pointing to the last command in the list, and
+     t1->value.Connection->second == t. */
+  t2 = command_connect (t, command2, connector);
+  t1->value.Connection->second = t2;
+  return command;
+}
diff --git a/make_cmd.c~ b/make_cmd.c~
new file mode 100644 (file)
index 0000000..d42f32f
--- /dev/null
@@ -0,0 +1,888 @@
+/* make_cmd.c -- Functions for making instances of the various
+   parser constructs. */
+
+/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "config.h"
+
+#include <stdio.h>
+#include "bashtypes.h"
+#if !defined (_MINIX) && defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif
+#include "filecntl.h"
+#include "bashansi.h"
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "bashintl.h"
+
+#include "parser.h"
+#include "syntax.h"
+#include "command.h"
+#include "general.h"
+#include "error.h"
+#include "flags.h"
+#include "make_cmd.h"
+#include "dispose_cmd.h"
+#include "variables.h"
+#include "subst.h"
+#include "input.h"
+#include "ocache.h"
+#include "externs.h"
+
+#if defined (JOB_CONTROL)
+#include "jobs.h"
+#endif
+
+#include "shmbutil.h"
+
+extern int line_number, current_command_line_count, parser_state;
+extern int last_command_exit_value;
+
+/* Object caching */
+sh_obj_cache_t wdcache = {0, 0, 0};
+sh_obj_cache_t wlcache = {0, 0, 0};
+
+#define WDCACHESIZE    60
+#define WLCACHESIZE    60
+
+static COMMAND *make_for_or_select __P((enum command_type, WORD_DESC *, WORD_LIST *, COMMAND *, int));
+#if defined (ARITH_FOR_COMMAND)
+static WORD_LIST *make_arith_for_expr __P((char *));
+#endif
+static COMMAND *make_until_or_while __P((enum command_type, COMMAND *, COMMAND *));
+
+void
+cmd_init ()
+{
+  ocache_create (wdcache, WORD_DESC, WDCACHESIZE);
+  ocache_create (wlcache, WORD_LIST, WLCACHESIZE);
+}
+
+WORD_DESC *
+alloc_word_desc ()
+{
+  WORD_DESC *temp;
+
+  ocache_alloc (wdcache, WORD_DESC, temp);
+  temp->flags = 0;
+  temp->word = 0;
+  return temp;
+}
+
+WORD_DESC *
+make_bare_word (string)
+     const char *string;
+{
+  WORD_DESC *temp;
+
+  temp = alloc_word_desc ();
+
+  if (*string)
+    temp->word = savestring (string);
+  else
+    {
+      temp->word = (char *)xmalloc (1);
+      temp->word[0] = '\0';
+    }
+
+  return (temp);
+}
+
+WORD_DESC *
+make_word_flags (w, string)
+     WORD_DESC *w;
+     const char *string;
+{
+  register int i;
+  size_t slen;
+  DECLARE_MBSTATE;
+
+  i = 0;
+  slen = strlen (string);
+  while (i < slen)
+    {
+      switch (string[i])
+       {
+       case '$':
+         w->flags |= W_HASDOLLAR;
+         break;
+       case '\\':
+         break;        /* continue the loop */
+       case '\'':
+       case '`':
+       case '"':
+         w->flags |= W_QUOTED;
+         break;
+       }
+
+      ADVANCE_CHAR (string, slen, i);
+    }
+
+  return (w);
+}
+
+WORD_DESC *
+make_word (string)
+     const char *string;
+{
+  WORD_DESC *temp;
+
+  temp = make_bare_word (string);
+  return (make_word_flags (temp, string));
+}
+
+WORD_DESC *
+make_word_from_token (token)
+     int token;
+{
+  char tokenizer[2];
+
+  tokenizer[0] = token;
+  tokenizer[1] = '\0';
+
+  return (make_word (tokenizer));
+}
+
+WORD_LIST *
+make_word_list (word, wlink)
+     WORD_DESC *word;
+     WORD_LIST *wlink;
+{
+  WORD_LIST *temp;
+
+  ocache_alloc (wlcache, WORD_LIST, temp);
+
+  temp->word = word;
+  temp->next = wlink;
+  return (temp);
+}
+
+COMMAND *
+make_command (type, pointer)
+     enum command_type type;
+     SIMPLE_COM *pointer;
+{
+  COMMAND *temp;
+
+  temp = (COMMAND *)xmalloc (sizeof (COMMAND));
+  temp->type = type;
+  temp->value.Simple = pointer;
+  temp->value.Simple->flags = temp->flags = 0;
+  temp->redirects = (REDIRECT *)NULL;
+  return (temp);
+}
+
+COMMAND *
+command_connect (com1, com2, connector)
+     COMMAND *com1, *com2;
+     int connector;
+{
+  CONNECTION *temp;
+
+  temp = (CONNECTION *)xmalloc (sizeof (CONNECTION));
+  temp->connector = connector;
+  temp->first = com1;
+  temp->second = com2;
+  return (make_command (cm_connection, (SIMPLE_COM *)temp));
+}
+
+static COMMAND *
+make_for_or_select (type, name, map_list, action, lineno)
+     enum command_type type;
+     WORD_DESC *name;
+     WORD_LIST *map_list;
+     COMMAND *action;
+     int lineno;
+{
+  FOR_COM *temp;
+
+  temp = (FOR_COM *)xmalloc (sizeof (FOR_COM));
+  temp->flags = 0;
+  temp->name = name;
+  temp->line = lineno;
+  temp->map_list = map_list;
+  temp->action = action;
+  return (make_command (type, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_for_command (name, map_list, action, lineno)
+     WORD_DESC *name;
+     WORD_LIST *map_list;
+     COMMAND *action;
+     int lineno;
+{
+  return (make_for_or_select (cm_for, name, map_list, action, lineno));
+}
+
+COMMAND *
+make_select_command (name, map_list, action, lineno)
+     WORD_DESC *name;
+     WORD_LIST *map_list;
+     COMMAND *action;
+     int lineno;
+{
+#if defined (SELECT_COMMAND)
+  return (make_for_or_select (cm_select, name, map_list, action, lineno));
+#else
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif
+}
+
+#if defined (ARITH_FOR_COMMAND)
+static WORD_LIST *
+make_arith_for_expr (s)
+     char *s;
+{
+  WORD_LIST *result;
+  WORD_DESC *wd;
+
+  if (s == 0 || *s == '\0')
+    return ((WORD_LIST *)NULL);
+  wd = make_word (s);
+  wd->flags |= W_NOGLOB|W_NOSPLIT|W_QUOTED|W_DQUOTE;   /* no word splitting or globbing */
+  result = make_word_list (wd, (WORD_LIST *)NULL);
+  return result;
+}
+#endif
+
+/* Note that this function calls dispose_words on EXPRS, since it doesn't
+   use the word list directly.  We free it here rather than at the caller
+   because no other function in this file requires that the caller free
+   any arguments. */
+COMMAND *
+make_arith_for_command (exprs, action, lineno)
+     WORD_LIST *exprs;
+     COMMAND *action;
+     int lineno;
+{
+#if defined (ARITH_FOR_COMMAND)
+  ARITH_FOR_COM *temp;
+  WORD_LIST *init, *test, *step;
+  char *s, *t, *start;
+  int nsemi, i;
+
+  init = test = step = (WORD_LIST *)NULL;
+  /* Parse the string into the three component sub-expressions. */
+  start = t = s = exprs->word->word;
+  for (nsemi = 0; ;)
+    {
+      /* skip whitespace at the start of each sub-expression. */
+      while (whitespace (*s))
+       s++;
+      start = s;
+      /* skip to the semicolon or EOS */
+      i = skip_to_delim (s, 0, ";", SD_NOJMP);
+      s = start + i;
+
+      t = (i > 0) ? substring (start, 0, i) : (char *)NULL;
+
+      nsemi++;
+      switch (nsemi)
+       {
+       case 1:
+         init = make_arith_for_expr (t);
+         break;
+       case 2:
+         test = make_arith_for_expr (t);
+         break;
+       case 3:
+         step = make_arith_for_expr (t);
+         break;
+       }
+
+      FREE (t);
+      if (*s == '\0')
+       break;
+      s++;     /* skip over semicolon */
+    }
+
+  if (nsemi != 3)
+    {
+      if (nsemi < 3)
+       parser_error (lineno, _("syntax error: arithmetic expression required"));
+      else
+       parser_error (lineno, _("syntax error: `;' unexpected"));
+      parser_error (lineno, _("syntax error: `((%s))'"), exprs->word->word);
+      last_command_exit_value = 2;
+      return ((COMMAND *)NULL);
+    }
+
+  temp = (ARITH_FOR_COM *)xmalloc (sizeof (ARITH_FOR_COM));
+  temp->flags = 0;
+  temp->line = lineno;
+  temp->init = init ? init : make_arith_for_expr ("1");
+  temp->test = test ? test : make_arith_for_expr ("1");
+  temp->step = step ? step : make_arith_for_expr ("1");
+  temp->action = action;
+
+  dispose_words (exprs);
+  return (make_command (cm_arith_for, (SIMPLE_COM *)temp));
+#else
+  dispose_words (exprs);
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif /* ARITH_FOR_COMMAND */
+}
+
+COMMAND *
+make_group_command (command)
+     COMMAND *command;
+{
+  GROUP_COM *temp;
+
+  temp = (GROUP_COM *)xmalloc (sizeof (GROUP_COM));
+  temp->command = command;
+  return (make_command (cm_group, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_case_command (word, clauses, lineno)
+     WORD_DESC *word;
+     PATTERN_LIST *clauses;
+     int lineno;
+{
+  CASE_COM *temp;
+
+  temp = (CASE_COM *)xmalloc (sizeof (CASE_COM));
+  temp->flags = 0;
+  temp->line = lineno;
+  temp->word = word;
+  temp->clauses = REVERSE_LIST (clauses, PATTERN_LIST *);
+  return (make_command (cm_case, (SIMPLE_COM *)temp));
+}
+
+PATTERN_LIST *
+make_pattern_list (patterns, action)
+     WORD_LIST *patterns;
+     COMMAND *action;
+{
+  PATTERN_LIST *temp;
+
+  temp = (PATTERN_LIST *)xmalloc (sizeof (PATTERN_LIST));
+  temp->patterns = REVERSE_LIST (patterns, WORD_LIST *);
+  temp->action = action;
+  temp->next = NULL;
+  temp->flags = 0;
+  return (temp);
+}
+
+COMMAND *
+make_if_command (test, true_case, false_case)
+     COMMAND *test, *true_case, *false_case;
+{
+  IF_COM *temp;
+
+  temp = (IF_COM *)xmalloc (sizeof (IF_COM));
+  temp->flags = 0;
+  temp->test = test;
+  temp->true_case = true_case;
+  temp->false_case = false_case;
+  return (make_command (cm_if, (SIMPLE_COM *)temp));
+}
+
+static COMMAND *
+make_until_or_while (which, test, action)
+     enum command_type which;
+     COMMAND *test, *action;
+{
+  WHILE_COM *temp;
+
+  temp = (WHILE_COM *)xmalloc (sizeof (WHILE_COM));
+  temp->flags = 0;
+  temp->test = test;
+  temp->action = action;
+  return (make_command (which, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_while_command (test, action)
+     COMMAND *test, *action;
+{
+  return (make_until_or_while (cm_while, test, action));
+}
+
+COMMAND *
+make_until_command (test, action)
+     COMMAND *test, *action;
+{
+  return (make_until_or_while (cm_until, test, action));
+}
+
+COMMAND *
+make_arith_command (exp)
+     WORD_LIST *exp;
+{
+#if defined (DPAREN_ARITHMETIC)
+  COMMAND *command;
+  ARITH_COM *temp;
+
+  command = (COMMAND *)xmalloc (sizeof (COMMAND));
+  command->value.Arith = temp = (ARITH_COM *)xmalloc (sizeof (ARITH_COM));
+
+  temp->flags = 0;
+  temp->line = line_number;
+  temp->exp = exp;
+
+  command->type = cm_arith;
+  command->redirects = (REDIRECT *)NULL;
+  command->flags = 0;
+
+  return (command);
+#else
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif
+}
+
+#if defined (COND_COMMAND)
+struct cond_com *
+make_cond_node (type, op, left, right)
+     int type;
+     WORD_DESC *op;
+     struct cond_com *left, *right;
+{
+  COND_COM *temp;
+
+  temp = (COND_COM *)xmalloc (sizeof (COND_COM));
+  temp->flags = 0;
+  temp->line = line_number;
+  temp->type = type;
+  temp->op = op;
+  temp->left = left;
+  temp->right = right;
+
+  return (temp);
+}
+#endif
+
+COMMAND *
+make_cond_command (cond_node)
+     COND_COM *cond_node;
+{
+#if defined (COND_COMMAND)
+  COMMAND *command;
+
+  command = (COMMAND *)xmalloc (sizeof (COMMAND));
+  command->value.Cond = cond_node;
+
+  command->type = cm_cond;
+  command->redirects = (REDIRECT *)NULL;
+  command->flags = 0;
+  command->line = cond_node ? cond_node->line : 0;
+
+  return (command);
+#else
+  last_command_exit_value = 2;
+  return ((COMMAND *)NULL);
+#endif
+}
+
+COMMAND *
+make_bare_simple_command ()
+{
+  COMMAND *command;
+  SIMPLE_COM *temp;
+
+  command = (COMMAND *)xmalloc (sizeof (COMMAND));
+  command->value.Simple = temp = (SIMPLE_COM *)xmalloc (sizeof (SIMPLE_COM));
+
+  temp->flags = 0;
+  temp->line = line_number;
+  temp->words = (WORD_LIST *)NULL;
+  temp->redirects = (REDIRECT *)NULL;
+
+  command->type = cm_simple;
+  command->redirects = (REDIRECT *)NULL;
+  command->flags = 0;
+
+  return (command);
+}
+
+/* Return a command which is the connection of the word or redirection
+   in ELEMENT, and the command * or NULL in COMMAND. */
+COMMAND *
+make_simple_command (element, command)
+     ELEMENT element;
+     COMMAND *command;
+{
+  /* If we are starting from scratch, then make the initial command
+     structure.  Also note that we have to fill in all the slots, since
+     malloc doesn't return zeroed space. */
+  if (command == 0)
+    {
+      command = make_bare_simple_command ();
+      parser_state |= PST_REDIRLIST;
+    }
+
+  if (element.word)
+    {
+      command->value.Simple->words = make_word_list (element.word, command->value.Simple->words);
+      parser_state &= ~PST_REDIRLIST;
+    }
+  else if (element.redirect)
+    {
+      REDIRECT *r = element.redirect;
+      /* Due to the way <> is implemented, there may be more than a single
+        redirection in element.redirect.  We just follow the chain as far
+        as it goes, and hook onto the end. */
+      while (r->next)
+       r = r->next;
+      r->next = command->value.Simple->redirects;
+      command->value.Simple->redirects = element.redirect;
+    }
+
+  return (command);
+}
+
+/* Because we are Bourne compatible, we read the input for this
+   << or <<- redirection now, from wherever input is coming from.
+   We store the input read into a WORD_DESC.  Replace the text of
+   the redirectee.word with the new input text.  If <<- is on,
+   then remove leading TABS from each line. */
+void
+make_here_document (temp, lineno)
+     REDIRECT *temp;
+     int lineno;
+{
+  int kill_leading, redir_len;
+  char *redir_word, *document, *full_line;
+  int document_index, document_size, delim_unquoted;
+
+  if (temp->instruction != r_deblank_reading_until &&
+      temp->instruction != r_reading_until)
+    {
+      internal_error (_("make_here_document: bad instruction type %d"), temp->instruction);
+      return;
+    }
+
+  kill_leading = temp->instruction == r_deblank_reading_until;
+
+  document = (char *)NULL;
+  document_index = document_size = 0;
+
+  /* Quote removal is the only expansion performed on the delimiter
+     for here documents, making it an extremely special case. */
+  redir_word = string_quote_removal (temp->redirectee.filename->word, 0);
+
+  /* redirection_expand will return NULL if the expansion results in
+     multiple words or no words.  Check for that here, and just abort
+     this here document if it does. */
+  if (redir_word)
+    redir_len = strlen (redir_word);
+  else
+    {
+      temp->here_doc_eof = (char *)xmalloc (1);
+      temp->here_doc_eof[0] = '\0';
+      goto document_done;
+    }
+
+  free (temp->redirectee.filename->word);
+  temp->here_doc_eof = redir_word;
+
+  /* Read lines from wherever lines are coming from.
+     For each line read, if kill_leading, then kill the
+     leading tab characters.
+     If the line matches redir_word exactly, then we have
+     manufactured the document.  Otherwise, add the line to the
+     list of lines in the document. */
+
+  /* If the here-document delimiter was quoted, the lines should
+     be read verbatim from the input.  If it was not quoted, we
+     need to perform backslash-quoted newline removal. */
+  delim_unquoted = (temp->redirectee.filename->flags & W_QUOTED) == 0;
+  while (full_line = read_secondary_line (delim_unquoted))
+    {
+      register char *line;
+      int len;
+
+      line = full_line;
+      line_number++;
+
+      /* If set -v is in effect, echo the line read.  read_secondary_line/
+        read_a_line leaves the newline at the end, so don't print another. */
+      if (echo_input_at_read)
+       fprintf (stderr, "%s", line);
+
+      if (kill_leading && *line)
+       {
+         /* Hack:  To be compatible with some Bourne shells, we
+            check the word before stripping the whitespace.  This
+            is a hack, though. */
+         if (STREQN (line, redir_word, redir_len) && line[redir_len] == '\n')
+           goto document_done;
+
+         while (*line == '\t')
+           line++;
+       }
+
+      if (*line == 0)
+       continue;
+
+      if (STREQN (line, redir_word, redir_len) && line[redir_len] == '\n')
+       goto document_done;
+
+      len = strlen (line);
+      if (len + document_index >= document_size)
+       {
+         document_size = document_size ? 2 * (document_size + len) : len + 2;
+         document = (char *)xrealloc (document, document_size);
+       }
+
+      /* len is guaranteed to be > 0 because of the check for line
+        being an empty string before the call to strlen. */
+      FASTCOPY (line, document + document_index, len);
+      document_index += len;
+    }
+
+  if (full_line == 0)
+    internal_warning (_("here-document at line %d delimited by end-of-file (wanted `%s')"), lineno, redir_word);
+
+document_done:
+  if (document)
+    document[document_index] = '\0';
+  else
+    {
+      document = (char *)xmalloc (1);
+      document[0] = '\0';
+    }
+  temp->redirectee.filename->word = document;
+}
+
+/* Generate a REDIRECT from SOURCE, DEST, and INSTRUCTION.
+   INSTRUCTION is the instruction type, SOURCE is a file descriptor,
+   and DEST is a file descriptor or a WORD_DESC *. */
+REDIRECT *
+make_redirection (source, instruction, dest_and_filename, flags)
+     REDIRECTEE source;
+     enum r_instruction instruction;
+     REDIRECTEE dest_and_filename;
+     int flags;
+{
+  REDIRECT *temp;
+  WORD_DESC *w;
+  int wlen;
+  intmax_t lfd;
+
+  temp = (REDIRECT *)xmalloc (sizeof (REDIRECT));
+
+  /* First do the common cases. */
+  temp->redirector = source;
+  temp->redirectee = dest_and_filename;
+  temp->instruction = instruction;
+  temp->flags = 0;
+  temp->rflags = flags;
+  temp->next = (REDIRECT *)NULL;
+
+  switch (instruction)
+    {
+
+    case r_output_direction:           /* >foo */
+    case r_output_force:               /* >| foo */
+    case r_err_and_out:                        /* &>filename */
+      temp->flags = O_TRUNC | O_WRONLY | O_CREAT;
+      break;
+
+    case r_appending_to:               /* >>foo */
+    case r_append_err_and_out:         /* &>> filename */
+      temp->flags = O_APPEND | O_WRONLY | O_CREAT;
+      break;
+
+    case r_input_direction:            /* <foo */
+    case r_inputa_direction:           /* foo & makes this. */
+      temp->flags = O_RDONLY;
+      break;
+
+    case r_input_output:               /* <>foo */
+      temp->flags = O_RDWR | O_CREAT;
+      break;
+
+    case r_deblank_reading_until:      /* <<-foo */
+    case r_reading_until:              /* << foo */
+    case r_reading_string:             /* <<< foo */
+    case r_close_this:                 /* <&- */
+    case r_duplicating_input:          /* 1<&2 */
+    case r_duplicating_output:         /* 1>&2 */
+      break;
+
+    /* the parser doesn't pass these. */
+    case r_move_input:                 /* 1<&2- */
+    case r_move_output:                        /* 1>&2- */
+    case r_move_input_word:            /* 1<&$foo- */
+    case r_move_output_word:           /* 1>&$foo- */
+      break;
+
+    /* The way the lexer works we have to do this here. */
+    case r_duplicating_input_word:     /* 1<&$foo */
+    case r_duplicating_output_word:    /* 1>&$foo */
+      w = dest_and_filename.filename;
+      wlen = strlen (w->word) - 1;
+      if (w->word[wlen] == '-')                /* Yuck */
+        {
+          w->word[wlen] = '\0';
+         if (all_digits (w->word) && legal_number (w->word, &lfd) && lfd == (int)lfd)
+           {
+             dispose_word (w);
+             temp->instruction = (instruction == r_duplicating_input_word) ? r_move_input : r_move_output;
+             temp->redirectee.dest = lfd;
+           }
+         else
+           temp->instruction = (instruction == r_duplicating_input_word) ? r_move_input_word : r_move_output_word;
+        }
+          
+      break;
+
+    default:
+      programming_error (_("make_redirection: redirection instruction `%d' out of range"), instruction);
+      abort ();
+      break;
+    }
+  return (temp);
+}
+
+COMMAND *
+make_function_def (name, command, lineno, lstart)
+     WORD_DESC *name;
+     COMMAND *command;
+     int lineno, lstart;
+{
+  FUNCTION_DEF *temp;
+#if defined (ARRAY_VARS)
+  SHELL_VAR *bash_source_v;
+  ARRAY *bash_source_a;
+#endif
+
+  temp = (FUNCTION_DEF *)xmalloc (sizeof (FUNCTION_DEF));
+  temp->command = command;
+  temp->name = name;
+  temp->line = lineno;
+  temp->flags = 0;
+  command->line = lstart;
+
+  /* Information used primarily for debugging. */
+  temp->source_file = 0;
+#if defined (ARRAY_VARS)
+  GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a);
+  if (bash_source_a && array_num_elements (bash_source_a) > 0)
+    temp->source_file = array_reference (bash_source_a, 0);
+#endif
+#if defined (DEBUGGER)
+  bind_function_def (name->word, temp);
+#endif
+
+  temp->source_file = 0;
+  return (make_command (cm_function_def, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_subshell_command (command)
+     COMMAND *command;
+{
+  SUBSHELL_COM *temp;
+
+  temp = (SUBSHELL_COM *)xmalloc (sizeof (SUBSHELL_COM));
+  temp->command = command;
+  temp->flags = CMD_WANT_SUBSHELL;
+  return (make_command (cm_subshell, (SIMPLE_COM *)temp));
+}
+
+COMMAND *
+make_coproc_command (name, command)
+     char *name;
+     COMMAND *command;
+{
+  COPROC_COM *temp;
+
+  temp = (COPROC_COM *)xmalloc (sizeof (COPROC_COM));
+  temp->name = savestring (name);
+  temp->command = command;
+  temp->flags = CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+  return (make_command (cm_coproc, (SIMPLE_COM *)temp));
+}
+
+/* Reverse the word list and redirection list in the simple command
+   has just been parsed.  It seems simpler to do this here the one
+   time then by any other method that I can think of. */
+COMMAND *
+clean_simple_command (command)
+     COMMAND *command;
+{
+  if (command->type != cm_simple)
+    command_error ("clean_simple_command", CMDERR_BADTYPE, command->type, 0);
+  else
+    {
+      command->value.Simple->words =
+       REVERSE_LIST (command->value.Simple->words, WORD_LIST *);
+      command->value.Simple->redirects =
+       REVERSE_LIST (command->value.Simple->redirects, REDIRECT *);
+    }
+
+  parser_state &= ~PST_REDIRLIST;
+  return (command);
+}
+
+/* The Yacc grammar productions have a problem, in that they take a
+   list followed by an ampersand (`&') and do a simple command connection,
+   making the entire list effectively asynchronous, instead of just
+   the last command.  This means that when the list is executed, all
+   the commands have stdin set to /dev/null when job control is not
+   active, instead of just the last.  This is wrong, and needs fixing
+   up.  This function takes the `&' and applies it to the last command
+   in the list.  This is done only for lists connected by `;'; it makes
+   `;' bind `tighter' than `&'. */
+COMMAND *
+connect_async_list (command, command2, connector)
+     COMMAND *command, *command2;
+     int connector;
+{
+  COMMAND *t, *t1, *t2;
+
+  t1 = command;
+  t = command->value.Connection->second;
+
+  if (!t || (command->flags & CMD_WANT_SUBSHELL) ||
+      command->value.Connection->connector != ';')
+    {
+      t = command_connect (command, command2, connector);
+      return t;
+    }
+
+  /* This is just defensive programming.  The Yacc precedence rules
+     will generally hand this function a command where t points directly
+     to the command we want (e.g. given a ; b ; c ; d &, t1 will point
+     to the `a ; b ; c' list and t will be the `d').  We only want to do
+     this if the list is not being executed as a unit in the background
+     with `( ... )', so we have to check for CMD_WANT_SUBSHELL.  That's
+     the only way to tell. */
+  while (((t->flags & CMD_WANT_SUBSHELL) == 0) && t->type == cm_connection &&
+        t->value.Connection->connector == ';')
+    {
+      t1 = t;
+      t = t->value.Connection->second;
+    }
+  /* Now we have t pointing to the last command in the list, and
+     t1->value.Connection->second == t. */
+  t2 = command_connect (t, command2, connector);
+  t1->value.Connection->second = t2;
+  return command;
+}
index 3ceccc6645903f953ca0ebbc8c393d486cda2330..e4590ebc7127f2705e8ee5d5a0bea506b0c37a11 100644 (file)
@@ -431,7 +431,7 @@ indirection_level_string ()
 
   old = change_flag ('x', FLAG_OFF);
   ps4 = decode_prompt_string (ps4);
-  if (old == FLAG_ON)
+  if (old)
     change_flag ('x', FLAG_ON);
 
   if (ps4 == 0 || *ps4 == '\0')
diff --git a/print_cmd.c~ b/print_cmd.c~
new file mode 100644 (file)
index 0000000..3ceccc6
--- /dev/null
@@ -0,0 +1,1568 @@
+/* print_command -- A way to make readable commands from a command tree. */
+
+/* Copyright (C) 1989-2011 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "config.h"
+
+#include <stdio.h>
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+#    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#if defined (PREFER_STDARG)
+#  include <stdarg.h>
+#else
+#  include <varargs.h>
+#endif
+
+#include "bashansi.h"
+#include "bashintl.h"
+
+#include "shell.h"
+#include "flags.h"
+#include <y.tab.h>     /* use <...> so we pick it up from the build directory */
+
+#include "shmbutil.h"
+
+#include "builtins/common.h"
+
+#if !HAVE_DECL_PRINTF
+extern int printf __P((const char *, ...));    /* Yuck.  Double yuck. */
+#endif
+
+extern int indirection_level;
+
+static int indentation;
+static int indentation_amount = 4;
+
+#if defined (PREFER_STDARG)
+typedef void PFUNC __P((const char *, ...));
+
+static void cprintf __P((const char *, ...))  __attribute__((__format__ (printf, 1, 2)));
+static void xprintf __P((const char *, ...))  __attribute__((__format__ (printf, 1, 2)));
+#else
+#define PFUNC VFunction
+static void cprintf ();
+static void xprintf ();
+#endif
+
+static void reset_locals __P((void));
+static void newline __P((char *));
+static void indent __P((int));
+static void semicolon __P((void));
+static void the_printed_command_resize __P((int));
+
+static void make_command_string_internal __P((COMMAND *));
+static void _print_word_list __P((WORD_LIST *, char *, PFUNC *));
+static void command_print_word_list __P((WORD_LIST *, char *));
+static void print_case_clauses __P((PATTERN_LIST *));
+static void print_redirection_list __P((REDIRECT *));
+static void print_redirection __P((REDIRECT *));
+static void print_heredoc_header __P((REDIRECT *));
+static void print_heredoc_body __P((REDIRECT *));
+static void print_heredocs __P((REDIRECT *));
+static void print_deferred_heredocs __P((const char *));
+
+static void print_for_command __P((FOR_COM *));
+#if defined (ARITH_FOR_COMMAND)
+static void print_arith_for_command __P((ARITH_FOR_COM *));
+#endif
+#if defined (SELECT_COMMAND)
+static void print_select_command __P((SELECT_COM *));
+#endif
+static void print_group_command __P((GROUP_COM *));
+static void print_case_command __P((CASE_COM *));
+static void print_while_command __P((WHILE_COM *));
+static void print_until_command __P((WHILE_COM *));
+static void print_until_or_while __P((WHILE_COM *, char *));
+static void print_if_command __P((IF_COM *));
+#if defined (COND_COMMAND)
+static void print_cond_node __P((COND_COM *));
+#endif
+static void print_function_def __P((FUNCTION_DEF *));
+
+#define PRINTED_COMMAND_INITIAL_SIZE 64
+#define PRINTED_COMMAND_GROW_SIZE 128
+
+char *the_printed_command = (char *)NULL;
+int the_printed_command_size = 0;
+int command_string_index = 0;
+
+int xtrace_fd = -1;
+FILE *xtrace_fp = 0;
+
+#define CHECK_XTRACE_FP        xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
+
+#define PRINT_DEFERRED_HEREDOCS(x) \
+  do { \
+    if (deferred_heredocs) \
+      print_deferred_heredocs (x); \
+  } while (0)
+
+/* Non-zero means the stuff being printed is inside of a function def. */
+static int inside_function_def;
+static int skip_this_indent;
+static int was_heredoc;
+static int printing_connection;
+static REDIRECT *deferred_heredocs;
+
+/* The depth of the group commands that we are currently printing.  This
+   includes the group command that is a function body. */
+static int group_command_nesting;
+
+/* A buffer to indicate the indirection level (PS4) when set -x is enabled. */
+static char *indirection_string = 0;
+static int indirection_stringsiz = 0;
+
+/* Print COMMAND (a command tree) on standard output. */
+void
+print_command (command)
+     COMMAND *command;
+{
+  command_string_index = 0;
+  printf ("%s", make_command_string (command));
+}
+
+/* Make a string which is the printed representation of the command
+   tree in COMMAND.  We return this string.  However, the string is
+   not consed, so you have to do that yourself if you want it to
+   remain around. */
+char *
+make_command_string (command)
+     COMMAND *command;
+{
+  command_string_index = was_heredoc = 0;
+  deferred_heredocs = 0;
+  make_command_string_internal (command);
+  return (the_printed_command);
+}
+
+/* The internal function.  This is the real workhorse. */
+static void
+make_command_string_internal (command)
+     COMMAND *command;
+{
+  char s[3];
+
+  if (command == 0)
+    cprintf ("");
+  else
+    {
+      if (skip_this_indent)
+       skip_this_indent--;
+      else
+       indent (indentation);
+
+      if (command->flags & CMD_TIME_PIPELINE)
+       {
+         cprintf ("time ");
+         if (command->flags & CMD_TIME_POSIX)
+           cprintf ("-p ");
+       }
+
+      if (command->flags & CMD_INVERT_RETURN)
+       cprintf ("! ");
+
+      switch (command->type)
+       {
+       case cm_for:
+         print_for_command (command->value.For);
+         break;
+
+#if defined (ARITH_FOR_COMMAND)
+       case cm_arith_for:
+         print_arith_for_command (command->value.ArithFor);
+         break;
+#endif
+
+#if defined (SELECT_COMMAND)
+       case cm_select:
+         print_select_command (command->value.Select);
+         break;
+#endif
+
+       case cm_case:
+         print_case_command (command->value.Case);
+         break;
+
+       case cm_while:
+         print_while_command (command->value.While);
+         break;
+
+       case cm_until:
+         print_until_command (command->value.While);
+         break;
+
+       case cm_if:
+         print_if_command (command->value.If);
+         break;
+
+#if defined (DPAREN_ARITHMETIC)
+       case cm_arith:
+         print_arith_command (command->value.Arith->exp);
+         break;
+#endif
+
+#if defined (COND_COMMAND)
+       case cm_cond:
+         print_cond_command (command->value.Cond);
+         break;
+#endif
+
+       case cm_simple:
+         print_simple_command (command->value.Simple);
+         break;
+
+       case cm_connection:
+
+         skip_this_indent++;
+         printing_connection++;
+         make_command_string_internal (command->value.Connection->first);
+
+         switch (command->value.Connection->connector)
+           {
+           case '&':
+           case '|':
+             {
+               char c = command->value.Connection->connector;
+
+               s[0] = ' ';
+               s[1] = c;
+               s[2] = '\0';
+               
+               print_deferred_heredocs (s);
+
+               if (c != '&' || command->value.Connection->second)
+                 {
+                   cprintf (" ");
+                   skip_this_indent++;
+                 }
+             }
+             break;
+
+           case AND_AND:
+             print_deferred_heredocs (" && ");
+             if (command->value.Connection->second)
+               skip_this_indent++;
+             break;
+
+           case OR_OR:
+             print_deferred_heredocs (" || ");
+             if (command->value.Connection->second)
+               skip_this_indent++;
+             break;
+
+           case ';':
+             if (deferred_heredocs == 0)
+               {
+                 if (was_heredoc == 0)
+                   cprintf (";");
+                 else
+                   was_heredoc = 0;
+               }
+             else
+               print_deferred_heredocs (inside_function_def ? "" : ";");
+
+             if (inside_function_def)
+               cprintf ("\n");
+             else
+               {
+                 cprintf (" ");
+                 if (command->value.Connection->second)
+                   skip_this_indent++;
+               }
+             break;
+
+           default:
+             cprintf (_("print_command: bad connector `%d'"),
+                      command->value.Connection->connector);
+             break;
+           }
+
+         make_command_string_internal (command->value.Connection->second);
+         PRINT_DEFERRED_HEREDOCS ("");
+         printing_connection--;                  
+         break;
+
+       case cm_function_def:
+         print_function_def (command->value.Function_def);
+         break;
+
+       case cm_group:
+         print_group_command (command->value.Group);
+         break;
+
+       case cm_subshell:
+         cprintf ("( ");
+         skip_this_indent++;
+         make_command_string_internal (command->value.Subshell->command);
+         PRINT_DEFERRED_HEREDOCS ("");
+         cprintf (" )");
+         break;
+
+       case cm_coproc:
+         cprintf ("coproc %s ", command->value.Coproc->name);
+         skip_this_indent++;
+         make_command_string_internal (command->value.Coproc->command);
+         break;
+
+       default:
+         command_error ("print_command", CMDERR_BADTYPE, command->type, 0);
+         break;
+       }
+
+
+      if (command->redirects)
+       {
+         cprintf (" ");
+         print_redirection_list (command->redirects);
+       }
+    }
+}
+
+static void
+_print_word_list (list, separator, pfunc)
+     WORD_LIST *list;
+     char *separator;
+     PFUNC *pfunc;
+{
+  WORD_LIST *w;
+
+  for (w = list; w; w = w->next)
+    (*pfunc) ("%s%s", w->word->word, w->next ? separator : "");
+}
+
+void
+print_word_list (list, separator)
+     WORD_LIST *list;
+     char *separator;
+{
+  _print_word_list (list, separator, xprintf);
+}
+
+void
+xtrace_set (fd, fp)
+     int fd;
+     FILE *fp;
+{
+  if (fd >= 0 && sh_validfd (fd) == 0)
+    {
+      internal_error (_("xtrace_set: %d: invalid file descriptor"), fd);
+      return;
+    }
+  if (fp == 0)
+    {
+      internal_error (_("xtrace_set: NULL file pointer"));
+      return;
+    }
+  if (fd >= 0 && fileno (fp) != fd)
+    internal_warning (_("xtrace fd (%d) != fileno xtrace fp (%d)"), fd, fileno (fp));
+  
+  xtrace_fd = fd;
+  xtrace_fp = fp;
+}
+
+void
+xtrace_init ()
+{
+  xtrace_set (-1, stderr);
+}
+
+void
+xtrace_reset ()
+{
+  if (xtrace_fd >= 0 && xtrace_fp)
+    {
+      fflush (xtrace_fp);
+      fclose (xtrace_fp);
+    }
+  else if (xtrace_fd >= 0)
+    close (xtrace_fd);
+
+  xtrace_fd = -1;
+  xtrace_fp = stderr;
+}
+
+void
+xtrace_fdchk (fd)
+     int fd;
+{
+  if (fd == xtrace_fd)
+    xtrace_reset ();
+}
+
+/* Return a string denoting what our indirection level is. */
+
+char *
+indirection_level_string ()
+{
+  register int i, j;
+  char *ps4;
+  char ps4_firstc[MB_LEN_MAX+1];
+  int ps4_firstc_len, ps4_len, ineed, old;
+
+  ps4 = get_string_value ("PS4");
+  if (indirection_string == 0)
+    indirection_string = xmalloc (indirection_stringsiz = 100);
+  indirection_string[0] = '\0';
+
+  if (ps4 == 0 || *ps4 == '\0')
+    return (indirection_string);
+
+  old = change_flag ('x', FLAG_OFF);
+  ps4 = decode_prompt_string (ps4);
+  if (old == FLAG_ON)
+    change_flag ('x', FLAG_ON);
+
+  if (ps4 == 0 || *ps4 == '\0')
+    return (indirection_string);
+
+#if defined (HANDLE_MULTIBYTE)
+  ps4_len = strnlen (ps4, MB_CUR_MAX);
+  ps4_firstc_len = MBLEN (ps4, ps4_len);
+  if (ps4_firstc_len == 1 || ps4_firstc_len == 0 || ps4_firstc_len < 0)
+    {
+      ps4_firstc[0] = ps4[0];
+      ps4_firstc[ps4_firstc_len = 1] = '\0';
+    }
+  else
+    memcpy (ps4_firstc, ps4, ps4_firstc_len);
+#else
+  ps4_firstc[0] = ps4[0];
+  ps4_firstc[ps4_firstc_len = 1] = '\0';
+#endif
+
+  /* Dynamically resize indirection_string so we have room for everything
+     and we don't have to truncate ps4 */
+  ineed = (ps4_firstc_len * indirection_level) + strlen (ps4);
+  if (ineed > indirection_stringsiz - 1)
+    {
+      indirection_stringsiz = ineed + 1;
+      indirection_string = xrealloc (indirection_string, indirection_stringsiz);
+    }
+
+  for (i = j = 0; ps4_firstc[0] && j < indirection_level && i < indirection_stringsiz - 1; i += ps4_firstc_len, j++)
+    {
+      if (ps4_firstc_len == 1)
+       indirection_string[i] = ps4_firstc[0];
+      else
+       memcpy (indirection_string+i, ps4_firstc, ps4_firstc_len);
+    }      
+
+  for (j = ps4_firstc_len; *ps4 && ps4[j] && i < indirection_stringsiz - 1; i++, j++)
+    indirection_string[i] = ps4[j];
+
+  indirection_string[i] = '\0';
+  free (ps4);
+  return (indirection_string);
+}
+
+void
+xtrace_print_assignment (name, value, assign_list, xflags)
+     char *name, *value;
+     int assign_list, xflags;
+{
+  char *nval;
+
+  CHECK_XTRACE_FP;
+
+  if (xflags)
+    fprintf (xtrace_fp, "%s", indirection_level_string ());
+
+  /* VALUE should not be NULL when this is called. */
+  if (*value == '\0' || assign_list)
+    nval = value;
+  else if (sh_contains_shell_metas (value))
+    nval = sh_single_quote (value);
+  else if (ansic_shouldquote (value))
+    nval = ansic_quote (value, 0, (int *)0);
+  else
+    nval = value;
+
+  if (assign_list)
+    fprintf (xtrace_fp, "%s=(%s)\n", name, nval);
+  else
+    fprintf (xtrace_fp, "%s=%s\n", name, nval);
+
+  if (nval != value)
+    FREE (nval);
+
+  fflush (xtrace_fp);
+}
+
+/* A function to print the words of a simple command when set -x is on. */
+void
+xtrace_print_word_list (list, xtflags)
+     WORD_LIST *list;
+     int xtflags;
+{
+  WORD_LIST *w;
+  char *t, *x;
+
+  CHECK_XTRACE_FP;
+
+  if (xtflags)
+    fprintf (xtrace_fp, "%s", indirection_level_string ());
+
+  for (w = list; w; w = w->next)
+    {
+      t = w->word->word;
+      if (t == 0 || *t == '\0')
+       fprintf (xtrace_fp, "''%s", w->next ? " " : "");
+      else if (sh_contains_shell_metas (t))
+       {
+         x = sh_single_quote (t);
+         fprintf (xtrace_fp, "%s%s", x, w->next ? " " : "");
+         free (x);
+       }
+      else if (ansic_shouldquote (t))
+       {
+         x = ansic_quote (t, 0, (int *)0);
+         fprintf (xtrace_fp, "%s%s", x, w->next ? " " : "");
+         free (x);
+       }
+      else
+       fprintf (xtrace_fp, "%s%s", t, w->next ? " " : "");
+    }
+  fprintf (xtrace_fp, "\n");
+  fflush (xtrace_fp);
+}
+
+static void
+command_print_word_list (list, separator)
+     WORD_LIST *list;
+     char *separator;
+{
+  _print_word_list (list, separator, cprintf);
+}
+
+void
+print_for_command_head (for_command)
+     FOR_COM *for_command;
+{
+  cprintf ("for %s in ", for_command->name->word);
+  command_print_word_list (for_command->map_list, " ");
+}
+
+void
+xtrace_print_for_command_head (for_command)
+     FOR_COM *for_command;
+{
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "for %s in ", for_command->name->word);
+  xtrace_print_word_list (for_command->map_list, 0);
+}
+
+static void
+print_for_command (for_command)
+     FOR_COM *for_command;
+{
+  print_for_command_head (for_command);
+  cprintf (";");
+  newline ("do\n");
+
+  indentation += indentation_amount;
+  make_command_string_internal (for_command->action);
+  PRINT_DEFERRED_HEREDOCS ("");
+  semicolon ();
+  indentation -= indentation_amount;
+
+  newline ("done");
+}
+
+#if defined (ARITH_FOR_COMMAND)
+static void
+print_arith_for_command (arith_for_command)
+     ARITH_FOR_COM *arith_for_command;
+{
+  cprintf ("for ((");
+  command_print_word_list (arith_for_command->init, " ");
+  cprintf ("; ");
+  command_print_word_list (arith_for_command->test, " ");
+  cprintf ("; ");
+  command_print_word_list (arith_for_command->step, " ");
+  cprintf ("))");
+  newline ("do\n");
+  indentation += indentation_amount;
+  make_command_string_internal (arith_for_command->action);
+  PRINT_DEFERRED_HEREDOCS ("");
+  semicolon ();
+  indentation -= indentation_amount;
+  newline ("done");
+}
+#endif /* ARITH_FOR_COMMAND */
+
+#if defined (SELECT_COMMAND)
+void
+print_select_command_head (select_command)
+     SELECT_COM *select_command;
+{
+  cprintf ("select %s in ", select_command->name->word);
+  command_print_word_list (select_command->map_list, " ");
+}
+
+void
+xtrace_print_select_command_head (select_command)
+     SELECT_COM *select_command;
+{
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "select %s in ", select_command->name->word);
+  xtrace_print_word_list (select_command->map_list, 0);
+}
+
+static void
+print_select_command (select_command)
+     SELECT_COM *select_command;
+{
+  print_select_command_head (select_command);
+
+  cprintf (";");
+  newline ("do\n");
+  indentation += indentation_amount;
+  make_command_string_internal (select_command->action);
+  PRINT_DEFERRED_HEREDOCS ("");
+  semicolon ();
+  indentation -= indentation_amount;
+  newline ("done");
+}
+#endif /* SELECT_COMMAND */
+
+static void
+print_group_command (group_command)
+     GROUP_COM *group_command;
+{
+  group_command_nesting++;
+  cprintf ("{ ");
+
+  if (inside_function_def == 0)
+    skip_this_indent++;
+  else
+    {
+      /* This is a group command { ... } inside of a function
+        definition, and should be printed as a multiline group
+        command, using the current indentation. */
+      cprintf ("\n");
+      indentation += indentation_amount;
+    }
+
+  make_command_string_internal (group_command->command);
+  PRINT_DEFERRED_HEREDOCS ("");
+
+  if (inside_function_def)
+    {
+      cprintf ("\n");
+      indentation -= indentation_amount;
+      indent (indentation);
+    }
+  else
+    {
+      semicolon ();
+      cprintf (" ");
+    }
+
+  cprintf ("}");
+
+  group_command_nesting--;
+}
+
+void
+print_case_command_head (case_command)
+     CASE_COM *case_command;
+{
+  cprintf ("case %s in ", case_command->word->word);
+}
+
+void
+xtrace_print_case_command_head (case_command)
+     CASE_COM *case_command;
+{
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "case %s in\n", case_command->word->word);
+}
+
+static void
+print_case_command (case_command)
+     CASE_COM *case_command;
+{
+  print_case_command_head (case_command);
+
+  if (case_command->clauses)
+    print_case_clauses (case_command->clauses);
+  newline ("esac");
+}
+
+static void
+print_case_clauses (clauses)
+     PATTERN_LIST *clauses;
+{
+  indentation += indentation_amount;
+  while (clauses)
+    {
+      newline ("");
+      command_print_word_list (clauses->patterns, " | ");
+      cprintf (")\n");
+      indentation += indentation_amount;
+      make_command_string_internal (clauses->action);
+      indentation -= indentation_amount;
+      PRINT_DEFERRED_HEREDOCS ("");
+      if (clauses->flags & CASEPAT_FALLTHROUGH)
+       newline (";&");
+      else if (clauses->flags & CASEPAT_TESTNEXT)
+       newline (";;&");
+      else
+       newline (";;");
+      clauses = clauses->next;
+    }
+  indentation -= indentation_amount;
+}
+
+static void
+print_while_command (while_command)
+     WHILE_COM *while_command;
+{
+  print_until_or_while (while_command, "while");
+}
+
+static void
+print_until_command (while_command)
+     WHILE_COM *while_command;
+{
+  print_until_or_while (while_command, "until");
+}
+
+static void
+print_until_or_while (while_command, which)
+     WHILE_COM *while_command;
+     char *which;
+{
+  cprintf ("%s ", which);
+  skip_this_indent++;
+  make_command_string_internal (while_command->test);
+  PRINT_DEFERRED_HEREDOCS ("");
+  semicolon ();
+  cprintf (" do\n");   /* was newline ("do\n"); */
+  indentation += indentation_amount;
+  make_command_string_internal (while_command->action);
+  PRINT_DEFERRED_HEREDOCS ("");
+  indentation -= indentation_amount;
+  semicolon ();
+  newline ("done");
+}
+
+static void
+print_if_command (if_command)
+     IF_COM *if_command;
+{
+  cprintf ("if ");
+  skip_this_indent++;
+  make_command_string_internal (if_command->test);
+  semicolon ();
+  cprintf (" then\n");
+  indentation += indentation_amount;
+  make_command_string_internal (if_command->true_case);
+  PRINT_DEFERRED_HEREDOCS ("");
+  indentation -= indentation_amount;
+
+  if (if_command->false_case)
+    {
+      semicolon ();
+      newline ("else\n");
+      indentation += indentation_amount;
+      make_command_string_internal (if_command->false_case);
+      PRINT_DEFERRED_HEREDOCS ("");
+      indentation -= indentation_amount;
+    }
+  semicolon ();
+  newline ("fi");
+}
+
+#if defined (DPAREN_ARITHMETIC)
+void
+print_arith_command (arith_cmd_list)
+     WORD_LIST *arith_cmd_list;
+{
+  cprintf ("((");
+  command_print_word_list (arith_cmd_list, " ");
+  cprintf ("))");
+}
+#endif
+
+#if defined (COND_COMMAND)
+static void
+print_cond_node (cond)
+     COND_COM *cond;
+{
+  if (cond->flags & CMD_INVERT_RETURN)
+    cprintf ("! ");
+
+  if (cond->type == COND_EXPR)
+    {
+      cprintf ("( ");
+      print_cond_node (cond->left);
+      cprintf (" )");
+    }
+  else if (cond->type == COND_AND)
+    {
+      print_cond_node (cond->left);
+      cprintf (" && ");
+      print_cond_node (cond->right);
+    }
+  else if (cond->type == COND_OR)
+    {
+      print_cond_node (cond->left);
+      cprintf (" || ");
+      print_cond_node (cond->right);
+    }
+  else if (cond->type == COND_UNARY)
+    {
+      cprintf ("%s", cond->op->word);
+      cprintf (" ");
+      print_cond_node (cond->left);
+    }
+  else if (cond->type == COND_BINARY)
+    {
+      print_cond_node (cond->left);
+      cprintf (" ");
+      cprintf ("%s", cond->op->word);
+      cprintf (" ");
+      print_cond_node (cond->right);
+    }
+  else if (cond->type == COND_TERM)
+    {
+      cprintf ("%s", cond->op->word);          /* need to add quoting here */
+    }
+}
+
+void
+print_cond_command (cond)
+     COND_COM *cond;
+{
+  cprintf ("[[ ");
+  print_cond_node (cond);
+  cprintf (" ]]");
+}
+
+#ifdef DEBUG
+void
+debug_print_cond_command (cond)
+     COND_COM *cond;
+{
+  fprintf (stderr, "DEBUG: ");
+  command_string_index = 0;
+  print_cond_command (cond);
+  fprintf (stderr, "%s\n", the_printed_command);
+}
+#endif
+
+void
+xtrace_print_cond_term (type, invert, op, arg1, arg2)
+     int type, invert;
+     WORD_DESC *op;
+     char *arg1, *arg2;
+{
+  CHECK_XTRACE_FP;
+  command_string_index = 0;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "[[ ");
+  if (invert)
+    fprintf (xtrace_fp, "! ");
+
+  if (type == COND_UNARY)
+    {
+      fprintf (xtrace_fp, "%s ", op->word);
+      fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''");
+    }
+  else if (type == COND_BINARY)
+    {
+      fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''");
+      fprintf (xtrace_fp, " %s ", op->word);
+      fprintf (xtrace_fp, "%s", (arg2 && *arg2) ? arg2 : "''");
+    }
+
+  fprintf (xtrace_fp, " ]]\n");
+
+  fflush (xtrace_fp);
+}        
+#endif /* COND_COMMAND */
+
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+/* A function to print the words of an arithmetic command when set -x is on. */
+void
+xtrace_print_arith_cmd (list)
+     WORD_LIST *list;
+{
+  WORD_LIST *w;
+
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "(( ");
+  for (w = list; w; w = w->next)
+    fprintf (xtrace_fp, "%s%s", w->word->word, w->next ? " " : "");
+  fprintf (xtrace_fp, " ))\n");
+
+  fflush (xtrace_fp);
+}
+#endif
+
+void
+print_simple_command (simple_command)
+     SIMPLE_COM *simple_command;
+{
+  command_print_word_list (simple_command->words, " ");
+
+  if (simple_command->redirects)
+    {
+      cprintf (" ");
+      print_redirection_list (simple_command->redirects);
+    }
+}
+
+static void
+print_heredocs (heredocs)
+     REDIRECT *heredocs;
+{
+  REDIRECT *hdtail;
+
+  cprintf (" "); 
+  for (hdtail = heredocs; hdtail; hdtail = hdtail->next)
+    {
+      print_redirection (hdtail);
+      cprintf ("\n");
+    }
+  was_heredoc = 1;
+}
+
+/* Print heredocs that are attached to the command before the connector
+   represented by CSTRING.  The parsing semantics require us to print the
+   here-doc delimiters, then the connector (CSTRING), then the here-doc
+   bodies.  We don't print the connector if it's a `;', but we use it to
+   note not to print an extra space after the last heredoc body and
+   newline. */
+static void
+print_deferred_heredocs (cstring)
+     const char *cstring;
+{
+  REDIRECT *hdtail;    
+
+  for (hdtail = deferred_heredocs; hdtail; hdtail = hdtail->next)
+    {
+      cprintf (" ");
+      print_heredoc_header (hdtail);
+    }
+  if (cstring[0] && (cstring[0] != ';' || cstring[1]))
+    cprintf ("%s", cstring); 
+  if (deferred_heredocs)
+    cprintf ("\n");
+  for (hdtail = deferred_heredocs; hdtail; hdtail = hdtail->next)
+    {
+      print_heredoc_body (hdtail);
+      cprintf ("\n");
+    }
+  if (deferred_heredocs)
+    {
+      if (cstring && cstring[0] && (cstring[0] != ';' || cstring[1]))
+       cprintf (" ");  /* make sure there's at least one space */
+      dispose_redirects (deferred_heredocs);
+      was_heredoc = 1;
+    }
+  deferred_heredocs = (REDIRECT *)NULL;
+}
+      
+static void
+print_redirection_list (redirects)
+     REDIRECT *redirects;
+{
+  REDIRECT *heredocs, *hdtail, *newredir;
+
+  heredocs = (REDIRECT *)NULL;
+  hdtail = heredocs;
+
+  was_heredoc = 0;
+  while (redirects)
+    {
+      /* Defer printing the here documents until we've printed the
+        rest of the redirections. */
+      if (redirects->instruction == r_reading_until || redirects->instruction == r_deblank_reading_until)
+       {
+         newredir = copy_redirect (redirects);
+         newredir->next = (REDIRECT *)NULL;
+         if (heredocs)
+           {
+             hdtail->next = newredir;
+             hdtail = newredir;
+           }
+         else
+           hdtail = heredocs = newredir;
+       }
+      else if (redirects->instruction == r_duplicating_output_word && redirects->redirector.dest == 1)
+       {
+         /* Temporarily translate it as the execution code does. */
+         redirects->instruction = r_err_and_out;
+         print_redirection (redirects);
+         redirects->instruction = r_duplicating_output_word;
+       }
+      else
+       print_redirection (redirects);
+
+      redirects = redirects->next;
+      if (redirects)
+       cprintf (" ");
+    }
+
+  /* Now that we've printed all the other redirections (on one line),
+     print the here documents. */
+  if (heredocs && printing_connection)
+    deferred_heredocs = heredocs;
+  else if (heredocs)
+    {
+      print_heredocs (heredocs);
+      dispose_redirects (heredocs);
+    }
+}
+
+static void
+print_heredoc_header (redirect)
+     REDIRECT *redirect;
+{
+  int kill_leading;
+  char *x;
+
+  kill_leading = redirect->instruction == r_deblank_reading_until;
+
+  /* Here doc header */
+  if (redirect->rflags & REDIR_VARASSIGN)
+    cprintf ("{%s}", redirect->redirector.filename->word);
+  else if (redirect->redirector.dest != 0)
+    cprintf ("%d", redirect->redirector.dest);
+
+  /* If the here document delimiter is quoted, single-quote it. */
+  if (redirect->redirectee.filename->flags & W_QUOTED)
+    {
+      x = sh_single_quote (redirect->here_doc_eof);
+      cprintf ("<<%s%s", kill_leading ? "-" : "", x);
+      free (x);
+    }
+  else
+    cprintf ("<<%s%s", kill_leading ? "-" : "", redirect->here_doc_eof);
+}
+
+static void
+print_heredoc_body (redirect)
+     REDIRECT *redirect;
+{
+  /* Here doc body */
+  cprintf ("%s%s", redirect->redirectee.filename->word, redirect->here_doc_eof);
+}
+
+static void
+print_redirection (redirect)
+     REDIRECT *redirect;
+{
+  int redirector, redir_fd;
+  WORD_DESC *redirectee, *redir_word;
+
+  redirectee = redirect->redirectee.filename;
+  redir_fd = redirect->redirectee.dest;
+
+  redir_word = redirect->redirector.filename;
+  redirector = redirect->redirector.dest;
+
+  switch (redirect->instruction)
+    {
+    case r_input_direction:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}", redir_word->word);
+      else if (redirector != 0)
+       cprintf ("%d", redirector);
+      cprintf ("< %s", redirectee->word);
+      break;
+
+    case r_output_direction:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}", redir_word->word);
+      else if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf ("> %s", redirectee->word);
+      break;
+
+    case r_inputa_direction:   /* Redirection created by the shell. */
+      cprintf ("&");
+      break;
+
+    case r_output_force:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}", redir_word->word);
+      else if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf (">|%s", redirectee->word);
+      break;
+
+    case r_appending_to:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}", redir_word->word);
+      else if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf (">> %s", redirectee->word);
+      break;
+
+    case r_input_output:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}", redir_word->word);
+      else if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf ("<> %s", redirectee->word);
+      break;
+
+    case r_deblank_reading_until:
+    case r_reading_until:
+      print_heredoc_header (redirect);
+      cprintf ("\n");
+      print_heredoc_body (redirect);
+      break;
+
+    case r_reading_string:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}", redir_word->word);
+      else if (redirector != 0)
+       cprintf ("%d", redirector);
+#if 0
+      /* Don't need to check whether or not to requote, since original quotes
+         are still intact.  The only thing that has happened is that $'...'
+         has been replaced with 'expanded ...'. */
+      if (ansic_shouldquote (redirect->redirectee.filename->word))
+       {
+         char *x;
+         x = ansic_quote (redirect->redirectee.filename->word, 0, (int *)0);
+         cprintf ("<<< %s", x);
+         free (x);
+       }
+      else
+#endif
+       cprintf ("<<< %s", redirect->redirectee.filename->word);
+      break;
+
+    case r_duplicating_input:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}<&%d", redir_word->word, redir_fd);
+      else
+       cprintf ("%d<&%d", redirector, redir_fd);
+      break;
+
+    case r_duplicating_output:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}>&%d", redir_word->word, redir_fd);
+      else
+       cprintf ("%d>&%d", redirector, redir_fd);
+      break;
+
+    case r_duplicating_input_word:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}<&%s", redir_word->word, redirectee->word);
+      else
+       cprintf ("%d<&%s", redirector, redirectee->word);
+      break;
+
+    case r_duplicating_output_word:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}>&%s", redir_word->word, redirectee->word);
+      else
+       cprintf ("%d>&%s", redirector, redirectee->word);
+      break;
+
+    case r_move_input:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}<&%d-", redir_word->word, redir_fd);
+      else
+       cprintf ("%d<&%d-", redirector, redir_fd);
+      break;
+
+    case r_move_output:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}>&%d-", redir_word->word, redir_fd);
+      else
+       cprintf ("%d>&%d-", redirector, redir_fd);
+      break;
+
+    case r_move_input_word:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}<&%s-", redir_word->word, redirectee->word);
+      else
+       cprintf ("%d<&%s-", redirector, redirectee->word);
+      break;
+
+    case r_move_output_word:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}>&%s-", redir_word->word, redirectee->word);
+      else
+       cprintf ("%d>&%s-", redirector, redirectee->word);
+      break;
+
+    case r_close_this:
+      if (redirect->rflags & REDIR_VARASSIGN)
+       cprintf ("{%s}>&-", redir_word->word);
+      else
+       cprintf ("%d>&-", redirector);
+      break;
+
+    case r_err_and_out:
+      cprintf ("&>%s", redirectee->word);
+      break;
+
+    case r_append_err_and_out:
+      cprintf ("&>>%s", redirectee->word);
+      break;
+    }
+}
+
+static void
+reset_locals ()
+{
+  inside_function_def = 0;
+  indentation = 0;
+  printing_connection = 0;
+  deferred_heredocs = 0;
+}
+
+static void
+print_function_def (func)
+     FUNCTION_DEF *func;
+{
+  COMMAND *cmdcopy;
+  REDIRECT *func_redirects;
+
+  func_redirects = NULL;
+  cprintf ("function %s () \n", func->name->word);
+  add_unwind_protect (reset_locals, 0);
+
+  indent (indentation);
+  cprintf ("{ \n");
+
+  inside_function_def++;
+  indentation += indentation_amount;
+
+  cmdcopy = copy_command (func->command);
+  if (cmdcopy->type == cm_group)
+    {
+      func_redirects = cmdcopy->redirects;
+      cmdcopy->redirects = (REDIRECT *)NULL;
+    }
+  make_command_string_internal (cmdcopy->type == cm_group
+                                       ? cmdcopy->value.Group->command
+                                       : cmdcopy);
+  /* XXX - PRINT_DEFERRED_HEREDOCS (""); ? */
+
+  remove_unwind_protect ();
+  indentation -= indentation_amount;
+  inside_function_def--;
+
+  if (func_redirects)
+    { /* { */
+      newline ("} ");
+      print_redirection_list (func_redirects);
+      cmdcopy->redirects = func_redirects;
+    }
+  else
+    newline ("}");
+
+  dispose_command (cmdcopy);
+}
+
+/* Return the string representation of the named function.
+   NAME is the name of the function.
+   COMMAND is the function body.  It should be a GROUP_COM.
+   flags&FUNC_MULTILINE is non-zero to pretty-print, or zero for all on one line.
+   flags&FUNC_EXTERNAL means convert from internal to external form
+  */
+char *
+named_function_string (name, command, flags)
+     char *name;
+     COMMAND *command;
+     int flags;
+{
+  char *result;
+  int old_indent, old_amount;
+  COMMAND *cmdcopy;
+  REDIRECT *func_redirects;
+
+  old_indent = indentation;
+  old_amount = indentation_amount;
+  command_string_index = was_heredoc = 0;
+  deferred_heredocs = 0;
+
+  if (name && *name)
+    cprintf ("%s ", name);
+
+  cprintf ("() ");
+
+  if ((flags & FUNC_MULTILINE) == 0)
+    {
+      indentation = 1;
+      indentation_amount = 0;
+    }
+  else
+    {
+      cprintf ("\n");
+      indentation += indentation_amount;
+    }
+
+  inside_function_def++;
+
+  cprintf ((flags & FUNC_MULTILINE) ? "{ \n" : "{ ");
+
+  cmdcopy = copy_command (command);
+  /* Take any redirections specified in the function definition (which should
+     apply to the function as a whole) and save them for printing later. */
+  func_redirects = (REDIRECT *)NULL;
+  if (cmdcopy->type == cm_group)
+    {
+      func_redirects = cmdcopy->redirects;
+      cmdcopy->redirects = (REDIRECT *)NULL;
+    }
+  make_command_string_internal (cmdcopy->type == cm_group
+                                       ? cmdcopy->value.Group->command
+                                       : cmdcopy);
+  /* XXX - PRINT_DEFERRED_HEREDOCS (""); ? */
+
+  indentation = old_indent;
+  indentation_amount = old_amount;
+  inside_function_def--;
+
+  if (func_redirects)
+    { /* { */
+      newline ("} ");
+      print_redirection_list (func_redirects);
+      cmdcopy->redirects = func_redirects;
+    }
+  else
+    newline ("}");
+
+  result = the_printed_command;
+
+  if ((flags & FUNC_MULTILINE) == 0)
+    {
+#if 0
+      register int i;
+      for (i = 0; result[i]; i++)
+       if (result[i] == '\n')
+         {
+           strcpy (result + i, result + i + 1);
+           --i;
+         }
+#else
+      if (result[2] == '\n')   /* XXX -- experimental */
+       memmove (result + 2, result + 3, strlen (result) - 2);
+       
+#endif
+    }
+
+  dispose_command (cmdcopy);
+
+  if (flags & FUNC_EXTERNAL)
+    result = remove_quoted_escapes (result);
+
+  return (result);
+}
+
+static void
+newline (string)
+     char *string;
+{
+  cprintf ("\n");
+  indent (indentation);
+  if (string && *string)
+    cprintf ("%s", string);
+}
+
+static char *indentation_string;
+static int indentation_size;
+
+static void
+indent (amount)
+     int amount;
+{
+  register int i;
+
+  RESIZE_MALLOCED_BUFFER (indentation_string, 0, amount, indentation_size, 16);
+
+  for (i = 0; amount > 0; amount--)
+    indentation_string[i++] = ' ';
+  indentation_string[i] = '\0';
+  cprintf (indentation_string);
+}
+
+static void
+semicolon ()
+{
+  if (command_string_index > 0 &&
+       (the_printed_command[command_string_index - 1] == '&' ||
+       the_printed_command[command_string_index - 1] == '\n'))
+    return;
+  cprintf (";");
+}
+
+/* How to make the string. */
+static void
+#if defined (PREFER_STDARG)
+cprintf (const char *control, ...)
+#else
+cprintf (control, va_alist)
+     const char *control;
+     va_dcl
+#endif
+{
+  register const char *s;
+  char char_arg[2], *argp, intbuf[INT_STRLEN_BOUND (int) + 1];
+  int digit_arg, arg_len, c;
+  va_list args;
+
+  SH_VA_START (args, control);
+
+  arg_len = strlen (control);
+  the_printed_command_resize (arg_len + 1);
+
+  char_arg[1] = '\0';
+  s = control;
+  while (s && *s)
+    {
+      c = *s++;
+      argp = (char *)NULL;
+      if (c != '%' || !*s)
+       {
+         char_arg[0] = c;
+         argp = char_arg;
+         arg_len = 1;
+       }
+      else
+       {
+         c = *s++;
+         switch (c)
+           {
+           case '%':
+             char_arg[0] = c;
+             argp = char_arg;
+             arg_len = 1;
+             break;
+
+           case 's':
+             argp = va_arg (args, char *);
+             arg_len = strlen (argp);
+             break;
+
+           case 'd':
+             /* Represent an out-of-range file descriptor with an out-of-range
+                integer value.  We can do this because the only use of `%d' in
+                the calls to cprintf is to output a file descriptor number for
+                a redirection. */
+             digit_arg = va_arg (args, int);
+             if (digit_arg < 0)
+               {
+                 sprintf (intbuf, "%u", (unsigned)-1);
+                 argp = intbuf;
+               }
+             else
+               argp = inttostr (digit_arg, intbuf, sizeof (intbuf));
+             arg_len = strlen (argp);
+             break;
+
+           case 'c':
+             char_arg[0] = va_arg (args, int);
+             argp = char_arg;
+             arg_len = 1;
+             break;
+
+           default:
+             programming_error (_("cprintf: `%c': invalid format character"), c);
+             /*NOTREACHED*/
+           }
+       }
+
+      if (argp && arg_len)
+       {
+         the_printed_command_resize (arg_len + 1);
+         FASTCOPY (argp, the_printed_command + command_string_index, arg_len);
+         command_string_index += arg_len;
+       }
+    }
+
+  the_printed_command[command_string_index] = '\0';
+}
+
+/* Ensure that there is enough space to stuff LENGTH characters into
+   THE_PRINTED_COMMAND. */
+static void
+the_printed_command_resize (length)
+     int length;
+{
+  if (the_printed_command == 0)
+    {
+      the_printed_command_size = (length + PRINTED_COMMAND_INITIAL_SIZE - 1) & ~(PRINTED_COMMAND_INITIAL_SIZE - 1);
+      the_printed_command = (char *)xmalloc (the_printed_command_size);
+      command_string_index = 0;
+    }
+  else if ((command_string_index + length) >= the_printed_command_size)
+    {
+      int new;
+      new = command_string_index + length + 1;
+
+      /* Round up to the next multiple of PRINTED_COMMAND_GROW_SIZE. */
+      new = (new + PRINTED_COMMAND_GROW_SIZE - 1) & ~(PRINTED_COMMAND_GROW_SIZE - 1);
+      the_printed_command_size = new;
+
+      the_printed_command = (char *)xrealloc (the_printed_command, the_printed_command_size);
+    }
+}
+
+#if defined (HAVE_VPRINTF)
+/* ``If vprintf is available, you may assume that vfprintf and vsprintf are
+     also available.'' */
+
+static void
+#if defined (PREFER_STDARG)
+xprintf (const char *format, ...)
+#else
+xprintf (format, va_alist)
+     const char *format;
+     va_dcl
+#endif
+{
+  va_list args;
+
+  SH_VA_START (args, format);
+
+  vfprintf (stdout, format, args);
+  va_end (args);
+}
+
+#else
+
+static void
+xprintf (format, arg1, arg2, arg3, arg4, arg5)
+     const char *format;
+{
+  printf (format, arg1, arg2, arg3, arg4, arg5);
+}
+
+#endif /* !HAVE_VPRINTF */
diff --git a/subst.c b/subst.c
index 23632b3b0db5087f9497cd2c4c9806a3597f7811..32e9cfc04fed3b32bfe1b93e9dc856838b8142ac 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -6593,7 +6593,8 @@ parameter_brace_patsub (varname, value, ind, patsub, quoted, flags)
   vtype &= ~VT_STARSUB;
 
   mflags = 0;
-  if (patsub && *patsub == '/')
+  /* PATSUB is never NULL when this is called. */
+  if (*patsub == '/')
     {
       mflags |= MATCH_GLOBREP;
       patsub++;
@@ -6611,12 +6612,6 @@ parameter_brace_patsub (varname, value, ind, patsub, quoted, flags)
 
   /* If the pattern starts with a `/', make sure we skip over it when looking
      for the replacement delimiter. */
-#if 0
-  if (rep = quoted_strchr ((*patsub == '/') ? lpatsub+1 : lpatsub, '/', ST_BACKSL))
-    *rep++ = '\0';
-  else
-    rep = (char *)NULL;
-#else
   delim = skip_to_delim (lpatsub, ((*patsub == '/') ? 1 : 0), "/", 0);
   if (lpatsub[delim] == '/')
     {
@@ -6625,7 +6620,6 @@ parameter_brace_patsub (varname, value, ind, patsub, quoted, flags)
     }
   else
     rep = (char *)NULL;
-#endif
 
   if (rep && *rep == '\0')
     rep = (char *)NULL;
@@ -6995,7 +6989,7 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
     }
   else if (c == ':' && string[sindex] != RBRACE)
     want_substring = 1;
-  else if (c == '/' && string[sindex] != RBRACE)
+  else if (c == '/' /* && string[sindex] != RBRACE */) /* XXX */
     want_patsub = 1;
 #if defined (CASEMOD_EXPANSIONS)
   else if (c == '^' || c == ',' || c == '~')
@@ -8136,7 +8130,7 @@ add_string:
          if (tword && (tword->flags & W_HASQUOTEDNULL))
            had_quoted_null = 1;
 
-         temp = tword->word;
+         temp = tword ? tword->word : (char *)NULL;
          dispose_word_desc (tword);
 
          goto add_string;
index 3efcf32d68e9722024b6ca9d67f9e81b2aa5ac04..72ec06a2c1fd8dde92acea5e8ac773e35f1d061b 100755 (executable)
@@ -1,4 +1,4 @@
-BUILD_DIR=/usr/local/build/chet/bash/bash-current
+BUILD_DIR=/usr/local/build/bash/bash-current
 THIS_SH=$BUILD_DIR/bash
 PATH=$PATH:$BUILD_DIR
 
index 44941103f948018addc35209dc908a563b468c90..5b25c5eb8ce856406e2b352c80330b84de4b50fc 100644 (file)
@@ -72,3 +72,15 @@ fx ()
 2
 20
 20
+12345678 987654321 012345678 987654321 012345678 987654321 012345678 987654321 012345678 987654321 012345678 
+12345678 987654321 012345678 987654321 012345678 987654321 012345678 987654321 012345678 987654321 012345678 
+4
+3
+2
+1
+0
+4
+3
+2
+1
+0
index 585aa5133e2d2704e6c4560a62b5ab233eb6d28c..00e2d4aedab7875a698f6ed5cb4e7d62f9c95ce7 100644 (file)
@@ -92,3 +92,22 @@ echo $i
 
 for     ((i=0; i < 20; i++)) { : ; }
 echo $i
+
+# added post-bash-4.2
+for (( i = j = k = 1; i % 9 || (j *= -1, $( ((i%9)) || printf " " >&2; echo 0), k++ <= 10); i += j ))
+do
+printf "$i"
+done
+
+echo
+
+( for (( i = j = k = 1; i % 9 || (j *= -1, $( ((i%9)) || printf " " >&2; echo 0), k++ <= 10); i += j ))
+do
+printf "$i"
+done )
+
+echo
+
+for (( i = 4; ;i--)) ; do echo $i; if (( $i == 0 )); then break; fi; done
+
+for (( i = 4;;i--)) ; do echo $i; if (( $i == 0 )); then break; fi; done
diff --git a/tests/arith-for.tests~ b/tests/arith-for.tests~
new file mode 100644 (file)
index 0000000..585aa51
--- /dev/null
@@ -0,0 +1,94 @@
+fx()
+{
+i=0
+for (( ; i < 3; i++ ))
+do
+       echo $i
+done
+
+for (( i=0; ; i++ ))
+do
+       if (( i >= 3 )); then
+               break;
+       fi
+       echo $i
+done
+
+for (( i=0; i<3; ))
+do
+       echo $i
+       (( i++ ))
+done
+
+i=0
+for (( ; ; ))
+do
+       if (( i > 2 )); then
+               break;
+       fi
+       echo $i;
+       (( i++ ))
+done
+
+i=0
+for ((;;))
+do
+       if (( i > 2 )); then
+               break;
+       fi
+       echo $i;
+       (( i++ ))
+done
+}
+
+for (( i=0; "i < 3" ; i++ ))
+do
+       echo $i
+done
+
+i=0
+for (( ; "i < 3"; i++ ))
+do
+       echo $i
+done
+
+for (( i=0; ; i++ ))
+do
+       if (( i >= 3 )); then
+               break;
+       fi
+       echo $i
+done
+
+for ((i = 0; ;i++ ))
+do
+       echo $i
+       if (( i < 3 )); then
+               (( i++ ))
+               continue;
+       fi
+       break
+done
+
+type fx
+fx
+
+# errors 
+for (( i=0; "i < 3" ))
+do
+       echo $i
+done
+echo $?
+
+for (( i=0; i < 3; i++; 7 ))
+do
+       echo $i
+done
+echo $?
+
+# one-liners added in post-bash-2.04
+for     ((i=0; i < 20; i++)) do : ; done
+echo $i
+
+for     ((i=0; i < 20; i++)) { : ; }
+echo $i
index 94e5f61f70c595cfb47448c9de93c0351f470a23..9b928e1c17e897f6ecf35b620985b40a4500123f 100644 (file)
@@ -205,14 +205,30 @@ ok
 0
 1
 2147483649
+0
+0
+0
+0
+0
+0
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
 8 12
-./arith.tests: line 279: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
-./arith.tests: line 283: a b: syntax error in expression (error token is "b")
-./arith.tests: line 284: ((: a b: syntax error in expression (error token is "b")
+./arith.tests: line 283: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
+./arith.tests: line 287: a b: syntax error in expression (error token is "b")
+./arith.tests: line 288: ((: a b: syntax error in expression (error token is "b")
 42
 42
 42
 42
 42
 42
-./arith.tests: line 295: b[c]d: syntax error in expression (error token is "d")
+./arith.tests: line 299: b[c]d: syntax error in expression (error token is "d")
index 86c24a47c2296d29201608a81ab25aeec4804612..d96e82fafc76c4fda00e770cb17c2beb4557c0e8 100644 (file)
@@ -268,6 +268,10 @@ ${THIS_SH} ./arith4.sub
 # make sure arithmetic expansion handles ints > 2**31 - 1 using intmax_t
 echo $(( 2147483645 + 4 ))
 
+# other tests using INTMAX_MIN and INTMAX_MAX that cause exceptions if not
+# handled correctly -- problem through bash-4.2
+${THIS_SH} ./arith5.sub
+
 x=4
 y=7
 
diff --git a/tests/arith5.sub b/tests/arith5.sub
new file mode 100644 (file)
index 0000000..e58ba44
--- /dev/null
@@ -0,0 +1,52 @@
+intmax_max=$((2**63 - 1))
+intmax_min1=$((2**63))
+intmax_min2=$((-2**63))
+
+case $intmax_max in
+9223372036854775807)   ;;
+*)             echo "warning: your machine does not support 64-bit arithmetic using intmax_t" 2>&1 ;;
+esac
+
+# these are actually the same
+echo $(( $intmax_min1 % -1 ))
+echo $(( $intmax_min2 % -1 ))
+
+echo $(( $intmax_max % -1 ))
+
+lvalue=$intmax_min1
+(( lvalue%= -1 ))
+echo $lvalue
+
+lvalue=$intmax_min2
+(( lvalue%= -1 ))
+echo $lvalue
+
+lvalue=$intmax_max
+(( lvalue%= -1 ))
+echo $lvalue
+
+# and these
+echo $(( $intmax_min1 / -1 ))
+echo $(( $intmax_min2 / -1 ))
+
+lvalue=$intmax_min1
+(( lvalue /= -1 ))
+echo $lvalue
+
+lvalue=$intmax_min2
+(( lvalue /= -1 ))
+echo $lvalue
+
+echo $(( $intmax_min1 * -1 ))
+echo $(( $intmax_min2 * -1 ))
+
+lvalue=$intmax_min1
+(( lvalue *= -1 ))
+echo $lvalue
+
+lvalue=$intmax_min2
+(( lvalue *= -1 ))
+echo $lvalue
+
+echo $(( -${intmax_min1} ))
+echo $(( -${intmax_min2} ))
index 08df3df5ff2a685097185cfa5bde93587c5c70e5..4ce6743ec62fcc2729885cfe9e35557ea8b38f6f 100644 (file)
@@ -81,6 +81,10 @@ argv[1] = <bc>
 argv[1] = <c>
 argv[1] = <ab>
 argv[1] = <ab>
+argv[1] = <aacc>
+argv[1] = <aacc>
+argv[1] = <aabbcc>
+argv[1] = <aabbcc>
 argv[1] = <Oenophile>
 argv[1] = <OEnOphIlE>
 argv[1] = <>
index 421e97dbc2f6f34a782d7284cdb8d0194c646c8e..5631ea50ae52a733828465ef20daa6f445413ff3 100644 (file)
@@ -14,6 +14,19 @@ recho ${f/""a""b/}
 recho ${f/""c/}
 recho ${f/"$v"c/}
 
+unset foo empty
+foo=aabbcc
+
+recho ${foo/bb/}
+recho ${foo/bb/$empty}
+
+recho ${foo/}
+recho ${empty/}
+
+recho ${foo/ }
+recho ${empty/ }
+unset foo empty
+
 S2=oenophile
 
 recho ${S2^"$v"[aeiou]}