]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
fix for fdflags loadable builtin; new strptime loadable builtin; enable -f doesn...
authorChet Ramey <chet.ramey@case.edu>
Fri, 24 Nov 2023 17:39:17 +0000 (12:39 -0500)
committerChet Ramey <chet.ramey@case.edu>
Fri, 24 Nov 2023 17:39:17 +0000 (12:39 -0500)
35 files changed:
CWRU/CWRU.chlog
MANIFEST
aclocal.m4
builtins/enable.def
config.h.in
configure
configure.ac
doc/bash.0
doc/bash.1
doc/bash.info
doc/bash.pdf
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.cp
doc/bashref.cps
doc/bashref.fn
doc/bashref.fns
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.texi
doc/bashref.toc
examples/loadables/Makefile.in
examples/loadables/fdflags.c
examples/loadables/strptime.c [new file with mode: 0644]
lib/intl/Makefile.in
lib/intl/vasnprintf.c
lib/malloc/malloc.c
lib/malloc/sbrk.c [new file with mode: 0644]
lib/readline/complete.c
lib/sh/fmtulong.c
lib/sh/snprintf.c
po/ro.gmo
po/ro.po

index ad9dd077f2973175027d35567f6624785c9a791b..73906e1c351460e382ff600ddba6429acc108db9 100644 (file)
@@ -6705,6 +6705,9 @@ trap.c
        - _run_trap_internal,run_exit_trap: save and restore BASH_TRAPSIG;
          make sure it's set appropriately
 
+doc/bash.1,doc/bashref.texi
+       - BASH_TRAPSIG: document
+
 builtins/declare.def
        - declare_internal: if declare is supplied -f and an argument that
          looks like an assignment statement, fail only if there is not a
@@ -7995,3 +7998,34 @@ builtins/enable.def
          slash in BASH_LOADABLES_PATH, convert it to a pathname with a slash
          before calling dlopen, to force the loader to look in the current
          directory (Linux, for example, will not).
+
+                                  11/14
+                                  -----
+examples/loadables/fdflags.c
+       - fdflags_builtin: only parse the setspec once, since parsing uses
+         strtok.
+         Report and patch from Emanuele Torre <torreemanuele6@gmail.com>
+
+                                  11/15
+                                  -----
+builtins/enable.def
+       - dyn_load_builtin: if BASH_LOADABLES_PATH is set, use only it: don't
+         fall back to looking in the current directory. This changes the
+         historical behavior and brings the path behavior more in line with
+         PATH, but not CDPATH.
+
+                                  11/20
+                                  -----
+lib/readline/complete.c
+       - rl_complete_internal: add `|' as a character for rl_complete_internal
+         that also just displays the completions, since `%' is overloaded by
+         rl_menu_complete
+
+                                  11/23
+                                  -----
+examples/loadables/strptime.c
+       - strptime: new loadable builtin, interface to strptime(3). Takes a
+         date-time string as its arguments and tries to parse it according
+         to a number of built-in formats. If successful, it outputs the
+         result as a number of seconds since the epoch. Understands some
+         handy shorthands like "now" and "tomorrow".
index 8bb4a99ec831679b06077deafc9338c44b26fc05..49e69fe454e041fe0cc01fcb8fd73b546250ee91 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -338,6 +338,7 @@ lib/malloc/trace.c  f
 lib/malloc/watch.c     f
 lib/malloc/xmalloc.c   f
 lib/malloc/xleaktrace  f       755
+lib/malloc/sbrk.c      f
 lib/malloc/stub.c      f
 lib/malloc/i386-alloca.s       f
 lib/malloc/x386-alloca.s       f
@@ -767,6 +768,7 @@ examples/loadables/seq.c    f
 examples/loadables/setpgid.c   f
 examples/loadables/sleep.c     f
 examples/loadables/strftime.c  f
+examples/loadables/strptime.c  f
 examples/loadables/truefalse.c f
 examples/loadables/getconf.h   f
 examples/loadables/getconf.c   f
index 26af88aa062a236a4306297db5a4c8340eca38ce..67ffa5b57addcd827e32cd2917c84cb49add7cc9 100644 (file)
@@ -2188,6 +2188,43 @@ main(int c, char **v)
   fi
 ])
 
+AC_DEFUN([BASH_FUNC_BRK],
+[
+  AC_MSG_CHECKING([for brk])
+  AC_CACHE_VAL(ac_cv_func_brk,
+  [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+               [[#include <unistd.h>]],
+               [[ void *x = brk (0); ]])],
+       [ac_cv_func_brk=yes],[ac_cv_func_brk=no])])
+  AC_MSG_RESULT($ac_cv_func_brk)
+  if test X$ac_cv_func_brk = Xyes; then
+    AC_CACHE_CHECK([for working brk], [bash_cv_func_brk],
+      [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int c, char **v)
+{
+       void *x;
+
+       x = brk (0);
+       exit ((x == (void *)-1) ? 1 : 0);
+}
+]])],[bash_cv_func_brk=yes],[bash_cv_func_brk=no],[AC_MSG_WARN([cannot check working brk if cross-compiling])
+    bash_cv_func_brk=yes
+])])
+    if test $bash_cv_func_brk = no; then
+      ac_cv_func_brk=no
+    fi
+  fi
+  if test $ac_cv_func_brk = yes; then
+    AC_DEFINE(HAVE_BRK, 1,
+      [Define if you have a working brk function.])
+  fi
+])
+
 AC_DEFUN(BASH_FUNC_FNMATCH_EQUIV_FALLBACK,
 [AC_MSG_CHECKING(whether fnmatch can be used to check bracket equivalence classes)
 AC_CACHE_VAL(bash_cv_fnmatch_equiv_fallback,
index bb49fe3185a7e2d40cca5a41f7051d927fa7efc4..136884bf59eff13a90829a216b323f16413aa791 100644 (file)
@@ -347,38 +347,32 @@ dyn_load_builtin (WORD_LIST *list, int flags, char *filename)
 #define RTLD_LAZY 1
 #endif
 
-  handle = 0;
-  if (absolute_program (filename) == 0)
-    {
-      loadables_path = path_value ("BASH_LOADABLES_PATH", 1);
-      if (loadables_path)
-       {
-         load_path = find_in_path (filename, loadables_path, FS_NODIRS|FS_EXEC_PREFERRED);
-         if (load_path)
-           {
 #if defined (_AIX)
-             handle = dlopen (load_path, RTLD_NOW|RTLD_GLOBAL);
+#  define DLFLAGS (RTLD_NOW|RTLD_GLOBAL)
 #else
-             handle = dlopen (load_path, RTLD_LAZY);
+#  define DLFLAGS RTLD_LAZY
 #endif /* !_AIX */
-             free (load_path);
-           }
+
+  handle = 0;
+  if (absolute_program (filename))
+    handle = dlopen (filename, DLFLAGS);
+  else if (loadables_path = path_value ("BASH_LOADABLES_PATH", 1))
+    {
+      /* If we have a loadables path, don't fall back to the current directory. */
+      load_path = find_in_path (filename, loadables_path, FS_NODIRS|FS_EXEC_PREFERRED);
+      if (load_path)
+       {
+         handle = dlopen (load_path, DLFLAGS);
+         free (load_path);
        }
     }
-
-  /* Fall back to current directory for now */
-  if (handle == 0)
+  else         /* no loadables path, look in current directory */
     {
       char *openname;
 
-      openname = absolute_program (filename) ? filename : make_absolute (filename, ".");
-#if defined (_AIX)
-      handle = dlopen (openname, RTLD_NOW|RTLD_GLOBAL);
-#else
-      handle = dlopen (openname, RTLD_LAZY);
-#endif /* !_AIX */
-      if (openname != filename)
-       free (openname);
+      openname = make_absolute (filename, ".");
+      handle = dlopen (openname, DLFLAGS);
+      free (openname);
     }
 
   if (handle == 0)
index ebf3b8f470c4acf742c98fc81728886ce0e13354..f0c8be79dc0a26be8c8e426fba5667a5e1510dfb 100644 (file)
 /* Define if you have <linux/audit.h> and it defines AUDIT_USER_TTY */
 #undef HAVE_DECL_AUDIT_USER_TTY
 
+#undef HAVE_DECL_BRK
+
 #undef HAVE_DECL_CONFSTR
 
 #undef HAVE_DECL_PRINTF
 /* Define if you have the bcopy function.  */
 #undef HAVE_BCOPY
 
+/* Define if you have the brk function. */
+#undef HAVE_BRK
+
 /* Define if you have the bzero function.  */
 #undef HAVE_BZERO
 
index 8f855379d6d0e4b75d0fe3dc93f6658ad3d48fd7..30c2315dc4670e87c1e25b46e9b26ab960ce3f89 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac for Bash 5.3, version 5.057.
+# From configure.ac for Bash 5.3, version 5.059.
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.71 for bash 5.3-devel.
 #
@@ -15848,6 +15848,15 @@ else $as_nop
 fi
 printf "%s\n" "#define HAVE_DECL_PRINTF $ac_have_decl" >>confdefs.h
 
+ac_fn_check_decl "$LINENO" "brk" "ac_cv_have_decl_brk" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_brk" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_BRK $ac_have_decl" >>confdefs.h
+
 ac_fn_check_decl "$LINENO" "sbrk" "ac_cv_have_decl_sbrk" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
 if test "x$ac_cv_have_decl_sbrk" = xyes
 then :
@@ -15922,7 +15931,7 @@ else $as_nop
 int
 main (void)
 {
-long double r; char *foo, bar; r = strtold(foo, &bar);
+long double r; char *foo, *bar; r = strtold(foo, &bar);
 
   ;
   return 0;
@@ -20099,6 +20108,89 @@ printf "%s\n" "#define HAVE_SBRK 1" >>confdefs.h
   fi
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for brk" >&5
+printf %s "checking for brk... " >&6; }
+  if test ${ac_cv_func_brk+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+int
+main (void)
+{
+ void *x = brk (0);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_func_brk=yes
+else $as_nop
+  ac_cv_func_brk=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_brk" >&5
+printf "%s\n" "$ac_cv_func_brk" >&6; }
+  if test X$ac_cv_func_brk = Xyes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working brk" >&5
+printf %s "checking for working brk... " >&6; }
+if test ${bash_cv_func_brk+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot check working brk if cross-compiling" >&5
+printf "%s\n" "$as_me: WARNING: cannot check working brk if cross-compiling" >&2;}
+    bash_cv_func_brk=yes
+
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int c, char **v)
+{
+       void *x;
+
+       x = brk (0);
+       exit ((x == (void *)-1) ? 1 : 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  bash_cv_func_brk=yes
+else $as_nop
+  bash_cv_func_brk=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_brk" >&5
+printf "%s\n" "$bash_cv_func_brk" >&6; }
+    if test $bash_cv_func_brk = no; then
+      ac_cv_func_brk=no
+    fi
+  fi
+  if test $ac_cv_func_brk = yes; then
+
+printf "%s\n" "#define HAVE_BRK 1" >>confdefs.h
+
+  fi
+
+
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the existence of strsignal" >&5
 printf %s "checking for the existence of strsignal... " >&6; }
 if test ${bash_cv_have_strsignal+y}
index fa5f57473d0f7b92b62b9e0c2c1c1feec0b4aa0e..c25a8088e65ccb217a94a7dde2aed9e708421342 100644 (file)
@@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_REVISION([for Bash 5.3, version 5.057])dnl
+AC_REVISION([for Bash 5.3, version 5.059])dnl
 
 define(bashvers, 5.3)
 define(relstatus, devel)
@@ -884,6 +884,7 @@ AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
 
 AC_CHECK_DECLS([confstr])
 AC_CHECK_DECLS([printf])
+AC_CHECK_DECLS([brk])
 AC_CHECK_DECLS([sbrk])
 AC_CHECK_DECLS([setregid])
 AC_CHECK_DECLS([strcpy])
@@ -898,7 +899,7 @@ AC_CHECK_DECLS([strtold], [
        [AC_COMPILE_IFELSE(
                [AC_LANG_PROGRAM(
                [[#include <stdlib.h>]],
-               [[long double r; char *foo, bar; r = strtold(foo, &bar);]]
+               [[long double r; char *foo, *bar; r = strtold(foo, &bar);]]
        )],
        [bash_cv_strtold_broken=no],[bash_cv_strtold_broken=yes])
         ]
@@ -1072,6 +1073,7 @@ BASH_STAT_TIME
 
 dnl checks for system calls
 BASH_FUNC_SBRK
+BASH_FUNC_BRK
 
 dnl presence and behavior of C library functions
 BASH_FUNC_STRSIGNAL
index f280c69db2b987b06dc1d5c0cd5d4c3760032ec6..3c0b297906150a7391094ab038864c01c1df8a8a 100644 (file)
@@ -1214,7 +1214,7 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               value  of this variable specifies the sort criteria and sort or-
               der for the results of pathname expansion.  If this variable  is
               unset  or  set  to  the null string, pathname expansion uses the
-              historial behavior of sorting by name.  If set,  a  valid  value
+              historical behavior of sorting by name.  If set, a  valid  value
               begins  with  an  optional  _\b+, which is ignored, or _\b-, which re-
               verses the sort order from ascending to descending, followed  by
               a  sort  specifier.   The  valid sort specifiers are _\bn_\ba_\bm_\be, _\bs_\bi_\bz_\be,
@@ -5127,184 +5127,185 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
               B\bBa\bas\bsh\bh will use the value of the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a
               colon-separated list of directories in which to search for _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.  The default is  system-dependent.   The  -\b-d\bd  option  will
-              delete  a  builtin  previously loaded with -\b-f\bf.  If no _\bn_\ba_\bm_\be argu-
-              ments are given, or if the -\b-p\bp option  is  supplied,  a  list  of
-              shell  builtins is printed.  With no other option arguments, the
-              list consists of all enabled shell builtins.  If -\b-n\bn is supplied,
-              only disabled builtins are printed.  If -\b-a\ba is supplied, the list
-              printed includes all builtins, with an indication of whether  or
-              not  each  is  enabled.   If  -\b-s\bs  is supplied, the output is re-
-              stricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  If no options are  sup-
-              plied  and a _\bn_\ba_\bm_\be is not a shell builtin, e\ben\bna\bab\bbl\ble\be will attempt to
-              load _\bn_\ba_\bm_\be from a shared object named _\bn_\ba_\bm_\be,  as  if  the  command
-              were  ``enable  -f  _\bn_\ba_\bm_\be  _\bn_\ba_\bm_\be .  The return value is 0 unless a
-              _\bn_\ba_\bm_\be is not a shell builtin or there is an error loading  a  new
-              builtin from a shared object.
+              _\bn_\ba_\bm_\be, if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash.  The default is sys-
+              tem-dependent, and may include "." to force a search of the cur-
+              rent directory.  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  arguments,  the  list consists of all enabled
+              shell builtins.  If -\b-n\bn is supplied, only disabled  builtins  are
+              printed.   If  -\b-a\ba  is  supplied,  the  list printed includes all
+              builtins, with an indication of whether or not each is  enabled.
+              If -\b-s\bs is supplied, the output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl
+              builtins.  If no options are supplied and a _\bn_\ba_\bm_\be is not a  shell
+              builtin,  e\ben\bna\bab\bbl\ble\be  will attempt to load _\bn_\ba_\bm_\be from a shared object
+              named _\bn_\ba_\bm_\be, as if the command were ``enable -f _\bn_\ba_\bm_\be _\bn_\ba_\bm_\be .   The
+              return  value is 0 unless a _\bn_\ba_\bm_\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 _\bl_\bo_\b-
-              _\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be  executed  with
-              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
+              _\bg_\bi_\bn(1)  does.   The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
+              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be executed for some reason, a non-interactive shell exits,
-              unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that  case,  it
-              returns  failure.   An  interactive shell returns failure if the
-              file cannot be executed.  A subshell  exits  unconditionally  if
-              e\bex\bxe\bec\b fails.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections take
-              effect in the current shell, and the return  status  is  0.   If
+              not be executed for some reason, a non-interactive shell  exits,
+              unless  the  e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that case, it
+              returns failure.  An interactive shell returns  failure  if  the
+              file  cannot  be  executed.  A subshell exits unconditionally if
+              e\bex\bxe\bec\bfails.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections  take
+              effect  in  the  current  shell, and the return status is 0.  If
               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\bfa\bal\bls\bse\be  Does nothing, returns a non-zero status.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              The first form selects a range of commands from  _\bf_\bi_\br_\bs_\bt  to  _\bl_\ba_\bs_\bt
-              from  the  history  list  and  displays or edits and re-executes
-              them.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a  string  (to  locate
-              the  last command beginning with that string) or as a number (an
-              index into the history list, where a negative number is used  as
-              an  offset  from  the  current command number).  When listing, a
-              _\bf_\bi_\br_\bs_\bor _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is  equivalent  to
-              the  current  command  (usually  the f\bfc\bc command); otherwise 0 is
-              equivalent to -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is  not  specified,
-              it  is  set  to the current command for listing (so that ``fc -l
-              -10'' prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt  otherwise.   If
-              _\bf_\bi_\br_\bs_\b is  not  specified, it is set to the previous command for
+              The  first  form  selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
+              from the history list and  displays  or  edits  and  re-executes
+              them.   _\bF_\bi_\br_\bs_\bt  and  _\bl_\ba_\bs_\bt may be specified as a string (to locate
+              the last command beginning with that string) or as a number  (an
+              index  into the history list, where a negative number is used as
+              an offset from the current command  number).   When  listing,  a
+              _\bf_\bi_\br_\bs_\b or  _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is equivalent to
+              the current command (usually the f\bfc\bc  command);  otherwise  0  is
+              equivalent  to  -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is not specified,
+              it is set to the current command for listing (so  that  ``fc  -l
+              -10''  prints  the last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If
+              _\bf_\bi_\br_\bs_\bis not specified, it is set to the  previous  command  for
               editing and -16 for listing.
 
-              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-
+              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-
               plete, the edited commands are echoed and executed.
 
-              In  the  second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
-              of _\bp_\ba_\bt is replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the  same  as
-              _\bf_\bi_\br_\bs_\b above.  A useful alias to use with this is ``r="fc -s"'',
-              so that typing ``r cc'' runs the  last  command  beginning  with
+              In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
+              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
+              _\bf_\bi_\br_\bs_\babove.  A useful alias to use with this is ``r="fc  -s"'',
+              so  that  typing  ``r  cc'' runs the last command beginning with
               ``cc'' and typing ``r'' re-executes the last command.
 
-              If  the  first form is used, the return value is 0 unless an in-
-              valid option is encountered or _\bf_\bi_\br_\bs_\bt  or  _\bl_\ba_\bs_\bt  specify  history
-              lines  out  of  range.  If the -\b-e\be option is supplied, the return
+              If the first form is used, the return value is 0 unless  an  in-
+              valid  option  is  encountered  or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+              lines out of range.  If the -\b-e\be option is  supplied,  the  return
               value is the value of the last command executed or failure if an
               error occurs with the temporary file of commands.  If the second
-              form is used, the return status is that of the  command  re-exe-
-              cuted,  unless  _\bc_\bm_\bd  does  not  specify a valid history line, in
+              form  is  used, the return status is that of the command re-exe-
+              cuted, unless _\bc_\bm_\bd does not specify  a  valid  history  line,  in
               which case f\bfc\bc returns failure.
 
        f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
-              Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the  current  job.
+              Resume  _\bj_\bo_\bb_\bs_\bp_\be_\bc  in the foreground, and make it the current job.
               If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
-              is used.  The return value is that of the  command  placed  into
-              the  foreground,  or failure if run when job control is disabled
+              is  used.   The  return value is that of the command placed into
+              the foreground, or failure if run when job control  is  disabled
               or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
-              ify  a  valid  job  or  _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+              ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies  a  job  that  was  started
               without job control.
 
        g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg _\b._\b._\b.]
-              g\bge\bet\bto\bop\bpt\bts\bis used by shell procedures to parse positional  parame-
-              ters.   _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  contains  the  option characters to be recog-
-              nized; if a character is followed by a colon, the option is  ex-
+              g\bge\bet\bto\bop\bpt\bts\b is used by shell procedures to parse positional parame-
+              ters.  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option  characters  to  be  recog-
+              nized;  if a character is followed by a colon, the option is ex-
               pected to have an argument, which should be separated from it by
-              white space.  The colon and question mark characters may not  be
-              used  as  option  characters.   Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs
-              places the next option in the shell variable _\bn_\ba_\bm_\be,  initializing
+              white  space.  The colon and question mark characters may not be
+              used as option characters.  Each time  it  is  invoked,  g\bge\bet\bto\bop\bpt\bts\bs
+              places  the next option in the shell variable _\bn_\ba_\bm_\be, initializing
               _\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
               be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to
               1 each time the shell or a shell script is invoked.  When an op-
               tion requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into the
               variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically;
-              it must be manually reset  between  multiple  calls  to  g\bge\bet\bto\bop\bpt\bts\bs
-              within  the  same shell invocation if a new set of parameters is
+              it  must  be  manually  reset  between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs
+              within the same shell invocation if a new set of  parameters  is
               to be used.
 
               When the end of options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a re-
               turn value greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
               first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
-              arguments  are  supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
+              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
+              arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses  those  in-
               stead.
 
-              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\b is  silent, the option character found is placed in O\bOP\bP-\b-
+              not  silent,  prints  an  error  message  and unsets O\bOP\bPT\bTA\bAR\bRG\bG.  If
+              g\bge\bet\bto\bop\bpt\bts\bis silent, the option character found is placed  in  O\bOP\bP-\b-
               T\bTA\bAR\bRG\bG and no diagnostic message is printed.
 
-              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
-              a  question  mark  (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
-              diagnostic message is printed.  If g\bge\bet\bto\bop\bpt\bts\bs  is  silent,  then  a
-              colon  (:\b:)  is  placed  in  _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
+              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+              a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is  unset,  and  a
+              diagnostic  message  is  printed.   If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
+              colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG  is  set  to  the  option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
+              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
               Each time h\bha\bas\bsh\bh is invoked, 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\b option  is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be as the full filename
-              of the command.  The -\b-r\br option causes the shell  to  forget  all
-              remembered  locations.   Assigning  to  the  P\bPA\bAT\bTH\bH  variable also
-              clears all hashed filenames.  The -\b-d\bd option causes the shell  to
-              forget  the  remembered location of each _\bn_\ba_\bm_\be.  If the -\b-t\bt option
+              -\b-p\boption is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be as the  full  filename
+              of  the  command.   The -\b-r\br option causes the shell to forget all
+              remembered locations.   Assigning  to  the  P\bPA\bAT\bTH\bH  variable  also
+              clears  all hashed filenames.  The -\b-d\bd option causes the shell to
+              forget the remembered location of each _\bn_\ba_\bm_\be.  If the  -\b-t\b option
               is supplied, the full pathname to which each _\bn_\ba_\bm_\be corresponds is
-              printed.   If  multiple _\bn_\ba_\bm_\be arguments are supplied with -\b-t\bt, the
-              _\bn_\ba_\bm_\bis printed before the hashed full pathname.  The -\b-l\b option
-              causes  output to be displayed in a format that may be reused as
-              input.  If no arguments are given, or if only  -\b-l\bl  is  supplied,
-              information  about  remembered commands is printed.  The -\b-t\bt, -\b-d\bd,
-              and -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments)  are
-              mutually  exclusive.  Only one will be active.  If more than one
+              printed.  If multiple _\bn_\ba_\bm_\be arguments are supplied with  -\b-t\bt,  the
+              _\bn_\ba_\bm_\b is printed before the hashed full pathname.  The -\b-l\bl option
+              causes output to be displayed in a format that may be reused  as
+              input.   If  no  arguments are given, or if only -\b-l\bl is supplied,
+              information about remembered commands is printed.  The  -\b-t\bt,  -\b-d\bd,
+              and  -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are
+              mutually exclusive.  Only one will be active.  If more than  one
               is supplied, -\b-t\bt has higher priority than -\b-p\bp, and both are higher
-              priority  than  -\b-d\bd.   The return status is true unless a _\bn_\ba_\bm_\be is
+              priority than -\b-d\bd.  The return status is true unless  a  _\bn_\ba_\bm_\b 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
@@ -5322,55 +5323,55 @@ 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
-              _\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.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not supplied  and
-              H\bHI\bIS\bST\bTF\bFI\bIL\bLE\b is  unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b, and -\b-w\bw options have
+              _\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.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not supplied and
+              H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bis unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b, and -\b-w\bw  options  have
               no effect.  Options, if supplied, have the following meanings:
               -\b-c\bc     Clear the history list by deleting all the entries.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
-                     Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bo_\bf_\bf_\bs_\be_\bt
+                     Delete  the  history entry at position _\bo_\bf_\bf_\bs_\be_\bt.  If _\bo_\bf_\bf_\bs_\be_\bt
                      is negative, it is interpreted as relative to one greater
                      than the last history position, so negative indices count
-                     back  from  the  end  of  the history, and an index of -1
+                     back from the end of the history,  and  an  index  of  -1
                      refers to the current h\bhi\bis\bst\bto\bor\bry\by -\b-d\bd command.
               -\b-d\bd _\bs_\bt_\ba_\br_\bt-_\be_\bn_\bd
-                     Delete the range of  history  entries  between  positions
-                     _\bs_\bt_\ba_\br_\b and  _\be_\bn_\bd, inclusive.  Positive and negative values
+                     Delete  the  range  of  history entries between positions
+                     _\bs_\bt_\ba_\br_\band _\be_\bn_\bd, inclusive.  Positive and  negative  values
                      for _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd are interpreted as described above.
-              -\b-a\ba     Append the ``new'' history lines  to  the  history  file.
-                     These  are  history  lines entered since the beginning of
+              -\b-a\ba     Append  the  ``new''  history  lines to the history file.
+                     These are history lines entered since  the  beginning  of
                      the current b\bba\bas\bsh\bh session, but not already appended to the
                      history file.
-              -\b-n\bn     Read  the history lines not already read from the history
-                     file into the current history list.  These are lines  ap-
-                     pended  to  the  history  file since the beginning of the
+              -\b-n\bn     Read the history lines not already read from the  history
+                     file  into the current history list.  These are lines ap-
+                     pended to the history file since  the  beginning  of  the
                      current b\bba\bas\bsh\bh session.
-              -\b-r\br     Read the contents of the history file and append them  to
+              -\b-r\br     Read  the contents of the history file and append them to
                      the current history list.
               -\b-w\bw     Write the current history list to the history file, over-
                      writing the history file's contents.
-              -\b-p\bp     Perform history substitution on the  following  _\ba_\br_\bg_\b and
-                     display  the  result  on  the  standard output.  Does not
-                     store the results in the history list.  Each _\ba_\br_\bg must  be
+              -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
+                     display the result on  the  standard  output.   Does  not
+                     store  the results in the history list.  Each _\ba_\br_\bg must be
                      quoted to disable normal history expansion.
-              -\b-s\bs     Store  the  _\ba_\br_\bg_\bs  in  the history list as a single entry.
-                     The last command in the history list  is  removed  before
+              -\b-s\bs     Store the _\ba_\br_\bg_\bs in the history list  as  a  single  entry.
+                     The  last  command  in the history list is removed before
                      the _\ba_\br_\bg_\bs are added.
 
-              If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
-              tion associated with each history entry is written to  the  his-
-              tory  file, marked with the history comment character.  When the
-              history file is read, lines beginning with the  history  comment
-              character  followed  immediately  by  a digit are interpreted as
+              If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time  stamp  informa-
+              tion  associated  with each history entry is written to the his-
+              tory file, marked with the history comment character.  When  the
+              history  file  is read, lines beginning with the history comment
+              character followed immediately by a  digit  are  interpreted  as
               timestamps for the following history entry.  The return value is
               0 unless an invalid option is encountered, an error occurs while
-              reading or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt or  range
-              is  supplied as an argument to -\b-d\bd, or the history expansion sup-
+              reading  or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt or range
+              is supplied as an argument to -\b-d\bd, or the history expansion  sup-
               plied as an argument to -\b-p\bp fails.
 
        j\bjo\bob\bbs\bs [-\b-l\bln\bnp\bpr\brs\bs] [ _\bj_\bo_\bb_\bs_\bp_\be_\bc ... ]
@@ -5378,15 +5379,15 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-n\bn     Display  information  only  about  jobs that have changed
+              -\b-n\bn     Display information only about  jobs  that  have  changed
                      status since the user was last notified of their status.
-              -\b-p\bp     List only the process  ID  of  the  job's  process  group
+              -\b-p\bp     List  only  the  process  ID  of  the job's process group
                      leader.
               -\b-r\br     Display only running jobs.
               -\b-s\bs     Display only stopped jobs.
 
-              If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
-              that job.  The return status is 0 unless an  invalid  option  is
+              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to  information  about
+              that  job.   The  return status is 0 unless an invalid option is
               encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
 
               If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
@@ -5395,269 +5396,269 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
        k\bki\bil\bll\bl -\b-l\bl|-\b-L\bL [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
-              Send  the  signal  named  by  _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
-              named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either  a  case-insensitive
-              signal  name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
-              a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  not
-              present,  then  S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl lists the
-              signal names.  If any arguments are supplied when -\b-l\bl  is  given,
-              the  names  of  the  signals  corresponding to the arguments are
+              Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc  or  _\bs_\bi_\bg_\bn_\bu_\bm  to  the  processes
+              named  by  _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
+              signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix)  or
+              a  signal  number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
+              present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl  lists  the
+              signal  names.   If any arguments are supplied when -\b-l\bl is given,
+              the names of the signals  corresponding  to  the  arguments  are
               listed, and the return status is 0.  The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
-              -\b-l\b is  a  number  specifying either a signal number or the exit
-              status of a process terminated by a signal.  The  -\b-L\bL  option  is
-              equivalent  to -\b-l\bl.  k\bki\bil\bll\bl returns true if at least one signal was
+              -\b-l\bis a number specifying either a signal  number  or  the  exit
+              status  of  a  process terminated by a signal.  The -\b-L\bL option is
+              equivalent to -\b-l\bl.  k\bki\bil\bll\bl returns true if at least one signal  was
               successfully sent, or false if an error occurs or an invalid op-
               tion is encountered.
 
        l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
               Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).  If the last _\ba_\br_\bg evaluates  to  0,  l\ble\bet\bt
+              M\bME\bET\bTI\bIC\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  above).   If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
               returns 1; 0 is returned otherwise.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
-              For  each  argument, a local variable named _\bn_\ba_\bm_\be is created, and
-              assigned _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the  options  accepted
+              For each argument, a local variable named _\bn_\ba_\bm_\be is  created,  and
+              assigned  _\bv_\ba_\bl_\bu_\be.   The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
               by d\bde\bec\bcl\bla\bar\bre\be.  When l\blo\boc\bca\bal\bl is used within a function, it causes the
-              variable _\bn_\ba_\bm_\be to have a visible scope restricted to  that  func-
-              tion  and  its children.  If _\bn_\ba_\bm_\be is -, the set of shell options
-              is made local to the function in which l\blo\boc\bca\bal\bl is  invoked:  shell
-              options  changed using the s\bse\bet\bt builtin inside the function after
+              variable  _\bn_\ba_\bm_\be  to have a visible scope restricted to that func-
+              tion and its children.  If _\bn_\ba_\bm_\be is -, the set of  shell  options
+              is  made  local to the function in which l\blo\boc\bca\bal\bl is invoked: shell
+              options changed using the s\bse\bet\bt builtin inside the function  after
               the call to l\blo\boc\bca\bal\bl are restored to their original values when the
               function returns.  The restore is effected as if a series of s\bse\bet\bt
-              commands were executed to restore the values that were in  place
-              before  the  function.  With no operands, l\blo\boc\bca\bal\bl writes a list of
-              local variables to the standard output.  It is an error  to  use
+              commands  were executed to restore the values that were in place
+              before the function.  With no operands, l\blo\boc\bca\bal\bl writes a  list  of
+              local  variables  to the standard output.  It is an error to use
               l\blo\boc\bca\bal\bl when not within a function.  The return status is 0 unless
-              l\blo\boc\bca\bal\bis used outside a function, an invalid _\bn_\ba_\bm_\be  is  supplied,
+              l\blo\boc\bca\bal\b is  used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
               or _\bn_\ba_\bm_\be is a readonly variable.
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\b [-\b-d\bd  _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
+       m\bma\bap\bpf\bfi\bil\ble\b[-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu  _\bf_\bd]  [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
        r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-              Read  lines from the standard input into the indexed array vari-
-              able _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is  sup-
-              plied.   The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if
+              Read lines from the standard input into the indexed array  vari-
+              able  _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is sup-
+              plied.  The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options,  if
               supplied, have the following meanings:
-              -\b-d\bd     The first character of _\bd_\be_\bl_\bi_\bm is used  to  terminate  each
-                     input  line,  rather than newline.  If _\bd_\be_\bl_\bi_\bm is the empty
+              -\b-d\bd     The  first  character  of _\bd_\be_\bl_\bi_\bm is used to terminate each
+                     input line, rather than newline.  If _\bd_\be_\bl_\bi_\bm is  the  empty
                      string, m\bma\bap\bpf\bfi\bil\ble\be will terminate a line when it reads a NUL
                      character.
-              -\b-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
+              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
                      copied.
-              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
+              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
-              -\b-t\bt     Remove  a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
+              -\b-t\bt     Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each  line
                      read.
-              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
+              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
                      dard input.
-              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
+              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify the number of lines read  between  each  call  to
+              -\b-c\bc     Specify  the  number  of  lines read between each call to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
-              If  -\b-C\bC  is  specified  without  -\b-c\bc, the default quantum is 5000.
+              If -\b-C\bC is specified without -\b-c\bc,  the  default  quantum  is  5000.
               When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
               array element to be assigned and the line to be assigned to that
-              element as additional arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk  is  evaluated  after
+              element  as  additional  arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
               the line is read but before the array element is assigned.
 
-              If  not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
+              If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear  _\ba_\br_\b-
               _\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\breturns successfully unless an invalid option or  option
-              argument  is  supplied,  _\ba_\br_\br_\ba_\by is invalid or unassignable, or if
+              m\bma\bap\bpf\bfi\bil\ble\b returns successfully unless an invalid option or option
+              argument is supplied, _\ba_\br_\br_\ba_\by is invalid or  unassignable,  or  if
               _\ba_\br_\br_\ba_\by is not an indexed array.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
               Removes entries from the directory stack.  The elements are num-
-              bered  from  0  starting  at the first directory listed by d\bdi\bir\brs\bs.
-              With no arguments, p\bpo\bop\bpd\bd  removes  the  top  directory  from  the
+              bered from 0 starting at the first  directory  listed  by  d\bdi\bir\brs\bs.
+              With  no  arguments,  p\bpo\bop\bpd\bd  removes  the  top directory from the
               stack, and changes to the new top directory.  Arguments, if sup-
               plied, have the following meanings:
-              -\b-n\bn     Suppresses the normal change of directory  when  removing
+              -\b-n\bn     Suppresses  the  normal change of directory when removing
                      directories from the stack, so that only the stack is ma-
                      nipulated.
-              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero, from the stack.  For
-                     example: ``popd +0'' removes the first directory,  ``popd
+              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
+                     shown by d\bdi\bir\brs\bs, starting with zero, from the  stack.   For
+                     example:  ``popd +0'' removes the first directory, ``popd
                      +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
-                     -0''  removes the last directory, ``popd -1'' the next to
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+                     -0'' removes the last directory, ``popd -1'' the next  to
                      last.
 
-              If the top element of the directory stack is modified,  and  the
-              _\b-_\b option  was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
+              If  the  top element of the directory stack is modified, and the
+              _\b-_\boption was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin  to  change
               to the directory at the top of the stack.  If the c\bcd\bd fails, p\bpo\bop\bpd\bd
               returns a non-zero value.
 
-              Otherwise,  p\bpo\bop\bpd\bd  returns  false if an invalid option is encoun-
+              Otherwise, p\bpo\bop\bpd\bd returns false if an invalid  option  is  encoun-
               tered, the directory stack is empty, or a non-existent directory
               stack entry is specified.
 
-              If  the  p\bpo\bop\bpd\bd  command is successful, bash runs d\bdi\bir\brs\bs to show the
-              final contents of the directory stack, and the return status  is
+              If the p\bpo\bop\bpd\bd command is successful, bash runs d\bdi\bir\brs\bs  to  show  the
+              final  contents of the directory stack, and the return status is
               0.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
-              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the  output  to  be
-              assigned  to  the  variable _\bv_\ba_\br rather than being printed to the
+              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
+              control  of  the  _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the output to be
+              assigned to the variable _\bv_\ba_\br rather than being  printed  to  the
               standard output.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three  types  of
-              objects:  plain  characters, which are simply copied to standard
-              output, character escape  sequences,  which  are  converted  and
-              copied  to  the standard output, and format specifications, each
-              of which causes printing of the next  successive  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.   In
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is a character string which contains three types of
+              objects: plain characters, which are simply copied  to  standard
+              output,  character  escape  sequences,  which  are converted and
+              copied to the standard output, and format  specifications,  each
+              of  which  causes  printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In
               addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(3) format characters c\bcs\bsn\bnd\bdi\bio\bou\bux\bxX\bXe\be-\b-
               E\bEf\bfF\bFg\bgG\bGa\baA\bA, p\bpr\bri\bin\bnt\btf\bf interprets the following additional format spec-
               ifiers:
               %\b%b\bb     causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
                      corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in the same way as e\bec\bch\bho\bo -\b-e\be.
-              %\b%q\bq     causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt  in  a
-                     format  that can be reused as shell input.  %\b%q\bq and %\b%Q\bQ use
-                     the $\b$'\b''\b' quoting style if any characters in  the  argument
-                     string  require  it, and backslash quoting otherwise.  If
-                     the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate  form,  these
+              %\b%q\bq     causes  p\bpr\bri\bin\bnt\btf\bf  to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
+                     format that can be reused as shell input.  %\b%q\bq and %\b%Q\b use
+                     the  $\b$'\b''\b'  quoting style if any characters in the argument
+                     string require it, and backslash quoting  otherwise.   If
+                     the  format  string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
                      two  formats  quote  the  argument  string  using  single
                      quotes.
-              %\b%Q\bQ     like %\b%q\bq, but applies any supplied precision to the  _\ba_\br_\bg_\bu_\b-
+              %\b%Q\bQ     like  %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
                      _\bm_\be_\bn_\bt before quoting it.
               %\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
-                     causes  p\bpr\bri\bin\bnt\btf\bf  to  output the date-time string resulting
-                     from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format  string  for  _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+                     causes p\bpr\bri\bin\bnt\btf\bf to output the  date-time  string  resulting
+                     from  using  _\bd_\ba_\bt_\be_\bf_\bm_\bt  as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
                      The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
-                     number of seconds since the epoch.  Two special  argument
-                     values  may  be used: -1 represents the current time, and
-                     -2 represents the time the shell was invoked.  If no  ar-
+                     number  of seconds since the epoch.  Two special argument
+                     values may be used: -1 represents the current  time,  and
+                     -2  represents the time the shell was invoked.  If no ar-
                      gument is specified, conversion behaves as if -1 had been
-                     given.  This is an exception to the usual  p\bpr\bri\bin\bnt\btf\b behav-
+                     given.   This  is an exception to the usual p\bpr\bri\bin\bnt\btf\bf behav-
                      ior.
 
               The %b, %q, and %T format specifiers all use the field width and
               precision arguments from the format specification and write that
-              many  bytes from (or use that wide a field for) the expanded ar-
-              gument, which usually contains more characters than  the  origi-
+              many bytes from (or use that wide a field for) the expanded  ar-
+              gument,  which  usually contains more characters than the origi-
               nal.
 
               The %n format specifier accepts a corresponding argument that is
               treated as a shell variable name.
 
-              The %s and %c format specifiers accept  an  l  (long)  modifier,
+              The  %s  and  %c  format specifiers accept an l (long) modifier,
               which forces them to convert the argument string to a wide-char-
               acter string and apply any supplied field width and precision in
               terms of characters, not bytes.
 
-              Arguments  to non-string format specifiers are treated as C con-
+              Arguments to non-string format specifiers are treated as C  con-
               stants, except that a leading plus or minus sign is allowed, and
-              if  the leading character is a single or double quote, the value
+              if the leading character is a single or double quote, the  value
               is the ASCII value of the following character.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all  of  the  _\ba_\br_\bg_\bu_\b-
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is  reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
               _\bm_\be_\bn_\bt_\bs.  If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
-              the extra format specifications behave as if  a  zero  value  or
-              null  string,  as  appropriate,  had  been supplied.  The return
-              value is zero on success, non-zero if an invalid option is  sup-
+              the  extra  format  specifications  behave as if a zero value or
+              null string, as appropriate,  had  been  supplied.   The  return
+              value  is zero on success, non-zero if an invalid option is sup-
               plied or a write or assignment error occurs.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds  a  directory to the top of the directory stack, or rotates
-              the stack, making the new top of the stack the  current  working
-              directory.   With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
-              ments of the directory stack.  Arguments, if supplied, have  the
+              Adds a directory to the top of the directory stack,  or  rotates
+              the  stack,  making the new top of the stack the current working
+              directory.  With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two  ele-
+              ments  of the directory stack.  Arguments, if supplied, have the
               following meanings:
-              -\b-n\bn     Suppresses  the  normal change of directory when rotating
-                     or adding directories to the  stack,  so  that  only  the
+              -\b-n\bn     Suppresses the normal change of directory  when  rotating
+                     or  adding  directories  to  the  stack, so that only the
                      stack is manipulated.
-              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
+              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
-              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
+              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top
 
               After the stack has been modified, if the -\b-n\bn option was not sup-
-              plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the  directory  at
+              plied,  p\bpu\bus\bsh\bhd\bd  uses the c\bcd\bd builtin to change to the directory at
               the top of the stack.  If the c\bcd\bd fails, p\bpu\bus\bsh\bhd\bd returns a non-zero
               value.
 
-              Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0  unless
-              the  directory  stack  is  empty.   When  rotating the directory
-              stack, p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or  a
+              Otherwise,  if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0 unless
+              the directory stack  is  empty.   When  rotating  the  directory
+              stack,  p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or a
               non-existent directory stack element is specified.
 
-              If  the  p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to show the
+              If the p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to  show  the
               final contents of the directory stack.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print the absolute pathname of the  current  working  directory.
+              Print  the  absolute  pathname of the current working directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
-              contain symbolic links.  The return status is 0 unless an  error
+              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
+              contain  symbolic links.  The return status is 0 unless an error
               occurs while reading the name of the current directory or an in-
               valid option is supplied.
 
-       r\bre\bea\bad\b[-\b-E\bEe\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn  _\bn_\bc_\bh_\ba_\br_\bs]  [-\b-N\b _\bn_\bc_\bh_\ba_\br_\bs]
+       r\bre\bea\bad\b [-\b-E\bEe\ber\brs\bs]  [-\b-a\ba  _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs]
        [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One  line  is read from the standard input, or from the file de-
+              One line is read from the standard input, or from the  file  de-
               scriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, split into
-              words  as  described  above  under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and the first
-              word is assigned to the first _\bn_\ba_\bm_\be, the second word to the  sec-
-              ond  _\bn_\ba_\bm_\be,  and  so on.  If there are more words than names, the
+              words as described above under W\bWo\bor\brd\bd  S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg,  and  the  first
+              word  is assigned to the first _\bn_\ba_\bm_\be, the second word to the sec-
+              ond _\bn_\ba_\bm_\be, and so on.  If there are more words  than  names,  the
               remaining words and their intervening delimiters are assigned to
-              the  last  _\bn_\ba_\bm_\be.   If  there are fewer words read from the input
-              stream than names, the remaining names are assigned  empty  val-
-              ues.   The  characters  in  I\bIF\bFS\bS  are used to split the line into
-              words using the same rules the shell  uses  for  expansion  (de-
-              scribed  above  under  W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).  The backslash character
+              the last _\bn_\ba_\bm_\be.  If there are fewer words  read  from  the  input
+              stream  than  names, the remaining names are assigned empty val-
+              ues.  The characters in I\bIF\bFS\bS are used  to  split  the  line  into
+              words  using  the  same  rules the shell uses for expansion (de-
+              scribed above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).   The  backslash  character
               (\\b\) may be used to remove any special meaning for the next char-
-              acter  read  and  for  line continuation.  Options, if supplied,
+              acter read and for line  continuation.   Options,  if  supplied,
               have the following meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
                      variable _\ba_\bn_\ba_\bm_\be, starting at 0.  _\ba_\bn_\ba_\bm_\be is unset before any
-                     new values are assigned.  Other _\bn_\ba_\bm_\be  arguments  are  ig-
+                     new  values  are  assigned.  Other _\bn_\ba_\bm_\be arguments are ig-
                      nored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
                      The first character of _\bd_\be_\bl_\bi_\bm is used to terminate the in-
-                     put line, rather than newline.  If  _\bd_\be_\bl_\bi_\bm  is  the  empty
-                     string,  r\bre\bea\bad\bd  will  terminate a line when it reads a NUL
+                     put  line,  rather  than  newline.  If _\bd_\be_\bl_\bi_\bm is the empty
+                     string, r\bre\bea\bad\bd will terminate a line when it  reads  a  NUL
                      character.
-              -\b-e\be     If the standard input is coming  from  a  terminal,  r\bre\bea\bad\bd
-                     uses  r\bre\bea\bad\bdl\bli\bin\bne\be  (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to obtain the line.
-                     Readline uses the current (or default,  if  line  editing
-                     was  not  previously  active)  editing settings, but uses
+              -\b-e\be     If  the  standard  input  is coming from a terminal, r\bre\bea\bad\bd
+                     uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to  obtain  the  line.
+                     Readline  uses  the  current (or default, if line editing
+                     was not previously active)  editing  settings,  but  uses
                      readline's default filename completion.
-              -\b-E\bE     If the standard input is coming  from  a  terminal,  r\bre\bea\bad\bd
-                     uses  r\bre\bea\bad\bdl\bli\bin\bne\be  (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to obtain the line.
-                     Readline uses the current (or default,  if  line  editing
-                     was  not  previously  active)  editing settings, but uses
+              -\b-E\bE     If  the  standard  input  is coming from a terminal, r\bre\bea\bad\bd
+                     uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) to  obtain  the  line.
+                     Readline  uses  the  current (or default, if line editing
+                     was not previously active)  editing  settings,  but  uses
                      bash's default completion, including programmable comple-
                      tion.
               -\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_\bt is
+                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     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 honors a delim-
-                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
+                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
-                     rather than waiting for a complete line of input,  unless
-                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
-                     ters encountered in the input are not  treated  specially
-                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
-                     are read.  The result is not split on the  characters  in
-                     I\bIF\bFS\bS;  the intent is that the variable is assigned exactly
+                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
+                     rather  than waiting for a complete line of input, unless
+                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
+                     ters  encountered  in the input are not treated specially
+                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
+                     are  read.   The result is not split on the characters in
+                     I\bIF\bFS\bS; the intent is that the variable is assigned  exactly
                      the characters read (with the exception of backslash; see
                      the -\b-r\br option below).
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
@@ -5665,134 +5666,134 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash is considered to be part of the line.  In  particu-
-                     lar,  a  backslash-newline pair may not then be used as a
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not then be used  as  a
                      line continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
-                     line of input (or a specified number  of  characters)  is
-                     not  read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a deci-
-                     mal number with a fractional portion following the  deci-
-                     mal  point.   This  option  is  only effective if r\bre\bea\bad\bd is
-                     reading input from a terminal,  pipe,  or  other  special
-                     file;  it  has no effect when reading from regular files.
+                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
+                     line  of  input  (or a specified number of characters) is
+                     not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a  deci-
+                     mal  number with a fractional portion following the deci-
+                     mal point.  This option is  only  effective  if  r\bre\bea\bad\b is
+                     reading  input  from  a  terminal, pipe, or other special
+                     file; it has no effect when reading from  regular  files.
                      If r\bre\bea\bad\bd times out, r\bre\bea\bad\bd saves any partial input read into
-                     the  specified  variable _\bn_\ba_\bm_\be.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd re-
-                     turns immediately, without trying to read any data.   The
-                     exit  status  is 0 if input is available on the specified
-                     file descriptor, or the read will  return  EOF,  non-zero
-                     otherwise.   The  exit  status is greater than 128 if the
+                     the specified variable _\bn_\ba_\bm_\be.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0,  r\bre\bea\bad\b re-
+                     turns  immediately, without trying to read any data.  The
+                     exit status is 0 if input is available on  the  specified
+                     file  descriptor,  or  the read will return EOF, non-zero
+                     otherwise.  The exit status is greater than  128  if  the
                      timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
-              If no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending  de-
-              limiter  but  otherwise  unmodified, is assigned to the variable
-              R\bRE\bEP\bPL\bLY\bY.  The exit status is zero, unless end-of-file  is  encoun-
-              tered,  r\bre\bea\bad\bd times out (in which case the status is greater than
-              128), a variable assignment error (such as assigning to a  read-
+              If  no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending de-
+              limiter but otherwise unmodified, is assigned  to  the  variable
+              R\bRE\bEP\bPL\bLY\bY.   The  exit status is zero, unless end-of-file is encoun-
+              tered, r\bre\bea\bad\bd times out (in which case the status is greater  than
+              128),  a variable assignment error (such as assigning to a read-
               only variable) occurs, or an invalid file descriptor is supplied
               as the argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAf\bf] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
-              The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of  these  _\bn_\ba_\bm_\be_\bs
-              may  not  be changed by subsequent assignment.  If the -\b-f\bf option
-              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
-              marked.   The  -\b-a\ba  option restricts the variables to indexed ar-
-              rays; the -\b-A\bA option restricts the variables to  associative  ar-
+              The  given  _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
+              may not be changed by subsequent assignment.  If the  -\b-f\b option
+              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
+              marked.  The -\b-a\ba option restricts the variables  to  indexed  ar-
+              rays;  the  -\b-A\bA option restricts the variables to associative ar-
               rays.  If both options are supplied, -\b-A\bA takes precedence.  If no
-              _\bn_\ba_\bm_\barguments are given, or if the -\b-p\bp  option  is  supplied,  a
+              _\bn_\ba_\bm_\b arguments  are  given,  or if the -\b-p\bp option is supplied, a
               list of all readonly names is printed.  The other options may be
-              used to restrict the output to a subset of the set  of  readonly
-              names.   The -\b-p\bp option causes output to be displayed in a format
-              that may be reused as input.  If a variable name is followed  by
-              =_\bw_\bo_\br_\bd,  the  value  of  the variable is set to _\bw_\bo_\br_\bd.  The return
-              status is 0 unless an invalid option is encountered, one of  the
+              used  to  restrict the output to a subset of the set of readonly
+              names.  The -\b-p\bp option causes output to be displayed in a  format
+              that  may be reused as input.  If a variable name is followed by
+              =_\bw_\bo_\br_\bd, the value of the variable is set  to  _\bw_\bo_\br_\bd.   The  return
+              status  is 0 unless an invalid option is encountered, one of the
               _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is supplied with
               a _\bn_\ba_\bm_\be that is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes a function to stop executing and return the value  speci-
-              fied  by _\bn to its caller.  If _\bn is omitted, the return status is
-              that of the last command executed in the function body.  If  r\bre\be-\b-
+              Causes  a function to stop executing and return the value speci-
+              fied by _\bn to its caller.  If _\bn is omitted, the return status  is
+              that  of the last command executed in the function body.  If r\bre\be-\b-
               t\btu\bur\brn\bn is executed by a trap handler, the last command used to de-
-              termine the status is the last command executed before the  trap
-              handler.   If  r\bre\bet\btu\bur\brn\bn  is executed during a D\bDE\bEB\bBU\bUG\bG trap, the last
-              command used to determine the status is the  last  command  exe-
-              cuted  by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked.  If r\bre\bet\btu\bur\brn\bn
-              is used outside a function, but during execution of a script  by
-              the  .\b.   (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop executing
-              that script and return either _\bn or the exit status of  the  last
-              command  executed  within  the  script as the exit status of the
+              termine  the status is the last command executed before the trap
+              handler.  If r\bre\bet\btu\bur\brn\bn is executed during a D\bDE\bEB\bBU\bUG\bG  trap,  the  last
+              command  used  to  determine the status is the last command exe-
+              cuted by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked.  If  r\bre\bet\btu\bur\brn\bn
+              is  used outside a function, but during execution of a script by
+              the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell to  stop  executing
+              that  script  and return either _\bn or the exit status of the last
+              command executed within the script as the  exit  status  of  the
               script.  If _\bn is supplied, the return value is its least signif-
-              icant  8  bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn is sup-
-              plied a non-numeric argument, or is used outside a function  and
-              not  during  execution  of a script by .\b. or s\bso\bou\bur\brc\bce\be.  Any command
+              icant 8 bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn  is  sup-
+              plied  a non-numeric argument, or is used outside a function and
+              not during execution of a script by .\b. or  s\bso\bou\bur\brc\bce\be.   Any  command
               associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execution re-
               sumes after the function or script.
 
        s\bse\bet\bt [-\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
        s\bse\bet\bt -\b-o\bo
-       s\bse\bet\bt +\b+o\bo Without  options, display the name and value of each shell vari-
-              able in a format that can be reused as input for setting or  re-
+       s\bse\bet\bt +\b+o\bo Without options, display the name and value of each shell  vari-
+              able  in a format that can be reused as input for setting or re-
               setting the currently-set variables.  Read-only variables cannot
-              be reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.   The
-              output  is sorted according to the current locale.  When options
-              are specified, they set or unset shell  attributes.   Any  argu-
-              ments  remaining  after  option processing are treated as values
+              be  reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.  The
+              output is sorted according to the current locale.  When  options
+              are  specified,  they  set or unset shell attributes.  Any argu-
+              ments remaining after option processing are  treated  as  values
               for the positional parameters and are assigned, in order, to $\b$1\b1,
-              $\b$2\b2,  .\b..\b..\b.   $\b$_\bn.   Options, if specified, have the following mean-
+              $\b$2\b2, .\b..\b..\b.  $\b$_\bn.  Options, if specified, have  the  following  mean-
               ings:
               -\b-a\ba      Each variable or function that is created or modified is
-                      given  the export attribute and marked for export to the
+                      given the export attribute and marked for export to  the
                       environment of subsequent commands.
-              -\b-b\bb      Report the status of terminated background jobs  immedi-
+              -\b-b\bb      Report  the status of terminated background jobs immedi-
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
-              -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
-                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+              -\b-e\be      Exit  immediately  if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
+                      single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or  a  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\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 status.
-                      The  shell  does  not  exit if the command that fails is
-                      part of the command list immediately following  a  w\bwh\bhi\bil\ble\be
-                      or  u\bun\bnt\bti\bil\bl  keyword, part of the test following the i\bif\bf or
-                      e\bel\bli\bif\breserved words, part of any command executed  in  a
-                      &\b&&\b or |\b||\b| list except the command following the final &\b&&\b&
+                      The shell does not exit if the  command  that  fails  is
+                      part  of  the command list immediately following a w\bwh\bhi\bil\ble\be
+                      or u\bun\bnt\bti\bil\bl keyword, part of the test following the  i\bif\b or
+                      e\bel\bli\bif\b reserved  words, part of any command executed in a
+                      &\b&&\bor |\b||\b| list except the command following the final  &\b&&\b&
                       or |\b||\b|, any command in a pipeline but the last, or if the
-                      command's  return  value is being inverted with !\b!.  If a
-                      compound command other than a subshell  returns  a  non-
-                      zero  status because a command failed while -\b-e\be was being
-                      ignored, the shell does not exit.  A  trap  on  E\bER\bRR\bR,  if
-                      set,  is  executed  before the shell exits.  This option
+                      command's return value is being inverted with !\b!.   If  a
+                      compound  command  other  than a subshell returns a non-
+                      zero status because a command failed while -\b-e\be was  being
+                      ignored,  the  shell  does  not exit.  A trap on E\bER\bRR\bR, if
+                      set, is executed before the shell  exits.   This  option
                       applies to the shell environment and each subshell envi-
-                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\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.
 
-                      If  a  compound  command or shell function executes in a
-                      context where -\b-e\be is being ignored, none of the  commands
-                      executed  within  the  compound command or function body
-                      will be affected by the -\b-e\be setting, even if  -\b-e\be  is  set
-                      and  a  command returns a failure status.  If a compound
-                      command or shell function sets -\b-e\be while executing  in  a
-                      context  where -\b-e\be is ignored, that setting will not have
-                      any effect until the compound  command  or  the  command
+                      If a compound command or shell function  executes  in  a
+                      context  where -\b-e\be is being ignored, none of the commands
+                      executed within the compound command  or  function  body
+                      will  be  affected  by the -\b-e\be setting, even if -\b-e\be is set
+                      and a command returns a failure status.  If  a  compound
+                      command  or  shell function sets -\b-e\be while executing in a
+                      context where -\b-e\be is ignored, that setting will not  have
+                      any  effect  until  the  compound command or the command
                       containing the function call completes.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember  the location of commands as they are looked up
+              -\b-h\bh      Remember the location of commands as they are looked  up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All arguments in the form of assignment  statements  are
-                      placed  in the environment for a command, not just those
+              -\b-k\bk      All  arguments  in the form of assignment statements are
+                      placed in the environment for a command, not just  those
                       that precede the command name.
-              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
-                      on  by  default  for  interactive shells on systems that
-                      support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All  processes  run
+              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
+                      on by default for interactive  shells  on  systems  that
+                      support  it  (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All processes run
                       in a separate process group.  When a background job com-
                       pletes, the shell prints a line containing its exit sta-
                       tus.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to check a shell script for syntax errors.  This is  ig-
+                      to  check a shell script for syntax errors.  This is ig-
                       nored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -5800,10 +5801,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
@@ -5817,8 +5818,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The  effect  is  as  if  the shell command ``IG-
-                              NOREEOF=10'' had been executed (see S\bSh\bhe\bel\bll\b V\bVa\bar\bri\bi-\b-
+                              The effect is as  if  the  shell  command  ``IG-
+                              NOREEOF=10''  had been executed (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
                               a\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -5833,178 +5834,178 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If  set,  the  return value of a pipeline is the
-                              value of the last (rightmost)  command  to  exit
-                              with  a non-zero status, or zero if all commands
-                              in the pipeline exit successfully.  This  option
+                              If set, the return value of a  pipeline  is  the
+                              value  of  the  last (rightmost) command to exit
+                              with a non-zero status, or zero if all  commands
+                              in  the pipeline exit successfully.  This option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
-                              operation differs from  the  POSIX  standard  to
-                              match  the  standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
+                              operation  differs  from  the  POSIX standard to
+                              match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See  S\bSE\bEE\b A\bAL\bLS\bSO\bO
                               below for a reference to a document that details
                               how posix mode affects bash's behavior.
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use  a  vi-style command line editing interface.
+                      v\bvi\bi      Use a vi-style command line  editing  interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
-                      If  -\b-o\bo  is  supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints the
-                      current shell option settings.  If +\b+o\bo is  supplied  with
-                      no  _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  s\bse\bet\bt prints a series of s\bse\bet\bt commands to
-                      recreate the current option  settings  on  the  standard
+                      If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  s\bse\bet\bt  prints  the
+                      current  shell  option settings.  If +\b+o\bo is supplied with
+                      no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints a series of s\bse\bet\bt  commands  to
+                      recreate  the  current  option  settings on the standard
                       output.
-              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
-                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they  ap-
-                      pear  in  the environment, are ignored.  If the shell is
-                      started with the effective user (group) id not equal  to
-                      the  real user (group) id, and the -\b-p\bp option is not sup-
+              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
+                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they ap-
+                      pear in the environment, are ignored.  If the  shell  is
+                      started  with the effective user (group) id not equal to
+                      the real user (group) id, and the -\b-p\bp option is not  sup-
                       plied, these actions are taken and the effective user id
-                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
-                      plied at startup, the effective user id  is  not  reset.
-                      Turning  this  option  off causes the effective user and
+                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
+                      plied  at  startup,  the effective user id is not reset.
+                      Turning this option off causes the  effective  user  and
                       group ids to be set to the real user and group ids.
               -\b-r\br      Enable restricted shell mode.  This option cannot be un-
                       set once it has been set.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial parameters "@" and "*",  or  array  variables  sub-
-                      scripted  with  "@"  or "*", as an error when performing
-                      parameter expansion.  If expansion is  attempted  on  an
-                      unset  variable  or parameter, the shell prints an error
-                      message, and, if not interactive, exits with a  non-zero
+                      cial  parameters  "@"  and  "*", or array variables sub-
+                      scripted with "@" or "*", as an  error  when  performing
+                      parameter  expansion.   If  expansion is attempted on an
+                      unset variable or parameter, the shell prints  an  error
+                      message,  and, if not interactive, exits with a non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play  the expanded value of P\bPS\bS4\b4, followed by the command
-                      and its expanded arguments or associated word  list,  to
+                      play the expanded value of P\bPS\bS4\b4, followed by the  command
+                      and  its  expanded arguments or associated word list, to
                       standard error.
-              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
-                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
+              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
+                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command substitutions, and commands executed in  a  sub-
-                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
+                      command  substitutions,  and commands executed in a sub-
+                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If  set,  the shell does not resolve symbolic links when
-                      executing commands such as c\bcd\bd that  change  the  current
+              -\b-P\bP      If set, the shell does not resolve symbolic  links  when
+                      executing  commands  such  as c\bcd\bd that change the current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain  of  directories  when  performing  commands which
+                      chain of  directories  when  performing  commands  which
                       change the current directory.
-              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
+              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
                       shell functions, command substitutions, and commands ex-
-                      ecuted in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and  R\bRE\bET\bTU\bUR\bRN\bN
+                      ecuted  in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
                       traps are normally not inherited in such cases.
-              -\b--\b-      If  no arguments follow this option, then the positional
+              -\b--\b-      If no arguments follow this option, then the  positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
+                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
                       with a -\b-.
-              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
+              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The  options are off by default unless otherwise noted.  Using +
-              rather than - causes these options to be turned  off.   The  op-
+              The options are off by default unless otherwise noted.  Using  +
+              rather  than  -  causes these options to be turned off.  The op-
               tions can also be specified as arguments to an invocation of the
-              shell.  The current set of options may be found in $\b$-\b-.  The  re-
-              turn  status  is always true unless an invalid option is encoun-
+              shell.   The current set of options may be found in $\b$-\b-.  The re-
+              turn status is always true unless an invalid option  is  encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
-              Parameters  represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are un-
-              set.  _\bn must be a non-negative number less than or equal to  $\b$#\b#.
-              If  _\bn is 0, no parameters are changed.  If _\bn is not given, it is
+              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
+              Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are  un-
+              set.   _\bn must be a non-negative number less than or equal to $\b$#\b#.
+              If _\bn is 0, no parameters are changed.  If _\bn is not given, it  is
               assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional param-
-              eters  are  not changed.  The return status is greater than zero
+              eters are not changed.  The return status is greater  than  zero
               if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
-              Toggle the values of settings controlling optional shell  behav-
-              ior.   The settings can be either those listed below, or, if the
+              Toggle  the values of settings controlling optional shell behav-
+              ior.  The settings can be either those listed below, or, if  the
               -\b-o\bo option is used, those available with the -\b-o\bo option to the s\bse\bet\bt
               builtin command.  With no options, or with the -\b-p\bp option, a list
-              of all settable options is  displayed,  with  an  indication  of
+              of  all  settable  options  is  displayed, with an indication of
               whether or not each is set; if _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output
-              is restricted to those options.  The -\b-p\bp option causes output  to
-              be  displayed  in a form that may be reused as input.  Other op-
+              is  restricted to those options.  The -\b-p\bp option causes output to
+              be displayed in a form that may be reused as input.   Other  op-
               tions have the following meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
+              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
-                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
+                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
+                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
                      wise.
-              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
+              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If  either  -\b-s\bs  or  -\b-u\bu  is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
-              shows only those options which are set or  unset,  respectively.
-              Unless  otherwise  noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
+              If either -\b-s\bs or -\b-u\bu is used  with  no  _\bo_\bp_\bt_\bn_\ba_\bm_\be  arguments,  s\bsh\bho\bop\bpt\bt
+              shows  only  those options which are set or unset, respectively.
+              Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are  disabled  (unset)
               by default.
 
-              The return status when listing options is zero if  all  _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
-              are  enabled, non-zero otherwise.  When setting or unsetting op-
-              tions, the return status is zero unless  an  _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
+              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are enabled, non-zero otherwise.  When setting or unsetting  op-
+              tions,  the  return  status  is  zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
               a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
-                      If  set, the shell suppresses multiple evaluation of as-
+                      If set, the shell suppresses multiple evaluation of  as-
                       sociative and indexed array subscripts during arithmetic
                       expression evaluation, while executing builtins that can
-                      perform  variable  assignments,  and   while   executing
+                      perform   variable   assignments,  and  while  executing
                       builtins that perform array dereferencing.
               a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
                       Deprecated; a synonym for a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be.
-              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
-                      is executed as if it were the argument to  the  c\bcd\b com-
+              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
+                      is  executed  as  if it were the argument to the c\bcd\bd com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If  set,  an  argument to the c\bcd\bd builtin command that is
-                      not a directory is assumed to be the name of a  variable
+                      If set, an argument to the c\bcd\bd builtin  command  that  is
+                      not  a directory is assumed to be the name of a variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent in a c\bcd\bd command will be  corrected.   The  errors
+                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
                       checked for are transposed characters, a missing charac-
-                      ter, and one character too many.   If  a  correction  is
-                      found,  the  corrected filename is printed, and the com-
-                      mand proceeds.  This option is only used by  interactive
+                      ter,  and  one  character  too many.  If a correction is
+                      found, the corrected filename is printed, and  the  com-
+                      mand  proceeds.  This option is only used by interactive
                       shells.
               c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
                       If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
-                      ble exists before trying to execute  it.   If  a  hashed
-                      command  no  longer exists, a normal path search is per-
+                      ble  exists  before  trying  to execute it.  If a hashed
+                      command no longer exists, a normal path search  is  per-
                       formed.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs  before  exiting an interactive shell.  If any jobs
+                      jobs before exiting an interactive shell.  If  any  jobs
                       are running, this causes the exit to be deferred until a
-                      second  exit is attempted without an intervening command
+                      second exit is attempted without an intervening  command
                       (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  The shell always postpones ex-
                       iting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If  set, b\bba\bas\bsh\bh checks the window size after each external
-                      (non-builtin) command and,  if  necessary,  updates  the
-                      values  of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS.  This option is enabled by
+                      If set, b\bba\bas\bsh\bh checks the window size after each  external
+                      (non-builtin)  command  and,  if  necessary, updates the
+                      values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS.  This option is enabled  by
                       default.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
-                      line  command  in  the  same history entry.  This allows
-                      easy re-editing of multi-line commands.  This option  is
-                      enabled  by  default,  but only has an effect if command
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
+                      line command in the same  history  entry.   This  allows
+                      easy  re-editing of multi-line commands.  This option is
+                      enabled by default, but only has an  effect  if  command
                       history is enabled, as described above under H\bHI\bIS\bST\bTO\bOR\bRY\bY.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
@@ -6014,122 +6015,122 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               c\bco\bom\bmp\bpa\bat\bt4\b43\b3
               c\bco\bom\bmp\bpa\bat\bt4\b44\b4
               c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-                      These control aspects of the shell's compatibility  mode
+                      These  control aspects of the shell's compatibility mode
                       (see S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below).
 
               c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
-                      If  set,  b\bba\bas\bsh\bh  quotes all shell metacharacters in file-
-                      names and directory names  when  performing  completion.
+                      If set, b\bba\bas\bsh\bh quotes all shell  metacharacters  in  file-
+                      names  and  directory  names when performing completion.
                       If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
-                      lar sign from the set of characters that will be  quoted
-                      in  completed filenames when these metacharacters appear
-                      in shell variable references in words to  be  completed.
-                      This  means that dollar signs in variable names that ex-
-                      pand to directories will not  be  quoted;  however,  any
-                      dollar  signs appearing in filenames will not be quoted,
-                      either.  This is active only when bash  is  using  back-
-                      slashes  to quote completed filenames.  This variable is
-                      set by default, which is the default  bash  behavior  in
+                      lar  sign from the set of characters that will be quoted
+                      in completed filenames when these metacharacters  appear
+                      in  shell  variable references in words to be completed.
+                      This means that dollar signs in variable names that  ex-
+                      pand  to  directories  will  not be quoted; however, any
+                      dollar signs appearing in filenames will not be  quoted,
+                      either.   This  is  active only when bash is using back-
+                      slashes to quote completed filenames.  This variable  is
+                      set  by  default,  which is the default bash behavior in
                       versions through 4.2.
 
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
-                      of word expansion when performing  filename  completion.
-                      This  changes  the contents of the readline editing buf-
-                      fer.  If not set, b\bba\bas\bsh\bh attempts  to  preserve  what  the
+                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
+                      of  word  expansion when performing filename completion.
+                      This changes the contents of the readline  editing  buf-
+                      fer.   If  not  set,  b\bba\bas\bsh\bh attempts to preserve what the
                       user typed.
 
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
-                      names during word completion if the directory name  ini-
+                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
+                      names  during word completion if the directory name ini-
                       tially supplied does not exist.
 
-              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
-                      the results of pathname expansion.  The filenames  `\b``\b`.\b.'\b''\b'
-                      and  `\b``\b`.\b..\b.'\b''\b'   must always be matched explicitly, even if
+              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
+                      the  results of pathname expansion.  The filenames `\b``\b`.\b.'\b''\b'
+                      and `\b``\b`.\b..\b.'\b''\b'  must always be matched explicitly,  even  if
                       d\bdo\bot\btg\bgl\blo\bob\bb is set.
 
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not  execute  the  file  specified as an argument to the
-                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
+                      not execute the file specified as  an  argument  to  the
+                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
                       exit if e\bex\bxe\bec\bc fails.
 
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If  set,  aliases  are expanded as described above under
+                      If set, aliases are expanded as  described  above  under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
 
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If  set at shell invocation, or in a shell startup file,
+                      If set at shell invocation, or in a shell startup  file,
                       arrange to execute the debugger profile before the shell
-                      starts,  identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set af-
-                      ter invocation, behavior intended for use  by  debuggers
+                      starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set  af-
+                      ter  invocation,  behavior intended for use by debuggers
                       is enabled:
 
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
 
-                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
-                             non-zero value, the next command is  skipped  and
+                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
+                             non-zero  value,  the next command is skipped and
                              not executed.
 
-                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
-                             value of 2, and the shell is executing in a  sub-
-                             routine  (a shell function or a shell script exe-
-                             cuted by the .\b. or  s\bso\bou\bur\brc\bce\be  builtins),  the  shell
+                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
+                             value  of 2, and the shell is executing in a sub-
+                             routine (a shell function or a shell script  exe-
+                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), the shell
                              simulates a call to r\bre\bet\btu\bur\brn\bn.
 
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\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 de-
-                      scription of F\bFI\bIG\bGN\bNO\bOR\bRE\bE.  This option  is  enabled  by  de-
+                      ble completions.  See S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS above  for  a  de-
+                      scription  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option is enabled by de-
                       fault.
 
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If  set,  range  expressions  used  in  pattern matching
-                      bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above)  behave
-                      as  if  in the traditional C locale when performing com-
-                      parisons.  That is, the current locale's  collating  se-
-                      quence  is not taken into account, so b\bb will not collate
-                      between A\bA and B\bB, and  upper-case  and  lower-case  ASCII
+                      If set,  range  expressions  used  in  pattern  matching
+                      bracket  expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave
+                      as if in the traditional C locale when  performing  com-
+                      parisons.   That  is, the current locale's collating se-
+                      quence is not taken into account, so b\bb will not  collate
+                      between  A\bA  and  B\bB,  and upper-case and lower-case ASCII
                       characters will collate together.
 
               g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
-                      If  set,  pathname  expansion will never match the file-
+                      If set, pathname expansion will never  match  the  file-
                       names `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b', even if the pattern begins with
                       a `\b``\b`.\b.'\b''\b'.  This option is enabled by default.
 
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text will match all files and zero or  more  directories
-                      and  subdirectories.  If the pattern is followed by a /\b/,
+                      text  will  match all files and zero or more directories
+                      and subdirectories.  If the pattern is followed by a  /\b/,
                       only directories and subdirectories match.
 
               g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
@@ -6137,25 +6138,25 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       GNU error message format.
 
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If  set,  the history list is appended to the file named
+                      If set, the history list is appended to the  file  named
                       by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell ex-
                       its, rather than overwriting the file.
 
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
                       opportunity to re-edit a failed history substitution.
 
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
-                      tory  substitution  are  not  immediately  passed to the
-                      shell parser.  Instead, the  resulting  line  is  loaded
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+                      tory substitution are  not  immediately  passed  to  the
+                      shell  parser.   Instead,  the  resulting line is loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
 
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform  hostname  completion when a word containing a @\b@
-                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform hostname completion when a word containing  a  @\b@
+                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
 
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
@@ -6163,23 +6164,23 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       active login shell exits.
 
               i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt
-                      If set, command substitution inherits the value  of  the
-                      e\ber\brr\bre\bex\bxi\bit\b option, instead of unsetting it in the subshell
-                      environment.  This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\b is
+                      If  set,  command substitution inherits the value of the
+                      e\ber\brr\bre\bex\bxi\bit\boption, instead of unsetting it in the  subshell
+                      environment.   This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be is
                       enabled.
 
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and all remaining characters on that line to be  ignored
-                      in  an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This op-
+                      and  all remaining characters on that line to be ignored
+                      in an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This  op-
                       tion is enabled by default.
 
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If set, and job control is not active,  the  shell  runs
+                      If  set,  and  job control is not active, the shell runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
 
-              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
 
@@ -6190,54 +6191,54 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       tribute is not inherited.
 
               l\blo\boc\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt
-                      If  set,  calling  u\bun\bns\bse\bet\bt  on local variables in previous
-                      function scopes marks them so  subsequent  lookups  find
-                      them  unset until that function returns. This is identi-
-                      cal to the behavior of unsetting local variables at  the
+                      If set, calling u\bun\bns\bse\bet\bt on  local  variables  in  previous
+                      function  scopes  marks  them so subsequent lookups find
+                      them unset until that function returns. This is  identi-
+                      cal  to the behavior of unsetting local variables at the
                       current function scope.
 
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets this option if it is started as a login
-                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
+                      The shell sets this option if it is started as  a  login
+                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
                       changed.
 
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
-                      been accessed since the last time it  was  checked,  the
-                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
+                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
+                      been  accessed  since  the last time it was checked, the
+                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
                       played.
 
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh  will  not  at-
-                      tempt  to  search the P\bPA\bAT\bTH\bH for possible completions when
+                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will not at-
+                      tempt to search the P\bPA\bAT\bTH\bH for possible  completions  when
                       completion is attempted on an empty line.
 
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
+                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands, when performing pattern substi-
-                      tution  word expansions, or when filtering possible com-
+                      tution word expansions, or when filtering possible  com-
                       pletions as part of programmable completion.
 
               n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn
-                      If set, b\bba\bas\bsh\bh encloses the translated results  of  $"..."
-                      quoting  in  single quotes instead of double quotes.  If
+                      If  set,  b\bba\bas\bsh\bh encloses the translated results of $"..."
+                      quoting in single quotes instead of double  quotes.   If
                       the string is not translated, this has no effect.
 
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\be  E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
-                      rather than themselves.
+                      If set, pathname expansion patterns which match no files
+                      (see P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) expand to nothing and are
+                      removed, rather than expanding to themselves.
 
               p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt
                       If set, b\bba\bas\bsh\bh expands occurrences of &\b& in the replacement
-                      string  of  pattern  substitution to the text matched by
-                      the pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+                      string of pattern substitution to the  text  matched  by
+                      the  pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above.  This option is enabled by default.
 
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
@@ -6246,70 +6247,70 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
 
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp_\b_a\bal\bli\bia\bas\bs
-                      If  set,  and  programmable  completion is enabled, b\bba\bas\bsh\bh
-                      treats a command name that doesn't have any  completions
-                      as  a possible alias and attempts alias expansion. If it
-                      has an alias, b\bba\bas\bsh\bh attempts programmable completion  us-
+                      If set, and programmable  completion  is  enabled,  b\bba\bas\bsh\bh
+                      treats  a command name that doesn't have any completions
+                      as a possible alias and attempts alias expansion. If  it
+                      has  an alias, b\bba\bas\bsh\bh attempts programmable completion us-
                       ing the command word resulting from the expanded alias.
 
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand substitution, arithmetic expansion, and  quote  re-
-                      moval  after  being  expanded  as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand  substitution,  arithmetic expansion, and quote re-
+                      moval after being expanded  as  described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
 
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The shell sets this option  if  it  is  started  in  re-
-                      stricted  mode  (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
-                      may not be changed.  This is not reset when the  startup
-                      files  are  executed, allowing the startup files to dis-
+                      The  shell  sets  this  option  if  it is started in re-
+                      stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).   The  value
+                      may  not be changed.  This is not reset when the startup
+                      files are executed, allowing the startup files  to  dis-
                       cover whether or not a shell is restricted.
 
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
+                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
                       the shift count exceeds the number of positional parame-
                       ters.
 
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the .\b. (s\bso\bou\bur\brc\bce\be) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find  the  directory  containing the file supplied as an
+                      find the directory containing the file  supplied  as  an
                       argument.  This option is enabled by default.
 
               v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be
-                      If set, the shell automatically closes file  descriptors
+                      If  set, the shell automatically closes file descriptors
                       assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see R\bRE\bE-\b-
-                      D\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\babove) instead of leaving them open  when  the
+                      D\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\b above)  instead of leaving them open when the
                       command completes.
 
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If  set,  the  e\bec\bch\bho\bo builtin expands backslash-escape se-
-                      quences by default.  If the p\bpo\bos\bsi\bix\bx shell option  is  also
+                      If set, the e\bec\bch\bho\bo builtin  expands  backslash-escape  se-
+                      quences  by  default.  If the p\bpo\bos\bsi\bix\bx shell option is also
                       enabled, e\bec\bch\bho\bo does not interpret any options.
 
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
-              signal.  A login shell, or a shell without job control  enabled,
-              cannot  be suspended; the -\b-f\bf option can be used to override this
-              and force the suspension.  The return status  is  0  unless  the
-              shell  is  a login shell or job control is not enabled and -\b-f\bf is
+              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              signal.   A login shell, or a shell without job control enabled,
+              cannot be suspended; the -\b-f\bf option can be used to override  this
+              and  force  the  suspension.   The return status is 0 unless the
+              shell is a login shell or job control is not enabled and  -\b-f\b is
               not supplied.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return a status of 0 (true) or 1 (false) depending on the evalu-
               ation of the conditional expression _\be_\bx_\bp_\br.  Each operator and op-
-              erand must be a separate argument.  Expressions are composed  of
-              the  primaries  described  above  under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
-              t\bte\bes\bst\bdoes not accept any options, nor does it accept and  ignore
+              erand  must be a separate argument.  Expressions are composed of
+              the primaries described  above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\b E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              t\bte\bes\bst\b does not accept any options, nor does it accept and ignore
               an argument of -\b--\b- as signifying the end of options.
 
-              Expressions  may  be  combined  using  the  following operators,
-              listed in decreasing order of precedence.   The  evaluation  de-
-              pends  on  the  number of arguments; see below.  Operator prece-
+              Expressions may  be  combined  using  the  following  operators,
+              listed  in  decreasing  order of precedence.  The evaluation de-
+              pends on the number of arguments; see  below.   Operator  prece-
               dence is used when there are five or more arguments.
               !\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
               (\b( _\be_\bx_\bp_\br )\b)
-                     Returns the value of _\be_\bx_\bp_\br.  This may be used to  override
+                     Returns  the value of _\be_\bx_\bp_\br.  This may be used to override
                      the normal precedence of operators.
               _\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
                      True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
@@ -6326,161 +6327,161 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      null.
               2 arguments
                      If the first argument is !\b!, the expression is true if and
-                     only if the second argument is null.  If the first  argu-
-                     ment  is  one  of  the unary conditional operators listed
-                     above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS,  the  expression  is
+                     only  if the second argument is null.  If the first argu-
+                     ment is one of the  unary  conditional  operators  listed
+                     above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL  E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
                      true if the unary test is true.  If the first argument is
                      not a valid unary conditional operator, the expression is
                      false.
               3 arguments
                      The following conditions are applied in the order listed.
-                     If the second argument is one of the  binary  conditional
+                     If  the  second argument is one of the binary conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using  the first and third arguments as operands.  The -\b-a\ba
-                     and -\b-o\bo operators are  considered  binary  operators  when
-                     there  are  three arguments.  If the first argument is !\b!,
-                     the value is the negation of the two-argument test  using
+                     using the first and third arguments as operands.  The  -\b-a\ba
+                     and  -\b-o\bo  operators  are  considered binary operators when
+                     there are three arguments.  If the first argument  is  !\b!,
+                     the  value is the negation of the two-argument test using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is  the one-argument test of the second argument.  Other-
+                     is the one-argument test of the second argument.   Other-
                      wise, the expression is false.
               4 arguments
                      The following conditions are applied in the order listed.
                      If the first argument is !\b!, the result is the negation of
-                     the three-argument expression composed of  the  remaining
-                     arguments.   the  two-argument  test using the second and
-                     third arguments.  If the first argument is exactly (\b and
-                     the  fourth argument is exactly )\b), the result is the two-
-                     argument test of the second and third arguments.   Other-
+                     the  three-argument  expression composed of the remaining
+                     arguments.  the two-argument test using  the  second  and
+                     third  arguments.  If the first argument is exactly (\b( and
+                     the fourth argument is exactly )\b), the result is the  two-
+                     argument  test of the second and third arguments.  Other-
                      wise, the expression is parsed and evaluated according to
                      precedence using the rules listed above.
               5 or more arguments
-                     The expression  is  parsed  and  evaluated  according  to
+                     The  expression  is  parsed  and  evaluated  according to
                      precedence using the rules listed above.
 
               If the shell is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, when used with t\bte\bes\bst\bt or [\b[, the
-              <\band >\b> operators sort lexicographically using  ASCII  ordering.
-              When  the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, these operators sort using the
+              <\b and  >\b> operators sort lexicographically using ASCII ordering.
+              When the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, these operators sort using  the
               current locale.
 
-       t\bti\bim\bme\bes\bs  Print the accumulated user and system times for  the  shell  and
+       t\bti\bim\bme\bes\bs  Print  the  accumulated  user and system times for the shell and
               for processes run from the shell.  The return status is 0.
 
        t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
               The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
               receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and there is a
-              single  _\bs_\bi_\bg_\bs_\bp_\be_\bc)  or  -\b-,  each  specified signal is reset to its
-              original disposition (the value it  had  upon  entrance  to  the
-              shell).   If  _\ba_\bc_\bt_\bi_\bo_\bn  is the null string the signal specified by
-              each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it  in-
+              single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified  signal  is  reset  to  its
+              original  disposition  (the  value  it  had upon entrance to the
+              shell).  If _\ba_\bc_\bt_\bi_\bo_\bn is the null string the  signal  specified  by
+              each  _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it in-
               vokes.
 
-              If  no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+              If no arguments are supplied, t\btr\bra\bap\bp displays the actions  associ-
               ated with each trapped signal as a set of t\btr\bra\bap\bp commands that can
-              be  reused as shell input to restore the current signal disposi-
-              tions.  If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is  not  present,  then  t\btr\bra\bap\bp
-              displays  the  actions  associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
+              be reused as shell input to restore the current signal  disposi-
+              tions.   If  -\b-p\bp  is  given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
+              displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc  or,  if  none
               are supplied, for all trapped signals, as a set of t\btr\bra\bap\bp commands
-              that  can be reused as shell input to restore the current signal
-              dispositions.  The -\b-P\bP option  behaves  similarly,  but  displays
-              only  the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  -\b-P\bP re-
-              quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  The -\b-P\bP or -\b-p\bp  options  to
-              t\btr\bra\bap\b may  be used in a subshell environment (e.g., command sub-
-              stitution) and, as long as they are used before t\btr\bra\bap\bp is used  to
-              change  a  signal's handling, will display the state of its par-
+              that can be reused as shell input to restore the current  signal
+              dispositions.   The  -\b-P\bP  option  behaves similarly, but displays
+              only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  -\b-P\b re-
+              quires  at  least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument.  The -\b-P\bP or -\b-p\bp options to
+              t\btr\bra\bap\bmay be used in a subshell environment (e.g.,  command  sub-
+              stitution)  and, as long as they are used before t\btr\bra\bap\bp is used to
+              change a signal's handling, will display the state of  its  par-
               ent's traps.
 
-              The -\b-l\bl option causes t\btr\bra\bap\bp to print a list of  signal  names  and
-              their  corresponding  numbers.   Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal
-              name defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal  number.   Signal  names
+              The  -\b-l\bl  option  causes t\btr\bra\bap\bp to print a list of signal names and
+              their corresponding numbers.  Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is  either  a  signal
+              name  defined  in  <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number.  Signal names
               are case insensitive and the S\bSI\bIG\bG prefix is optional.
 
-              If  a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit
-              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the  command  _\ba_\bc_\bt_\bi_\bo_\b is
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on  exit
+              from  the  shell.   If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\bc_\bt_\bi_\bo_\bn is
               executed before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
-              _\bs_\be_\bl_\be_\bc_\bcommand, (( arithmetic command, [[  conditional  command,
+              _\bs_\be_\bl_\be_\bc_\b command,  (( arithmetic command, [[ conditional command,
               arithmetic _\bf_\bo_\br command, and before the first command executes in
-              a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).  Refer  to  the  de-
-              scription  of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for de-
-              tails of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is  R\bRE\bET\bTU\bUR\bRN\bN,
-              the  command  _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function or a
-              script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins  finishes  execut-
+              a  shell  function  (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).  Refer to the de-
+              scription of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt  builtin  for  de-
+              tails  of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN,
+              the command _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function  or  a
+              script  executed  with the .\b. or s\bso\bou\bur\brc\bce\be builtins finishes execut-
               ing.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed  whenever  a
               pipeline (which may consist of a single simple command), a list,
               or a compound command returns a non-zero exit status, subject to
-              the following conditions.  The E\bER\bRR\bR trap is not executed  if  the
+              the  following  conditions.  The E\bER\bRR\bR trap is not executed if the
               failed command is part of the command list immediately following
-              a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an  _\bi_\b statement,
+              a  w\bwh\bhi\bil\ble\be  or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
               part of a command executed in a &\b&&\b& or |\b||\b| list except the command
-              following the final &\b&&\b& or |\b||\b|, any command in a pipeline but  the
-              last,  or  if the command's return value is being inverted using
+              following  the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+              last, or if the command's return value is being  inverted  using
               !\b!.  These are the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) op-
               tion.
 
               When the shell is not interactive, signals ignored upon entry to
               the shell cannot be trapped or reset.  Interactive shells permit
               trapping signals ignored on entry.  Trapped signals that are not
-              being ignored are reset to their original values in  a  subshell
-              or  subshell environment when one is created.  The return status
+              being  ignored  are reset to their original values in a subshell
+              or subshell environment when one is created.  The return  status
               is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\btr\bru\bue\be   Does nothing, returns a 0 status.
 
        t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
-              With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted  if
+              With  no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
               used as a command name.  If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
-              string which is one of _\ba_\bl_\bi_\ba_\bs,  _\bk_\be_\by_\bw_\bo_\br_\bd,  _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn,  _\bb_\bu_\bi_\bl_\bt_\bi_\bn,  or
-              _\bf_\bi_\bl_\b if  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word, function,
-              builtin, or executable disk file, respectively.  If the _\bn_\ba_\bm_\b is
-              not  found, then nothing is printed, and t\bty\byp\bpe\be returns a non-zero
-              exit status.  If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns  the
-              name  of  the  executable  file that would be found by searching
-              $\b$P\bPA\bAT\bTH\bif _\bn_\ba_\bm_\be were specified as a command name,  or  nothing  if
-              ``type  -t name'' would not return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a
-              P\bPA\bAT\bTH\bsearch for each _\bn_\ba_\bm_\be, even if ``type -t  name''  would  not
+              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
+              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
+              builtin,  or executable disk file, respectively.  If the _\bn_\ba_\bm_\be is
+              not found, then nothing is printed, and t\bty\byp\bpe\be returns a  non-zero
+              exit  status.  If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the
+              name of the executable file that would  be  found  by  searching
+              $\b$P\bPA\bAT\bTH\b if  _\bn_\ba_\bm_\be  were specified as a command name, or nothing if
+              ``type -t name'' would not return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces  a
+              P\bPA\bAT\bTH\b search  for  each _\bn_\ba_\bm_\be, even if ``type -t name'' would not
               return _\bf_\bi_\bl_\be.  If a command is hashed, -\b-p\bp and -\b-P\bP print the hashed
-              value, which is not necessarily the file that appears  first  in
-              P\bPA\bAT\bTH\bH.   If  the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of the places
-              that contain a command named _\bn_\ba_\bm_\be.  This includes  aliases,  re-
-              served  words,  functions, and builtins, but the path search op-
+              value,  which  is not necessarily the file that appears first in
+              P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of  the  places
+              that  contain  a command named _\bn_\ba_\bm_\be.  This includes aliases, re-
+              served words, functions, and builtins, but the path  search  op-
               tions (-\b-p\bp and -\b-P\bP) can be supplied to restrict the output to exe-
-              cutable  files.   t\bty\byp\bpe\be does not consult the table of hashed com-
+              cutable files.  t\bty\byp\bpe\be does not consult the table of  hashed  com-
               mands when using -\b-a\ba with -\b-p\bp, and only performs a P\bPA\bAT\bTH\bH search for
-              _\bn_\ba_\bm_\be.   The  -\b-f\bf option suppresses shell function lookup, as with
-              the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true if all of the  arguments
+              _\bn_\ba_\bm_\be.  The -\b-f\bf option suppresses shell function lookup,  as  with
+              the  c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true if all of the arguments
               are found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
-              Provides  control  over the resources available to the shell and
-              to processes started by it, on systems that allow such  control.
+              Provides control over the resources available to the  shell  and
+              to  processes started by it, on systems that allow such control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for the given resource.  A hard limit cannot be increased  by  a
-              non-root  user  once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              for  the  given resource.  A hard limit cannot be increased by a
+              non-root user once it is set; a soft limit may be  increased  up
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current hard limit, the current soft limit, and  no  limit,  re-
-              spectively.   If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
+              current  hard  limit,  the current soft limit, and no limit, re-
+              spectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the  soft
               limit of the resource is printed, unless the -\b-H\bH option is given.
-              When  more  than  one  resource is specified, the limit name and
-              unit, if appropriate, are printed before the value.   Other  op-
+              When more than one resource is specified,  the  limit  name  and
+              unit,  if  appropriate, are printed before the value.  Other op-
               tions are interpreted as follows:
               -\b-a\ba     All current limits are reported; no limits are set
               -\b-b\bb     The maximum socket buffer size
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-k\bk     The maximum number of kqueues that may be allocated
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -6489,134 +6490,134 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The maximum number of processes  available  to  a  single
+              -\b-u\bu     The  maximum  number  of  processes available to a single
                      user
-              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
+              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-P\bP     The maximum number of pseudoterminals
-              -\b-R\bR     The maximum time  a  real-time  process  can  run  before
+              -\b-R\bR     The  maximum  time  a  real-time  process  can run before
                      blocking, in microseconds
               -\b-T\bT     The maximum number of threads
 
-              If  _\bl_\bi_\bm_\bi_\bt  is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
-              new value of the specified resource.  If  no  option  is  given,
-              then  -\b-f\bf is assumed.  Values are in 1024-byte increments, except
-              for -\b-t\bt, which is in seconds; -\b-R\bR, which is in  microseconds;  -\b-p\bp,
-              which  is  in  units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
-              -\b-u\bu, which are unscaled values; and, when in posix mode,  -\b-c\b and
-              -\b-f\bf,  which  are  in 512-byte increments.  The return status is 0
-              unless an invalid option or argument is supplied,  or  an  error
+              If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt  is  the
+              new  value  of  the  specified resource.  If no option is given,
+              then -\b-f\bf is assumed.  Values are in 1024-byte increments,  except
+              for  -\b-t\bt,  which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
+              which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb,  -\b-k\bk,  -\b-n\bn,  and
+              -\b-u\bu,  which  are unscaled values; and, when in posix mode, -\b-c\bc and
+              -\b-f\bf, which are in 512-byte increments.  The return  status  is  0
+              unless  an  invalid  option or argument is supplied, or an error
               occurs while setting a new limit.
 
        u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
               The user file-creation mask is set to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with
-              a digit, it is interpreted as an octal number; otherwise  it  is
-              interpreted  as a symbolic mode mask similar to that accepted by
-              _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, the current value of the mask  is
-              printed.   The  -\b-S\bS  option causes the mask to be printed in sym-
-              bolic form; the default output is an octal number.   If  the  -\b-p\bp
+              a  digit,  it is interpreted as an octal number; otherwise it is
+              interpreted as a symbolic mode mask similar to that accepted  by
+              _\bc_\bh_\bm_\bo_\bd(1).   If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+              printed.  The -\b-S\bS option causes the mask to be  printed  in  sym-
+              bolic  form;  the  default output is an octal number.  If the -\b-p\bp
               option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
               that may be reused as input.  The return status is 0 if the mode
-              was  successfully  changed  or if no _\bm_\bo_\bd_\be argument was supplied,
+              was successfully changed or if no _\bm_\bo_\bd_\be  argument  was  supplied,
               and false otherwise.
 
        u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
-              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
-              supplied,  all  alias definitions are removed.  The return value
+              Remove  each  _\bn_\ba_\bm_\be  from  the list of defined aliases.  If -\b-a\ba is
+              supplied, all alias definitions are removed.  The  return  value
               is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
 
        u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
-              For each _\bn_\ba_\bm_\be, remove the corresponding  variable  or  function.
+              For  each  _\bn_\ba_\bm_\be,  remove the corresponding variable or function.
               If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
-              and that variable is removed.  Read-only variables  may  not  be
-              unset.   If  -\b-f\bf  is specified, each _\bn_\ba_\bm_\be refers to a shell func-
-              tion, and the function definition is removed.  If the -\b-n\b option
-              is  supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
-              _\bn_\ba_\bm_\bwill be unset rather than the variable it  references.   -\b-n\bn
-              has  no  effect if the -\b-f\bf option is supplied.  If no options are
-              supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is  no  vari-
-              able  by that name, a function with that name, if any, is unset.
-              Each unset variable or function is removed from the  environment
-              passed   to   subsequent  commands.   If  any  of  B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
+              and  that  variable  is removed.  Read-only variables may not be
+              unset.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to  a  shell  func-
+              tion,  and the function definition is removed.  If the -\b-n\bn option
+              is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\b attribute,
+              _\bn_\ba_\bm_\b will  be unset rather than the variable it references.  -\b-n\bn
+              has no effect if the -\b-f\bf option is supplied.  If no  options  are
+              supplied,  each  _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+              able by that name, a function with that name, if any, is  unset.
+              Each  unset variable or function is removed from the environment
+              passed  to  subsequent  commands.   If  any   of   B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
               B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0,  B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS,  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD,  B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL,  B\bBA\bAS\bSH\bHP\bPI\bID\bD,
-              C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,  E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
-              N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or  S\bSR\bRA\bAN\bND\bDO\bOM\b are
+              C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,  E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS,  F\bFU\bUN\bNC\bC-\b-
+              N\bNA\bAM\bME\bE,  G\bGR\bRO\bOU\bUP\bPS\bS,  H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
               unset, they lose their special properties, even if they are sub-
               sequently reset.  The exit status is true unless a _\bn_\ba_\bm_\be is read-
               only or may not be unset.
 
        w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd _\b._\b._\b.]
               Wait for each specified child process and return its termination
-              status.  Each _\bi_\bd may be a process ID or a job specification;  if
-              a  job  spec  is given, all processes in that job's pipeline are
-              waited for.  If _\bi_\bd is not given,  w\bwa\bai\bit\bt  waits  for  all  running
-              background  jobs  and the last-executed process substitution, if
+              status.   Each _\bi_\bd may be a process ID or a job specification; if
+              a job spec is given, all processes in that  job's  pipeline  are
+              waited  for.   If  _\bi_\bd  is  not given, w\bwa\bai\bit\bt waits for all running
+              background jobs and the last-executed process  substitution,  if
               its process id is the same as $\b$!\b!, and the return status is zero.
-              If  the  -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
+              If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single  job  from
               the list of _\bi_\bds or, if no _\bi_\bds are supplied, any job, to complete
-              and  returns its exit status.  If none of the supplied arguments
+              and returns its exit status.  If none of the supplied  arguments
               is a child of the shell, or if no arguments are supplied and the
-              shell  has no unwaited-for children, the exit status is 127.  If
-              the -\b-p\bp option is supplied, the process or job identifier of  the
-              job  for  which  the  exit status is returned is assigned to the
-              variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the  option  argument.   The  variable
-              will  be unset initially, before any assignment.  This is useful
-              only when the -\b-n\bn option is supplied.  Supplying the  -\b-f\b option,
-              when  job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
+              shell has no unwaited-for children, the exit status is 127.   If
+              the  -\b-p\bp option is supplied, the process or job identifier of the
+              job for which the exit status is returned  is  assigned  to  the
+              variable  _\bv_\ba_\br_\bn_\ba_\bm_\be  named  by  the option argument.  The variable
+              will be unset initially, before any assignment.  This is  useful
+              only  when  the -\b-n\bn option is supplied.  Supplying the -\b-f\bf option,
+              when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to  ter-
               minate before returning its status, instead of returning when it
-              changes  status.  If _\bi_\bd specifies a non-existent process or job,
-              the return status is 127.  If w\bwa\bai\bit\bt is interrupted by  a  signal,
-              the  return  status will be greater than 128, as described under
-              S\bSI\bIG\bGN\bNA\bAL\bLS\babove.  Otherwise, the return status is the exit  status
+              changes status.  If _\bi_\bd specifies a non-existent process or  job,
+              the  return  status is 127.  If w\bwa\bai\bit\bt is interrupted by a signal,
+              the return status will be greater than 128, as  described  under
+              S\bSI\bIG\bGN\bNA\bAL\bLS\b above.  Otherwise, the return status is the exit status
               of the last process or job waited for.
 
 S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
-       Bash-4.0  introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
-       fied as a set of options to the shopt  builtin  (  c\bco\bom\bmp\bpa\bat\bt3\b31\b1,  c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
-       c\bco\bom\bmp\bpa\bat\bt4\b40\b0,  c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one current compatibil-
-       ity level -- each option  is  mutually  exclusive.   The  compatibility
-       level  is intended to allow users to select behavior from previous ver-
-       sions that is incompatible  with  newer  versions  while  they  migrate
-       scripts  to  use  current  features and behavior. It's intended to be a
+       Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl,  speci-
+       fied  as  a  set  of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
+       c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one current  compatibil-
+       ity  level  --  each  option  is mutually exclusive.  The compatibility
+       level is intended to allow users to select behavior from previous  ver-
+       sions  that  is  incompatible  with  newer  versions while they migrate
+       scripts to use current features and behavior. It's  intended  to  be  a
        temporary solution.
 
-       This section does not mention behavior that is standard for a  particu-
-       lar  version  (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
-       regexp matching operator quotes special regexp characters in the  word,
+       This  section does not mention behavior that is standard for a particu-
+       lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs  of  the
+       regexp  matching operator quotes special regexp characters in the word,
        which is default behavior in bash-3.2 and subsequent versions).
 
-       If  a  user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
-       compatibility levels up to  and  including  the  current  compatibility
-       level.   The  idea  is  that each compatibility level controls behavior
-       that changed in that version of b\bba\bas\bsh\bh, but that behavior may  have  been
-       present  in  earlier versions.  For instance, the change to use locale-
-       based comparisons with the [\b[[\b[ command came  in  bash-4.1,  and  earlier
+       If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior  of  other
+       compatibility  levels  up  to  and  including the current compatibility
+       level.  The idea is that each  compatibility  level  controls  behavior
+       that  changed  in that version of b\bba\bas\bsh\bh, but that behavior may have been
+       present in earlier versions.  For instance, the change to  use  locale-
+       based  comparisons  with  the  [\b[[\b[ command came in bash-4.1, and earlier
        versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
-       ASCII-based comparisons as well.  That granularity may  not  be  suffi-
-       cient  for  all uses, and as a result users should employ compatibility
-       levels carefully.  Read the documentation for a particular  feature  to
+       ASCII-based  comparisons  as  well.  That granularity may not be suffi-
+       cient for all uses, and as a result users should  employ  compatibility
+       levels  carefully.   Read the documentation for a particular feature to
        find out the current behavior.
 
-       Bash-4.3  introduced  a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The value as-
+       Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The  value  as-
        signed to this variable (a decimal version number like 4.2, or an inte-
-       ger  corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+       ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the  com-
        patibility level.
 
-       Starting with bash-4.4, b\bba\bas\bsh\bh has begun deprecating older  compatibility
-       levels.   Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
+       Starting  with bash-4.4, b\bba\bas\bsh\bh has begun deprecating older compatibility
+       levels.  Eventually, the options will be removed in favor of  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
        P\bPA\bAT\bT.
 
-       Bash-5.0 is the final version for which there  will  be  an  individual
-       shopt  option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
+       Bash-5.0  is  the  final  version for which there will be an individual
+       shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\b on
        bash-5.0 and later versions.
 
-       The following table describes the behavior changes controlled  by  each
+       The  following  table describes the behavior changes controlled by each
        compatibility level setting.  The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
        setting the compatibility level to _\bN_\bN using one of the following mecha-
-       nisms.   For versions prior to bash-5.0, the compatibility level may be
-       set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.   For  bash-4.3  and
-       later  versions,  the  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+       nisms.  For versions prior to bash-5.0, the compatibility level may  be
+       set  using  the  corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.  For bash-4.3 and
+       later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and  it  is  re-
        quired for bash-5.1 and later versions.
 
        c\bco\bom\bmp\bpa\bat\bt3\b31\b1
@@ -6624,139 +6625,139 @@ S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
                      ator (=~) has no special effect
 
        c\bco\bom\bmp\bpa\bat\bt3\b32\b2
-              +\bo      the  <\b<  and >\b> operators to the [\b[[\b[ command do not consider
+              +\bo      the <\b< and >\b> operators to the [\b[[\b[ command do  not  consider
                      the current locale when comparing strings; they use ASCII
                      ordering.
 
        c\bco\bom\bmp\bpa\bat\bt4\b40\b0
-              +\bo      the  <\b<  and >\b> operators to the [\b[[\b[ command do not consider
+              +\bo      the <\b< and >\b> operators to the [\b[[\b[ command do  not  consider
                      the current locale when comparing strings; they use ASCII
                      ordering.  B\bBa\bas\bsh\bh versions prior to bash-4.1 use ASCII col-
-                     lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the  current
+                     lation  and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
                      locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
 
        c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-              +\bo      in  _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+              +\bo      in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and  still
                      be recognized as a reserved word (this is POSIX interpre-
                      tation 267)
               +\bo      in _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
-                     single quotes occur in the  _\bw_\bo_\br_\bd  portion  of  a  double-
-                     quoted  parameter expansion and treats them specially, so
-                     that characters within the single quotes  are  considered
+                     single  quotes  occur  in  the  _\bw_\bo_\br_\bd portion of a double-
+                     quoted parameter expansion and treats them specially,  so
+                     that  characters  within the single quotes are considered
                      quoted (this is POSIX interpretation 221)
 
        c\bco\bom\bmp\bpa\bat\bt4\b42\b2
               +\bo      the replacement string in double-quoted pattern substitu-
-                     tion does not undergo quote removal, as it does  in  ver-
+                     tion  does  not undergo quote removal, as it does in ver-
                      sions after bash-4.2
-              +\bo      in  posix mode, single quotes are considered special when
-                     expanding the _\bw_\bo_\br_\bd portion of a  double-quoted  parameter
-                     expansion  and  can  be  used to quote a closing brace or
-                     other special character (this is part of POSIX  interpre-
-                     tation  221);  in  later  versions, single quotes are not
+              +\bo      in posix mode, single quotes are considered special  when
+                     expanding  the  _\bw_\bo_\br_\bd portion of a double-quoted parameter
+                     expansion and can be used to quote  a  closing  brace  or
+                     other  special character (this is part of POSIX interpre-
+                     tation 221); in later versions,  single  quotes  are  not
                      special within double-quoted word expansions
 
        c\bco\bom\bmp\bpa\bat\bt4\b43\b3
-              +\bo      the shell does not print a warning message if an  attempt
-                     is  made  to use a quoted compound assignment as an argu-
-                     ment to declare (e.g., declare  -a  foo='(1  2)').  Later
+              +\bo      the  shell does not print a warning message if an attempt
+                     is made to use a quoted compound assignment as  an  argu-
+                     ment  to  declare  (e.g.,  declare -a foo='(1 2)'). Later
                      versions warn that this usage is deprecated
-              +\bo      word  expansion  errors  are  considered non-fatal errors
-                     that cause the current command to  fail,  even  in  posix
-                     mode  (the  default behavior is to make them fatal errors
+              +\bo      word expansion errors  are  considered  non-fatal  errors
+                     that  cause  the  current  command to fail, even in posix
+                     mode (the default behavior is to make them  fatal  errors
                      that cause the shell to exit)
-              +\bo      when  executing  a  shell  function,   the   loop   state
+              +\bo      when   executing   a   shell  function,  the  loop  state
                      (while/until/etc.)  is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
                      that function will break or continue loops in the calling
-                     context.  Bash-4.4 and later reset the loop state to pre-
+                     context. Bash-4.4 and later reset the loop state to  pre-
                      vent this
 
        c\bco\bom\bmp\bpa\bat\bt4\b44\b4
-              +\bo      the shell sets  up  the  values  used  by  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\b and
-                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b so  they  can expand to the shell's positional
+              +\bo      the  shell  sets  up  the  values  used  by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bso they can expand to  the  shell's  positional
                      parameters even if extended debugging mode is not enabled
-              +\bo      a subshell inherits loops from  its  parent  context,  so
-                     b\bbr\bre\bea\bak\b or  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to exit.
-                     Bash-5.0 and later reset the loop state  to  prevent  the
+              +\bo      a  subshell  inherits  loops  from its parent context, so
+                     b\bbr\bre\bea\bak\bor  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to  exit.
+                     Bash-5.0  and  later  reset the loop state to prevent the
                      exit
-              +\bo      variable  assignments  preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+              +\bo      variable assignments preceding builtins like  e\bex\bxp\bpo\bor\brt\b and
                      r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
                      with the same name in the calling environment even if the
                      shell is not in posix mode
 
        c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-              +\bo      Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated  to  intro-
+              +\bo      Bash-5.1  changed  the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
                      duce slightly more randomness. If the shell compatibility
-                     level is set to 50 or lower, it  reverts  to  the  method
-                     from  bash-5.0 and previous versions, so seeding the ran-
-                     dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\b will
+                     level  is  set  to  50 or lower, it reverts to the method
+                     from bash-5.0 and previous versions, so seeding the  ran-
+                     dom  number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
                      produce the same sequence as in bash-5.0
-              +\bo      If  the  command hash table is empty, bash versions prior
-                     to bash-5.1 printed an informational message to that  ef-
-                     fect,  even  when  producing output that can be reused as
-                     input. Bash-5.1 suppresses that message when the  -\b-l\b op-
+              +\bo      If the command hash table is empty, bash  versions  prior
+                     to  bash-5.1 printed an informational message to that ef-
+                     fect, even when producing output that can  be  reused  as
+                     input.  Bash-5.1  suppresses that message when the -\b-l\bl op-
                      tion is supplied.
 
        c\bco\bom\bmp\bpa\bat\bt5\b51\b1
-              +\bo      The  u\bun\bns\bse\bet\bt  builtin  treats  attempts to unset array sub-
-                     scripts @\b@ and *\b* differently depending on whether the  ar-
-                     ray  is  indexed  or associative, and differently than in
+              +\bo      The u\bun\bns\bse\bet\bt builtin treats attempts  to  unset  array  sub-
+                     scripts  @\b@ and *\b* differently depending on whether the ar-
+                     ray is indexed or associative, and  differently  than  in
                      previous versions.
               +\bo      arithmetic commands ( ((...)) ) and the expressions in an
                      arithmetic for statement can be expanded more than once
-              +\bo      expressions  used as arguments to arithmetic operators in
+              +\bo      expressions used as arguments to arithmetic operators  in
                      the [\b[[\b[ conditional command can be expanded more than once
-              +\bo      the expressions in substring  parameter  brace  expansion
+              +\bo      the  expressions  in  substring parameter brace expansion
                      can be expanded more than once
-              +\bo      the  expressions  in the $(( ... )) word expansion can be
+              +\bo      the expressions in the $(( ... )) word expansion  can  be
                      expanded more than once
-              +\bo      arithmetic expressions used as indexed  array  subscripts
+              +\bo      arithmetic  expressions  used as indexed array subscripts
                      can be expanded more than once
-              +\bo      t\bte\bes\bst\b -\b-v\bv,  when given an argument of A\bA[\b[@\b@]\b], where A\bAP\bP i\bis\bs a\ban\bn
+              +\bo      t\bte\bes\bst\b-\b-v\bv, when given an argument of A\bA[\b[@\b@]\b], where A\bAP\bP  i\bis\b a\ban\bn
                      e\bex\bxi\bis\bst\bti\bin\bng\bg a\bas\bss\bso\boc\bci\bia\bat\bti\biv\bve\be a\bar\brr\bra\bay\by,\b, w\bwi\bil\bll\bl r\bre\bet\btu\bur\brn\bn t\btr\bru\bue\be i\bif\bf t\bth\bhe\be a\bar\brr\bra\bay\by
-                     h\bha\bas\b a\ban\bny\by s\bse\bet\bt e\bel\ble\bem\bme\ben\bnt\bts\bs.\b.  B\bBa\bas\bsh\bh-\b-5\b5.\b.2\b2 w\bwi\bil\bll\bl l\blo\boo\bok\bk f\bfo\bor\br a\ban\bnd\bd r\bre\bep\bpo\bor\brt\bt
+                     h\bha\bas\ba\ban\bny\by s\bse\bet\bt e\bel\ble\bem\bme\ben\bnt\bts\bs.\b.  B\bBa\bas\bsh\bh-\b-5\b5.\b.2\b2 w\bwi\bil\bll\bl l\blo\boo\bok\bk f\bfo\bor\br a\ban\bnd\b r\bre\bep\bpo\bor\brt\bt
                      o\bon\bn a\ba k\bke\bey\by n\bna\bam\bme\bed\bd @\b@.\b.
               +\b+\bo\bo      the  ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[\b[:\b:]\b]=\b=_\bv_\ba_\bl_\bu_\be}  word  expansion  will  return
-                     _\bv_\ba_\bl_\bu_\be,  before any variable-specific transformations have
+                     _\bv_\ba_\bl_\bu_\be, before any variable-specific transformations  have
                      been performed (e.g., converting to lowercase).  Bash-5.2
                      will return the final value assigned to the variable.
-              +\bo      Parsing  command substitutions will behave as if extended
+              +\bo      Parsing command substitutions will behave as if  extended
                      globbing (see the description of the s\bsh\bho\bop\bpt\bt builtin above)
-                     is  enabled,  so that parsing a command substitution con-
+                     is enabled, so that parsing a command  substitution  con-
                      taining an extglob pattern (say, as part of a shell func-
-                     tion)  will  not fail.  This assumes the intent is to en-
-                     able extglob before the command is executed and word  ex-
-                     pansions  are  performed.  It will fail at word expansion
-                     time if extglob hasn't been enabled by the time the  com-
+                     tion) will not fail.  This assumes the intent is  to  en-
+                     able  extglob before the command is executed and word ex-
+                     pansions are performed.  It will fail at  word  expansion
+                     time  if extglob hasn't been enabled by the time the com-
                      mand is executed.
 
 R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
-       invocation, the shell becomes restricted.  A restricted shell  is  used
-       to  set  up an environment more controlled than the standard shell.  It
-       behaves identically to b\bba\bas\bsh\bh with the exception that the  following  are
+       invocation,  the  shell becomes restricted.  A restricted shell is used
+       to set up an environment more controlled than the standard  shell.   It
+       behaves  identically  to b\bba\bas\bsh\bh with the exception that the following are
        disallowed or not performed:
 
        +\bo      changing directories with c\bcd\bd
 
-       +\bo      setting  or  unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
+       +\bo      setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH,  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE,  E\bEN\bNV\bV,
               or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying a filename containing a /\b/ as an  argument  to  the  .\b.
+       +\bo      specifying  a  filename  containing  a /\b/ as an argument to the .\b.
               builtin command
 
-       +\bo      specifying  a  filename containing a slash as an argument to the
+       +\bo      specifying a filename containing a slash as an argument  to  the
               h\bhi\bis\bst\bto\bor\bry\by builtin command
 
-       +\bo      specifying a filename containing a slash as an argument  to  the
+       +\bo      specifying  a  filename containing a slash as an argument to the
               -\b-p\bp option to the h\bha\bas\bsh\bh builtin command
 
-       +\bo      importing  function  definitions  from  the shell environment at
+       +\bo      importing function definitions from  the  shell  environment  at
               startup
 
-       +\bo      parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from  the  shell  environment  at
+       +\bo      parsing  the  value  of  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
               startup
 
        +\bo      redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -6765,28 +6766,28 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
 
-       +\bo      adding  or  deleting builtin commands with the -\b-f\bf and -\b-d\bd options
+       +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      using the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled  shell
+       +\bo      using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
 
-       +\bo      turning  off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\bu r\bre\be-\b-
+       +\bo      turning off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\b r\bre\be-\b-
               s\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl.
 
        These restrictions are enforced after any startup files are read.
 
        When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\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 --
               http://pubs.opengroup.org/onlinepubs/9699919799/
        http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode
@@ -6804,10 +6805,10 @@ F\bFI\bIL\bLE\bES\bS
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
               The individual per-interactive-shell startup file
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
-              The  individual  login shell cleanup file, executed when a login
+              The individual login shell cleanup file, executed when  a  login
               shell exits
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by
-              The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves  the
+              The  default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
               command history
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -6821,15 +6822,15 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        If you find a bug in b\bba\bas\bsh\bh, you should report it.  But first, you should
-       make sure that it really is a bug, and that it appears  in  the  latest
-       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
+       make  sure  that  it really is a bug, and that it appears in the latest
+       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/          and          _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bg_\bi_\bt_\b._\bs_\ba_\bv_\ba_\bn_\b-
        _\bn_\ba_\bh_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bc_\bg_\bi_\bt_\b/_\bb_\ba_\bs_\bh_\b._\bg_\bi_\bt_\b/_\bs_\bn_\ba_\bp_\bs_\bh_\bo_\bt_\b/_\bb_\ba_\bs_\bh_\b-_\bm_\ba_\bs_\bt_\be_\br_\b._\bt_\ba_\br_\b._\bg_\bz.
 
-       Once  you  have  determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
-       command to submit a bug report.  If you have a fix, you are  encouraged
-       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:
@@ -6840,7 +6841,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_\b inserts  the first three items automatically into the template
+       _\bb_\ba_\bs_\bh_\bb_\bu_\binserts the first three items automatically into  the  template
        it provides for filing a bug report.
 
        Comments and bug reports concerning this manual page should be directed
@@ -6857,10 +6858,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.
@@ -6869,4 +6870,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash 5.3                    2023 November 1                        BASH(1)
+GNU Bash 5.3                    2023 November 6                        BASH(1)
index 116bf1efaa84b3b3410196bf785fce84fe082241..f55f3ef07ea0b3bd14f4ef14a2d9f46ab396b931 100644 (file)
@@ -2290,7 +2290,7 @@ Control how the results of pathname expansion are sorted.
 The value of this variable specifies the sort criteria and sort order for
 the results of pathname expansion.
 If this variable is unset or set to the null string, pathname expansion
-uses the historial behavior of sorting by name.
+uses the historical behavior of sorting by name.
 If set, a valid value begins with an optional \fI+\fP, which is ignored,
 or \fI\-\fP, which reverses the sort order from ascending to descending,
 followed by a sort specifier.
index c6d0d4bead6e3413d763634c60f4ebc587420a8f..eff23a095c9a80fdd43d2e68e2d6a26f93f68c89 100644 (file)
@@ -1,9 +1,9 @@
 This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 1 November 2023).
+Bash shell (version 5.3, 6 November 2023).
 
-   This is Edition 5.3, last updated 1 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 1 November 2023).  The Bash home page is
+Bash shell (version 5.3, 6 November 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.3, last updated 1 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Bash contains features that appear in other popular shells, and some
@@ -4089,8 +4089,10 @@ standard.
      shared object FILENAME, on systems that support dynamic loading.
      Bash will use the value of the 'BASH_LOADABLES_PATH' variable as a
      colon-separated list of directories in which to search for
-     FILENAME.  The default is system-dependent.  The '-d' option will
-     delete a builtin loaded with '-f'.
+     FILENAME, if FILENAME does not contain a slash.  The default is
+     system-dependent, and may include "."  to force a search of the
+     current directory.  The '-d' option will delete a builtin loaded
+     with '-f'.
 
      If there are no options, a list of the shell builtins is displayed.
      The '-s' option restricts 'enable' to the POSIX special builtins.
@@ -5165,8 +5167,9 @@ This builtin allows you to change additional shell optional behavior.
           string is not translated, this has no effect.
 
      'nullglob'
-          If set, Bash allows filename patterns which match no files to
-          expand to a null string, rather than themselves.
+          If set, filename expansion patterns which match no files
+          (*note Filename Expansion::) expand to nothing and are
+          removed, rather than expanding to themselves.
 
      'patsub_replacement'
           If set, Bash expands occurrences of '&' in the replacement
@@ -5246,8 +5249,8 @@ differently than the rest of the Bash builtin commands.  The Bash POSIX
 mode is described in *note Bash POSIX Mode::.
 
    These are the POSIX special builtins:
-     break : . continue eval exec exit export readonly return set
-     shift trap unset
+     break : . source continue eval exec exit export readonly return set
+     shift times trap unset
 
 \1f
 File: bash.info,  Node: Shell Variables,  Next: Bash Features,  Prev: Shell Builtin Commands,  Up: Top
@@ -5698,7 +5701,7 @@ Variables::).
      Control how the results of filename expansion are sorted.  The
      value of this variable specifies the sort criteria and sort order
      for the results of filename expansion.  If this variable is unset
-     or set to the null string, filename expansion uses the historial
+     or set to the null string, filename expansion uses the historical
      behavior of sorting by name.  If set, a valid value begins with an
      optional '+', which is ignored, or '-', which reverses the sort
      order from ascending to descending, followed by a sort specifier.
@@ -9678,6 +9681,13 @@ File: bash.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bin
      result as shell commands.  Bash attempts to invoke '$VISUAL',
      '$EDITOR', and 'emacs' as the editor, in that order.
 
+'execute-named-command (M-x)'
+     Read a bindable readline command name from the input and execute
+     the function to which it's bound, as if the key sequence to which
+     it was bound appeared in the input.  If this function is supplied
+     with a numeric argument, it passes that argument to the function it
+     executes.
+
 \1f
 File: bash.info,  Node: Readline vi Mode,  Next: Programmable Completion,  Prev: Bindable Readline Commands,  Up: Command Line Editing
 
@@ -11119,7 +11129,7 @@ does not provide the necessary support.
      another instance of the shell from the environment.  This option is
      enabled by default.
 
-'--enable-glob-asciirange-default'
+'--enable-glob-asciiranges-default'
      Set the default value of the 'globasciiranges' shell option
      described above under *note The Shopt Builtin:: to be enabled.
      This controls the behavior of character ranges when used in pattern
@@ -12159,26 +12169,26 @@ D.1 Index of Shell Builtin Commands
                                                               (line 153)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 197)
-* help:                                  Bash Builtins.       (line 351)
+* help:                                  Bash Builtins.       (line 353)
 * history:                               Bash History Builtins.
                                                               (line  46)
 * jobs:                                  Job Control Builtins.
                                                               (line  27)
 * kill:                                  Job Control Builtins.
                                                               (line  58)
-* let:                                   Bash Builtins.       (line 370)
-* local:                                 Bash Builtins.       (line 378)
-* logout:                                Bash Builtins.       (line 395)
-* mapfile:                               Bash Builtins.       (line 400)
+* let:                                   Bash Builtins.       (line 372)
+* local:                                 Bash Builtins.       (line 380)
+* logout:                                Bash Builtins.       (line 397)
+* mapfile:                               Bash Builtins.       (line 402)
 * popd:                                  Directory Stack Builtins.
                                                               (line  35)
-* printf:                                Bash Builtins.       (line 446)
+* printf:                                Bash Builtins.       (line 448)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  69)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 222)
-* read:                                  Bash Builtins.       (line 514)
-* readarray:                             Bash Builtins.       (line 617)
+* read:                                  Bash Builtins.       (line 516)
+* readarray:                             Bash Builtins.       (line 619)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 232)
 * return:                                Bourne Shell Builtins.
@@ -12187,7 +12197,7 @@ D.1 Index of Shell Builtin Commands
 * shift:                                 Bourne Shell Builtins.
                                                               (line 272)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 626)
+* source:                                Bash Builtins.       (line 628)
 * suspend:                               Job Control Builtins.
                                                               (line 116)
 * test:                                  Bourne Shell Builtins.
@@ -12198,12 +12208,12 @@ D.1 Index of Shell Builtin Commands
                                                               (line 393)
 * true:                                  Bourne Shell Builtins.
                                                               (line 455)
-* type:                                  Bash Builtins.       (line 631)
-* typeset:                               Bash Builtins.       (line 669)
-* ulimit:                                Bash Builtins.       (line 675)
+* type:                                  Bash Builtins.       (line 633)
+* typeset:                               Bash Builtins.       (line 671)
+* ulimit:                                Bash Builtins.       (line 677)
 * umask:                                 Bourne Shell Builtins.
                                                               (line 460)
-* unalias:                               Bash Builtins.       (line 781)
+* unalias:                               Bash Builtins.       (line 783)
 * unset:                                 Bourne Shell Builtins.
                                                               (line 478)
 * wait:                                  Job Control Builtins.
@@ -12581,6 +12591,8 @@ D.4 Function Index
 * end-of-line (C-e):                     Commands For Moving. (line   9)
 * exchange-point-and-mark (C-x C-x):     Miscellaneous Commands.
                                                               (line  37)
+* execute-named-command (M-x):           Miscellaneous Commands.
+                                                              (line 146)
 * fetch-history ():                      Commands For History.
                                                               (line 103)
 * forward-backward-delete-char ():       Commands For Text.   (line  21)
@@ -12933,84 +12945,84 @@ Node: Shell Scripts\7f137019
 Node: Shell Builtin Commands\7f140043
 Node: Bourne Shell Builtins\7f142078
 Node: Bash Builtins\7f165467
-Node: Modifying Shell Behavior\7f198403
-Node: The Set Builtin\7f198745
-Node: The Shopt Builtin\7f209716
-Node: Special Builtins\7f225851
-Node: Shell Variables\7f226827
-Node: Bourne Shell Variables\7f227261
-Node: Bash Variables\7f229362
-Node: Bash Features\7f264427
-Node: Invoking Bash\7f265437
-Node: Bash Startup Files\7f271568
-Node: Interactive Shells\7f276696
-Node: What is an Interactive Shell?\7f277104
-Node: Is this Shell Interactive?\7f277750
-Node: Interactive Shell Behavior\7f278562
-Node: Bash Conditional Expressions\7f282188
-Node: Shell Arithmetic\7f287098
-Node: Aliases\7f290056
-Node: Arrays\7f292947
-Node: The Directory Stack\7f299578
-Node: Directory Stack Builtins\7f300359
-Node: Controlling the Prompt\7f304616
-Node: The Restricted Shell\7f307578
-Node: Bash POSIX Mode\7f310185
-Node: Shell Compatibility Mode\7f326439
-Node: Job Control\7f334684
-Node: Job Control Basics\7f335141
-Node: Job Control Builtins\7f340140
-Node: Job Control Variables\7f345932
-Node: Command Line Editing\7f347085
-Node: Introduction and Notation\7f348753
-Node: Readline Interaction\7f350373
-Node: Readline Bare Essentials\7f351561
-Node: Readline Movement Commands\7f353347
-Node: Readline Killing Commands\7f354304
-Node: Readline Arguments\7f356222
-Node: Searching\7f357263
-Node: Readline Init File\7f359446
-Node: Readline Init File Syntax\7f360704
-Node: Conditional Init Constructs\7f384726
-Node: Sample Init File\7f388919
-Node: Bindable Readline Commands\7f392040
-Node: Commands For Moving\7f393241
-Node: Commands For History\7f395289
-Node: Commands For Text\7f400280
-Node: Commands For Killing\7f404255
-Node: Numeric Arguments\7f406956
-Node: Commands For Completion\7f408092
-Node: Keyboard Macros\7f412280
-Node: Miscellaneous Commands\7f412965
-Node: Readline vi Mode\7f419000
-Node: Programmable Completion\7f419904
-Node: Programmable Completion Builtins\7f427681
-Node: A Programmable Completion Example\7f438798
-Node: Using History Interactively\7f444043
-Node: Bash History Facilities\7f444724
-Node: Bash History Builtins\7f447732
-Node: History Interaction\7f452820
-Node: Event Designators\7f456630
-Node: Word Designators\7f458165
-Node: Modifiers\7f460027
-Node: Installing Bash\7f461832
-Node: Basic Installation\7f462966
-Node: Compilers and Options\7f466685
-Node: Compiling For Multiple Architectures\7f467423
-Node: Installation Names\7f469112
-Node: Specifying the System Type\7f471218
-Node: Sharing Defaults\7f471932
-Node: Operation Controls\7f472602
-Node: Optional Features\7f473557
-Node: Reporting Bugs\7f484773
-Node: Major Differences From The Bourne Shell\7f486104
-Node: GNU Free Documentation License\7f502959
-Node: Indexes\7f528133
-Node: Builtin Index\7f528584
-Node: Reserved Word Index\7f535682
-Node: Variable Index\7f538127
-Node: Function Index\7f555258
-Node: Concept Index\7f568976
+Node: Modifying Shell Behavior\7f198516
+Node: The Set Builtin\7f198858
+Node: The Shopt Builtin\7f209829
+Node: Special Builtins\7f226021
+Node: Shell Variables\7f227010
+Node: Bourne Shell Variables\7f227444
+Node: Bash Variables\7f229545
+Node: Bash Features\7f264611
+Node: Invoking Bash\7f265621
+Node: Bash Startup Files\7f271752
+Node: Interactive Shells\7f276880
+Node: What is an Interactive Shell?\7f277288
+Node: Is this Shell Interactive?\7f277934
+Node: Interactive Shell Behavior\7f278746
+Node: Bash Conditional Expressions\7f282372
+Node: Shell Arithmetic\7f287282
+Node: Aliases\7f290240
+Node: Arrays\7f293131
+Node: The Directory Stack\7f299762
+Node: Directory Stack Builtins\7f300543
+Node: Controlling the Prompt\7f304800
+Node: The Restricted Shell\7f307762
+Node: Bash POSIX Mode\7f310369
+Node: Shell Compatibility Mode\7f326623
+Node: Job Control\7f334868
+Node: Job Control Basics\7f335325
+Node: Job Control Builtins\7f340324
+Node: Job Control Variables\7f346116
+Node: Command Line Editing\7f347269
+Node: Introduction and Notation\7f348937
+Node: Readline Interaction\7f350557
+Node: Readline Bare Essentials\7f351745
+Node: Readline Movement Commands\7f353531
+Node: Readline Killing Commands\7f354488
+Node: Readline Arguments\7f356406
+Node: Searching\7f357447
+Node: Readline Init File\7f359630
+Node: Readline Init File Syntax\7f360888
+Node: Conditional Init Constructs\7f384910
+Node: Sample Init File\7f389103
+Node: Bindable Readline Commands\7f392224
+Node: Commands For Moving\7f393425
+Node: Commands For History\7f395473
+Node: Commands For Text\7f400464
+Node: Commands For Killing\7f404439
+Node: Numeric Arguments\7f407140
+Node: Commands For Completion\7f408276
+Node: Keyboard Macros\7f412464
+Node: Miscellaneous Commands\7f413149
+Node: Readline vi Mode\7f419515
+Node: Programmable Completion\7f420419
+Node: Programmable Completion Builtins\7f428196
+Node: A Programmable Completion Example\7f439313
+Node: Using History Interactively\7f444558
+Node: Bash History Facilities\7f445239
+Node: Bash History Builtins\7f448247
+Node: History Interaction\7f453335
+Node: Event Designators\7f457145
+Node: Word Designators\7f458680
+Node: Modifiers\7f460542
+Node: Installing Bash\7f462347
+Node: Basic Installation\7f463481
+Node: Compilers and Options\7f467200
+Node: Compiling For Multiple Architectures\7f467938
+Node: Installation Names\7f469627
+Node: Specifying the System Type\7f471733
+Node: Sharing Defaults\7f472447
+Node: Operation Controls\7f473117
+Node: Optional Features\7f474072
+Node: Reporting Bugs\7f485289
+Node: Major Differences From The Bourne Shell\7f486620
+Node: GNU Free Documentation License\7f503475
+Node: Indexes\7f528649
+Node: Builtin Index\7f529100
+Node: Reserved Word Index\7f536198
+Node: Variable Index\7f538643
+Node: Function Index\7f555774
+Node: Concept Index\7f569630
 \1f
 End Tag Table
 
index d71ddf31732f5a8f0a7cac17d92a7d6c2a398483..8cbf13107858053399c3a2e6163fbd7d6daa03a8 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index f049251323e66efdd9dc5e0bfc7ff61dfc274e7f..c58af6313508c7be321cf20849f820073652d807 100644 (file)
 @xrdef{Programmable Completion-title}{Programmable Completion}
 @xrdef{Programmable Completion-snt}{Section@tie 8.6}
 @xrdef{Readline vi Mode-pg}{149}
-@xrdef{Programmable Completion-pg}{149}
+@xrdef{Programmable Completion-pg}{150}
 @xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
 @xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
 @xrdef{Programmable Completion Builtins-pg}{152}
index eb1771fa954a9f9b2aa1e54378f830335b90da21..6bcee5b7fa1c6b22267a5c674732ec330d5244a0 100644 (file)
@@ -36,7 +36,7 @@
 \entry{mapfile}{63}{\code {mapfile}}
 \entry{printf}{64}{\code {printf}}
 \entry{read}{65}{\code {read}}
-\entry{readarray}{66}{\code {readarray}}
+\entry{readarray}{67}{\code {readarray}}
 \entry{source}{67}{\code {source}}
 \entry{type}{67}{\code {type}}
 \entry{typeset}{67}{\code {typeset}}
index 792f7c8e23451e22b89004235b4d231a177fa4ef..82afb1dc415445cf5d7931490e5f6990b990a03c 100644 (file)
@@ -57,7 +57,7 @@
 \entry{\code {pwd}}{52}
 \initial {R}
 \entry{\code {read}}{65}
-\entry{\code {readarray}}{66}
+\entry{\code {readarray}}{67}
 \entry{\code {readonly}}{53}
 \entry{\code {return}}{53}
 \initial {S}
index 824199309af7a839fcf97ddbc5061a744c6059ed..8fc1e8515d0b64275a6719f45692bf8b8ce470f9 100644 (file)
 \entry{kill ring}{124}{kill ring}
 \entry{initialization file, readline}{125}{initialization file, readline}
 \entry{variables, readline}{126}{variables, readline}
-\entry{programmable completion}{149}{programmable completion}
+\entry{programmable completion}{150}{programmable completion}
 \entry{completion builtins}{152}{completion builtins}
 \entry{History, how to use}{158}{History, how to use}
 \entry{command history}{159}{command history}
index 9cb152eecdf30f8b32f527e57142c03065e375c2..5a4099c815e047b3fa940a943480c310b276e474 100644 (file)
 \entry{process group}{3}
 \entry{process group ID}{3}
 \entry{process substitution}{35}
-\entry{programmable completion}{149}
+\entry{programmable completion}{150}
 \entry{prompting}{107}
 \initial {Q}
 \entry{quoting}{6}
index c8db4f78e629532233126e54144f7f13f87ffe98..6f86579636e56bc7d06008a5c7544ac43e943d59 100644 (file)
 \entry{history-and-alias-expand-line ()}{149}{\code {history-and-alias-expand-line ()}}
 \entry{insert-last-argument (M-. or M-_)}{149}{\code {insert-last-argument (M-. or M-_)}}
 \entry{edit-and-execute-command (C-x C-e)}{149}{\code {edit-and-execute-command (C-x C-e)}}
+\entry{execute-named-command (M-x)}{149}{\code {execute-named-command (M-x)}}
index 31720235e7f08e80a0760b1fb70f2e9f5ab7d585..608e849212a09f14db8974c4beaf9f7b7cfaf2a9 100644 (file)
@@ -48,6 +48,7 @@
 \entry{\code {end-of-history (M->)}}{140}
 \entry{\code {end-of-line (C-e)}}{139}
 \entry{\code {exchange-point-and-mark (C-x C-x)}}{147}
+\entry{\code {execute-named-command (M-x)}}{149}
 \initial {F}
 \entry{\code {fetch-history ()}}{142}
 \entry{\code {forward-backward-delete-char ()}}{142}
index 1171f18a66d111b8bbf2e9d86b8902c31d37ea82..c7ecab6203d88511db0b4ddbdb3b0c6022878da1 100644 (file)
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.8 from
 bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 1 November 2023).
+Bash shell (version 5.3, 6 November 2023).
 
-   This is Edition 5.3, last updated 1 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 1 November 2023).  The Bash home page is
+Bash shell (version 5.3, 6 November 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.3, last updated 1 November 2023, of 'The GNU Bash
+   This is Edition 5.3, last updated 6 November 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.3.
 
    Bash contains features that appear in other popular shells, and some
@@ -4090,8 +4090,10 @@ standard.
      shared object FILENAME, on systems that support dynamic loading.
      Bash will use the value of the 'BASH_LOADABLES_PATH' variable as a
      colon-separated list of directories in which to search for
-     FILENAME.  The default is system-dependent.  The '-d' option will
-     delete a builtin loaded with '-f'.
+     FILENAME, if FILENAME does not contain a slash.  The default is
+     system-dependent, and may include "."  to force a search of the
+     current directory.  The '-d' option will delete a builtin loaded
+     with '-f'.
 
      If there are no options, a list of the shell builtins is displayed.
      The '-s' option restricts 'enable' to the POSIX special builtins.
@@ -5166,8 +5168,9 @@ This builtin allows you to change additional shell optional behavior.
           string is not translated, this has no effect.
 
      'nullglob'
-          If set, Bash allows filename patterns which match no files to
-          expand to a null string, rather than themselves.
+          If set, filename expansion patterns which match no files
+          (*note Filename Expansion::) expand to nothing and are
+          removed, rather than expanding to themselves.
 
      'patsub_replacement'
           If set, Bash expands occurrences of '&' in the replacement
@@ -5247,8 +5250,8 @@ differently than the rest of the Bash builtin commands.  The Bash POSIX
 mode is described in *note Bash POSIX Mode::.
 
    These are the POSIX special builtins:
-     break : . continue eval exec exit export readonly return set
-     shift trap unset
+     break : . source continue eval exec exit export readonly return set
+     shift times trap unset
 
 \1f
 File: bashref.info,  Node: Shell Variables,  Next: Bash Features,  Prev: Shell Builtin Commands,  Up: Top
@@ -5699,7 +5702,7 @@ Variables::).
      Control how the results of filename expansion are sorted.  The
      value of this variable specifies the sort criteria and sort order
      for the results of filename expansion.  If this variable is unset
-     or set to the null string, filename expansion uses the historial
+     or set to the null string, filename expansion uses the historical
      behavior of sorting by name.  If set, a valid value begins with an
      optional '+', which is ignored, or '-', which reverses the sort
      order from ascending to descending, followed by a sort specifier.
@@ -9679,6 +9682,13 @@ File: bashref.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up:
      result as shell commands.  Bash attempts to invoke '$VISUAL',
      '$EDITOR', and 'emacs' as the editor, in that order.
 
+'execute-named-command (M-x)'
+     Read a bindable readline command name from the input and execute
+     the function to which it's bound, as if the key sequence to which
+     it was bound appeared in the input.  If this function is supplied
+     with a numeric argument, it passes that argument to the function it
+     executes.
+
 \1f
 File: bashref.info,  Node: Readline vi Mode,  Next: Programmable Completion,  Prev: Bindable Readline Commands,  Up: Command Line Editing
 
@@ -11120,7 +11130,7 @@ does not provide the necessary support.
      another instance of the shell from the environment.  This option is
      enabled by default.
 
-'--enable-glob-asciirange-default'
+'--enable-glob-asciiranges-default'
      Set the default value of the 'globasciiranges' shell option
      described above under *note The Shopt Builtin:: to be enabled.
      This controls the behavior of character ranges when used in pattern
@@ -12160,26 +12170,26 @@ D.1 Index of Shell Builtin Commands
                                                               (line 153)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 197)
-* help:                                  Bash Builtins.       (line 351)
+* help:                                  Bash Builtins.       (line 353)
 * history:                               Bash History Builtins.
                                                               (line  46)
 * jobs:                                  Job Control Builtins.
                                                               (line  27)
 * kill:                                  Job Control Builtins.
                                                               (line  58)
-* let:                                   Bash Builtins.       (line 370)
-* local:                                 Bash Builtins.       (line 378)
-* logout:                                Bash Builtins.       (line 395)
-* mapfile:                               Bash Builtins.       (line 400)
+* let:                                   Bash Builtins.       (line 372)
+* local:                                 Bash Builtins.       (line 380)
+* logout:                                Bash Builtins.       (line 397)
+* mapfile:                               Bash Builtins.       (line 402)
 * popd:                                  Directory Stack Builtins.
                                                               (line  35)
-* printf:                                Bash Builtins.       (line 446)
+* printf:                                Bash Builtins.       (line 448)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  69)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 222)
-* read:                                  Bash Builtins.       (line 514)
-* readarray:                             Bash Builtins.       (line 617)
+* read:                                  Bash Builtins.       (line 516)
+* readarray:                             Bash Builtins.       (line 619)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 232)
 * return:                                Bourne Shell Builtins.
@@ -12188,7 +12198,7 @@ D.1 Index of Shell Builtin Commands
 * shift:                                 Bourne Shell Builtins.
                                                               (line 272)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 626)
+* source:                                Bash Builtins.       (line 628)
 * suspend:                               Job Control Builtins.
                                                               (line 116)
 * test:                                  Bourne Shell Builtins.
@@ -12199,12 +12209,12 @@ D.1 Index of Shell Builtin Commands
                                                               (line 393)
 * true:                                  Bourne Shell Builtins.
                                                               (line 455)
-* type:                                  Bash Builtins.       (line 631)
-* typeset:                               Bash Builtins.       (line 669)
-* ulimit:                                Bash Builtins.       (line 675)
+* type:                                  Bash Builtins.       (line 633)
+* typeset:                               Bash Builtins.       (line 671)
+* ulimit:                                Bash Builtins.       (line 677)
 * umask:                                 Bourne Shell Builtins.
                                                               (line 460)
-* unalias:                               Bash Builtins.       (line 781)
+* unalias:                               Bash Builtins.       (line 783)
 * unset:                                 Bourne Shell Builtins.
                                                               (line 478)
 * wait:                                  Job Control Builtins.
@@ -12582,6 +12592,8 @@ D.4 Function Index
 * end-of-line (C-e):                     Commands For Moving. (line   9)
 * exchange-point-and-mark (C-x C-x):     Miscellaneous Commands.
                                                               (line  37)
+* execute-named-command (M-x):           Miscellaneous Commands.
+                                                              (line 146)
 * fetch-history ():                      Commands For History.
                                                               (line 103)
 * forward-backward-delete-char ():       Commands For Text.   (line  21)
@@ -12934,84 +12946,84 @@ Node: Shell Scripts\7f137172
 Node: Shell Builtin Commands\7f140199
 Node: Bourne Shell Builtins\7f142237
 Node: Bash Builtins\7f165629
-Node: Modifying Shell Behavior\7f198568
-Node: The Set Builtin\7f198913
-Node: The Shopt Builtin\7f209887
-Node: Special Builtins\7f226025
-Node: Shell Variables\7f227004
-Node: Bourne Shell Variables\7f227441
-Node: Bash Variables\7f229545
-Node: Bash Features\7f264613
-Node: Invoking Bash\7f265626
-Node: Bash Startup Files\7f271760
-Node: Interactive Shells\7f276891
-Node: What is an Interactive Shell?\7f277302
-Node: Is this Shell Interactive?\7f277951
-Node: Interactive Shell Behavior\7f278766
-Node: Bash Conditional Expressions\7f282395
-Node: Shell Arithmetic\7f287308
-Node: Aliases\7f290269
-Node: Arrays\7f293163
-Node: The Directory Stack\7f299797
-Node: Directory Stack Builtins\7f300581
-Node: Controlling the Prompt\7f304841
-Node: The Restricted Shell\7f307806
-Node: Bash POSIX Mode\7f310416
-Node: Shell Compatibility Mode\7f326673
-Node: Job Control\7f334921
-Node: Job Control Basics\7f335381
-Node: Job Control Builtins\7f340383
-Node: Job Control Variables\7f346178
-Node: Command Line Editing\7f347334
-Node: Introduction and Notation\7f349005
-Node: Readline Interaction\7f350628
-Node: Readline Bare Essentials\7f351819
-Node: Readline Movement Commands\7f353608
-Node: Readline Killing Commands\7f354568
-Node: Readline Arguments\7f356489
-Node: Searching\7f357533
-Node: Readline Init File\7f359719
-Node: Readline Init File Syntax\7f360980
-Node: Conditional Init Constructs\7f385005
-Node: Sample Init File\7f389201
-Node: Bindable Readline Commands\7f392325
-Node: Commands For Moving\7f393529
-Node: Commands For History\7f395580
-Node: Commands For Text\7f400574
-Node: Commands For Killing\7f404552
-Node: Numeric Arguments\7f407256
-Node: Commands For Completion\7f408395
-Node: Keyboard Macros\7f412586
-Node: Miscellaneous Commands\7f413274
-Node: Readline vi Mode\7f419312
-Node: Programmable Completion\7f420219
-Node: Programmable Completion Builtins\7f427999
-Node: A Programmable Completion Example\7f439119
-Node: Using History Interactively\7f444367
-Node: Bash History Facilities\7f445051
-Node: Bash History Builtins\7f448062
-Node: History Interaction\7f453153
-Node: Event Designators\7f456966
-Node: Word Designators\7f458504
-Node: Modifiers\7f460369
-Node: Installing Bash\7f462177
-Node: Basic Installation\7f463314
-Node: Compilers and Options\7f467036
-Node: Compiling For Multiple Architectures\7f467777
-Node: Installation Names\7f469469
-Node: Specifying the System Type\7f471578
-Node: Sharing Defaults\7f472295
-Node: Operation Controls\7f472968
-Node: Optional Features\7f473926
-Node: Reporting Bugs\7f485145
-Node: Major Differences From The Bourne Shell\7f486479
-Node: GNU Free Documentation License\7f503337
-Node: Indexes\7f528514
-Node: Builtin Index\7f528968
-Node: Reserved Word Index\7f536069
-Node: Variable Index\7f538517
-Node: Function Index\7f555651
-Node: Concept Index\7f569372
+Node: Modifying Shell Behavior\7f198681
+Node: The Set Builtin\7f199026
+Node: The Shopt Builtin\7f210000
+Node: Special Builtins\7f226195
+Node: Shell Variables\7f227187
+Node: Bourne Shell Variables\7f227624
+Node: Bash Variables\7f229728
+Node: Bash Features\7f264797
+Node: Invoking Bash\7f265810
+Node: Bash Startup Files\7f271944
+Node: Interactive Shells\7f277075
+Node: What is an Interactive Shell?\7f277486
+Node: Is this Shell Interactive?\7f278135
+Node: Interactive Shell Behavior\7f278950
+Node: Bash Conditional Expressions\7f282579
+Node: Shell Arithmetic\7f287492
+Node: Aliases\7f290453
+Node: Arrays\7f293347
+Node: The Directory Stack\7f299981
+Node: Directory Stack Builtins\7f300765
+Node: Controlling the Prompt\7f305025
+Node: The Restricted Shell\7f307990
+Node: Bash POSIX Mode\7f310600
+Node: Shell Compatibility Mode\7f326857
+Node: Job Control\7f335105
+Node: Job Control Basics\7f335565
+Node: Job Control Builtins\7f340567
+Node: Job Control Variables\7f346362
+Node: Command Line Editing\7f347518
+Node: Introduction and Notation\7f349189
+Node: Readline Interaction\7f350812
+Node: Readline Bare Essentials\7f352003
+Node: Readline Movement Commands\7f353792
+Node: Readline Killing Commands\7f354752
+Node: Readline Arguments\7f356673
+Node: Searching\7f357717
+Node: Readline Init File\7f359903
+Node: Readline Init File Syntax\7f361164
+Node: Conditional Init Constructs\7f385189
+Node: Sample Init File\7f389385
+Node: Bindable Readline Commands\7f392509
+Node: Commands For Moving\7f393713
+Node: Commands For History\7f395764
+Node: Commands For Text\7f400758
+Node: Commands For Killing\7f404736
+Node: Numeric Arguments\7f407440
+Node: Commands For Completion\7f408579
+Node: Keyboard Macros\7f412770
+Node: Miscellaneous Commands\7f413458
+Node: Readline vi Mode\7f419827
+Node: Programmable Completion\7f420734
+Node: Programmable Completion Builtins\7f428514
+Node: A Programmable Completion Example\7f439634
+Node: Using History Interactively\7f444882
+Node: Bash History Facilities\7f445566
+Node: Bash History Builtins\7f448577
+Node: History Interaction\7f453668
+Node: Event Designators\7f457481
+Node: Word Designators\7f459019
+Node: Modifiers\7f460884
+Node: Installing Bash\7f462692
+Node: Basic Installation\7f463829
+Node: Compilers and Options\7f467551
+Node: Compiling For Multiple Architectures\7f468292
+Node: Installation Names\7f469984
+Node: Specifying the System Type\7f472093
+Node: Sharing Defaults\7f472810
+Node: Operation Controls\7f473483
+Node: Optional Features\7f474441
+Node: Reporting Bugs\7f485661
+Node: Major Differences From The Bourne Shell\7f486995
+Node: GNU Free Documentation License\7f503853
+Node: Indexes\7f529030
+Node: Builtin Index\7f529484
+Node: Reserved Word Index\7f536585
+Node: Variable Index\7f539033
+Node: Function Index\7f556167
+Node: Concept Index\7f570026
 \1f
 End Tag Table
 
index 99b843654d1be2f073b0f2d5b75df5d7c98b0009..fd66d5b240ea5197d7594372f8f014e716f4aa82 100644 (file)
@@ -1,12 +1,12 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30)  11 OCT 2023 10:24
+This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30)  24 NOV 2023 12:20
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
  %&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20231007/doc/bashref.texi \input /usr/local/s
-rc/bash/bash-20231007/doc/bashref.texi
-(/usr/local/src/bash/bash-20231007/doc/bashref.texi
-(/usr/local/src/bash/bash-20231007/doc/texinfo.tex
+**\input /usr/local/src/bash/bash-20231114/doc/bashref.texi \input /usr/local/s
+rc/bash/bash-20231114/doc/bashref.texi
+(/usr/local/src/bash/bash-20231114/doc/bashref.texi
+(/usr/local/src/bash/bash-20231114/doc/texinfo.tex
 Loading texinfo [version 2015-11-22.14]:
 \outerhsize=\dimen16
 \outervsize=\dimen17
@@ -162,15 +162,15 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
 texinfo.tex: doing @include of version.texi
 
 
-(/usr/local/src/bash/bash-20231007/doc/version.texi) [1{/opt/local/var/db/texmf
+(/usr/local/src/bash/bash-20231114/doc/version.texi) [1{/opt/local/var/db/texmf
 /fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20231007/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20231007/doc/bashref.toc)
-(/usr/local/build/bash/bash-20231007/doc/bashref.toc) Chapter 1
+(/usr/local/build/bash/bash-20231114/doc/bashref.toc [-1] [-2] [-3]) [-4]
+(/usr/local/build/bash/bash-20231114/doc/bashref.toc)
+(/usr/local/build/bash/bash-20231114/doc/bashref.toc) Chapter 1
 \openout0 = `bashref.toc'.
 
 
-(/usr/local/build/bash/bash-20231007/doc/bashref.aux)
+(/usr/local/build/bash/bash-20231114/doc/bashref.aux)
 \openout1 = `bashref.aux'.
 
  Chapter 2 [1] [2]
@@ -230,7 +230,7 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
  [49] [50] [51]
 [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
 [67] [68]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5412--5412
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5414--5414
  []@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -243,7 +243,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5412--5412
 .etc.
 
 
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5413--5413
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5415--5415
  []@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -262,7 +262,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5413--5413
 [119] [120]
 texinfo.tex: doing @include of rluser.texi
 
- (/usr/local/src/bash/bash-20231007/lib/readline/doc/rluser.texi
+ (/usr/local/src/bash/bash-20231114/lib/readline/doc/rluser.texi
 Chapter 8 [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131]
 [132]
 Underfull \hbox (badness 7540) in paragraph at lines 878--884
@@ -312,10 +312,10 @@ gnored[]
 texinfo.tex: doing @include of hsuser.texi
 
 
-(/usr/local/src/bash/bash-20231007/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20231114/lib/readline/doc/hsuser.texi Chapter 9
 [158] [159] [160] [161] [162] [163]) Chapter 10 [164] [165] [166] [167]
 [168]
-Underfull \hbox (badness 10000) in paragraph at lines 9749--9758
+Underfull \hbox (badness 10000) in paragraph at lines 9759--9768
 []@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
 entation[]@textrm '[],
 
@@ -328,7 +328,7 @@ entation[]@textrm '[],
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 9749--9758
+Underfull \hbox (badness 10000) in paragraph at lines 9759--9768
 @textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
 extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 
@@ -344,13 +344,13 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 [178] [179] Appendix C [180]
 texinfo.tex: doing @include of fdl.texi
 
- (/usr/local/src/bash/bash-20231007/doc/fdl.texi
+ (/usr/local/src/bash/bash-20231114/doc/fdl.texi
 [181] [182] [183] [184] [185] [186] [187]) Appendix D [188] [189] [190]
 [191] [192] [193] [194] [195] [196] [197] ) 
 Here is how much of TeX's memory you used:
  4104 strings out of 497086
  47614 string characters out of 6206517
- 142179 words of memory out of 5000000
+ 141907 words of memory out of 5000000
  4869 multiletter control sequences out of 15000+600000
  34315 words of font info for 116 fonts, out of 8000000 for 9000
  51 hyphenation exceptions out of 8191
@@ -372,10 +372,10 @@ texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
 ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
 ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
 e1/public/cm-super/sfrm1440.pfb>
-Output written on bashref.pdf (203 pages, 813993 bytes).
+Output written on bashref.pdf (203 pages, 815170 bytes).
 PDF statistics:
- 2824 PDF objects out of 2984 (max. 8388607)
- 2574 compressed objects within 26 object streams
+ 2829 PDF objects out of 2984 (max. 8388607)
+ 2579 compressed objects within 26 object streams
  331 named destinations out of 1000 (max. 500000)
  1157 words of extra memory for PDF output out of 10000 (max. 10000000)
 
index 9b6f44c2f55b205bb679a53e6de13626a838af08..1d2b2b76542989f3bbffc3820694b6425e81d2ae 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index 033c0c15e0898c896395189724dcd80779221e90..d9f14da9dfd9cb7f07d0babbdac0a870a7fc119f 100644 (file)
@@ -6649,7 +6649,7 @@ Control how the results of filename expansion are sorted.
 The value of this variable specifies the sort criteria and sort order for
 the results of filename expansion.
 If this variable is unset or set to the null string, filename expansion
-uses the historial behavior of sorting by name.
+uses the historical behavior of sorting by name.
 If set, a valid value begins with an optional @samp{+}, which is ignored,
 or @samp{-}, which reverses the sort order from ascending to descending,
 followed by a sort specifier.
@@ -9863,7 +9863,7 @@ Include support for importing function definitions exported by another
 instance of the shell from the environment.  This option is enabled by
 default.
 
-@item --enable-glob-asciirange-default
+@item --enable-glob-asciiranges-default
 Set the default value of the @code{globasciiranges} shell option described
 above under @ref{The Shopt Builtin} to be enabled.
 This controls the behavior of character ranges when used in pattern matching
index 0a689500171f3e0c137c1484429f000ff8ddb675..f70717e69ffa3f2b02a7bf524f9445a540c96b66 100644 (file)
 @numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{146}
 @numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{147}
 @numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{149}
-@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{149}
+@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{150}
 @numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{152}
 @numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{156}
 @numchapentry{Using History Interactively}{9}{Using History Interactively}{159}
index c2ffe4c6fc70b745a08eb8d3694724f8b388dc15..d709a569cd4692b18299747e8c3a616e3036ad5a 100644 (file)
@@ -103,7 +103,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \
 ALLPROG = print truefalse sleep finfo logname basename dirname fdflags \
          tty pathchk tee head mkdir rmdir mkfifo mktemp printenv id whoami \
          uname sync push ln unlink realpath strftime mypid setpgid seq rm \
-         accept csv dsv cut stat getconf kv
+         accept csv dsv cut stat getconf kv strptime
 OTHERPROG = necho hello cat pushd asort
 
 SUBDIRS = perl
@@ -235,6 +235,9 @@ cut:        cut.o
 strftime:      strftime.o
        $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strftime.o $(SHOBJ_LIBS)
 
+strptime:      strptime.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strptime.o $(SHOBJ_LIBS)
+
 mypid: mypid.o
        $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mypid.o $(SHOBJ_LIBS)
 
@@ -308,6 +311,14 @@ uninstall-unsupported:
 install:       install-$(SHOBJ_STATUS)
 uninstall:     uninstall-$(SHOBJ_STATUS)
 
+OBJS = print.o truefalse.o accept.o sleep.o finfo.o getconf.o logname.o \
+       basename.o dirname.o tty.o pathchk.o tee.o head.o rmdir.o necho.o \
+       hello.o cat.o csv.o dsv.o kv.o cut.o printenv.o id.o whoami.o uname.o \
+       sync.o push.o mkdir.o mktemp.o realpath.o strftime.o setpgid.o stat.o \
+       fdflags.o seq.o asort.o strptime.o        
+
+${OBJS}:       ${BUILD_DIR}/config.h
+
 print.o: print.c
 truefalse.o: truefalse.c
 accept.o: accept.c
@@ -344,3 +355,4 @@ stat.o: stat.c
 fdflags.o: fdflags.c
 seq.o: seq.c
 asort.o: asort.c
+strptime.o: strptime.c
index fbb7f66ac0fa57d19674f5a7e3c700730ab85e75..e5579ee072f0f69870d09e0f0532901143e84bdb 100644 (file)
@@ -164,6 +164,7 @@ printone(int fd, int p, int verbose)
   if ((f = getflags(fd, p)) == -1)
     return;
 
+  /* maybe make the file descriptor printing optional if only one argument */
   printf ("%d:", fd);
 
   for (i = 0; i < N_FLAGS; i++)
@@ -224,16 +225,14 @@ parseflags(char *s, int *p, int *n)
 }
 
 static void
-setone(int fd, char *v, int verbose)
+setone(int fd, int pos, int neg, int verbose)
 {
-  int f, n, pos, neg, cloexec;
+  int f, n, cloexec;
 
   f = getflags(fd, 1);
   if (f == -1)
     return;
 
-  parseflags(v, &pos, &neg);
-
   cloexec = -1;
 
   if ((pos & O_CLOEXEC) && (f & O_CLOEXEC) == 0)
@@ -281,6 +280,7 @@ int
 fdflags_builtin (WORD_LIST *list)
 {
   int opt, maxfd, i, num, verbose, setflag;
+  int pos, neg;
   char *setspec;
   WORD_LIST *l;
   intmax_t inum;
@@ -311,6 +311,9 @@ fdflags_builtin (WORD_LIST *list)
   if (list == 0 && setflag)
     return (EXECUTION_SUCCESS);
 
+  if (setflag)
+    parseflags (setspec, &pos, &neg);
+
   if (list == 0)
     {
       maxfd = getmaxfd ();
@@ -335,12 +338,12 @@ fdflags_builtin (WORD_LIST *list)
        }
       num = inum;              /* truncate to int */
       if (setflag)
-       setone (num, setspec, verbose);
+       setone (num, pos, neg, verbose);
       else
        printone (num, 1, verbose);
     }
 
-  return (opt);
+  return (sh_chkwrite (opt));
 }
 
 char *fdflags_doc[] =
diff --git a/examples/loadables/strptime.c b/examples/loadables/strptime.c
new file mode 100644 (file)
index 0000000..194ca47
--- /dev/null
@@ -0,0 +1,241 @@
+/* strptime - take a date-time string and turn it into seconds since the epoch. */
+
+/* See Makefile for compilation details. */
+
+/*
+   Copyright (C) 2023 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash.
+   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>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "bashtypes.h"
+#include "posixtime.h"
+
+#include <stdio.h>
+
+#include "builtins.h"
+#include "shell.h"
+#include "bashgetopt.h"
+#include "common.h"
+
+struct date_modifier
+{
+  char *shorthand;
+  int incr;
+};
+
+static struct date_modifier date_time_modifiers[] =
+{
+  { "now",     0 },
+  { "today",   0 },
+  { "tomorrow",        24*60*60 },
+  { "yesterday", -24*60*60 },
+  { "day after tomorrow", 48*60*60 },
+  { "two days ago", -48*60*60 },
+  { "next week", 7*24*60*60 },
+  { "last week", -7*24*60*60 },
+  { "the day after tomorrow", 48*60*60 },
+  { 0, 0 }
+};
+
+static char * const date_time_formats[] =
+{
+  "%a %b %d %T %Z %Y",         /* Unix date */
+  "%a %b %d %T %Y",            /* Wkd Mon DD HH:MM:SS YYYY */
+  "%FT%T%z",                   /* ISO8601 time YYYY-mm-ddTHH:MM:SSzone */
+  "%FT%R%z",                   /* ISO8601 time YYYY-mm-ddTHH:MMzone */
+  "%G-%m-%dT%T%z",             /* ISO8601 time YYYY-mm-ddTHH:MM:SSzone */
+  "%G-%m-%dT%R%z",             /* ISO8601 time YYYY-mm-ddTHH:MMzone */
+  "%G-%m-%d",                  /* ISO8601 time YYYY-mm-dd */
+  /* Can't do 8601 time zone offset with colon or fractions of a second */
+  "%a, %d %b %Y %T %Z",                /* RFC822/RFC2822 time */
+  "%a, %d %b %Y %T %z",                /* RFC822/RFC2822 time */
+  "%D %T",                     /* mm/dd/yy HH:MM:SS */
+  "%D %R",                     /* mm/dd/yy HH:MM */
+  "%D %r",                     /* mm/dd/yy HH:MM:SS a.m.  */
+  "%D %I:%M %p",               /* mm/dd/yy HH:MM p.m.  */
+  "%m/%d/%Y %T",               /* mm/dd/YYYY HH:MM:SS */
+  "%m/%d/%Y %R",               /* mm/dd/YYYY HH:MM */
+  "%m/%d/%Y %r",               /* mm/dd/YYYY HH:MM:SS a.m */
+  "%m/%d/%Y %I:%M %p",         /* mm/dd/YYYY HH:MM p.m. */
+  "%m-%d-%Y %T",               /* mm-dd-YYYY HH:MM:SS */
+  "%m-%d-%Y %R",               /* mm-dd-YYYY HH:MM */
+  "%m-%d-%Y %r",               /* mm-dd-YYYY HH:MM:SS a.m. */
+  "%m-%d-%Y %I:%M %p",         /* mm-dd-YYYY HH:MM p.m. */
+  "%Y/%m/%d %T",               /* YYYY/mm/dd HH:MM:SS */
+  "%Y/%m/%d %R",               /* YYYY/mm/dd HH:MM */
+  "%Y/%m/%d %r",               /* YYYY/mm/dd hh:MM:SS a.m. */
+  "%F %T",                     /* YYYY-mm-dd HH:MM:SS */
+  "%F %r",                     /* YYYY-mm-dd HH:MM:SS p.m. */
+  "%F %R",                     /* YYYY-mm-dd HH:MM */
+  "%F %I:%M %p",               /* YYYY-mm-dd HH:MM a.m. */
+  "%F",                                /* YYYY-mm-dd ISO8601 time */
+  "%T",                                /* HH:MM:SS */
+  "%H.%M.%S",                  /* HH.MM.SS */
+  /* From coreutils-9.2 date */
+  "%Y-%m-%dT%H:%M:%S%z",       /* ISO8601 time */
+  "%Y-%m-%dT%H%z",             /* ISO8601 time */
+  "%Y-%m-%dT%H:%M%z",          /* ISO8601 time */
+  /* RFC 3339 time */
+  "%Y-%m-%d %H:%M:%S%z",       /* RFC 3339 time */
+  "%Y-%m-%dT%H:%M:%S%z",       /* RFC 3339 time */
+  /* more oddball formats */
+  "%m.%d.%Y %T",               /* mm.dd.YYYY HH:MM:SS */
+  "%m.%d.%Y %R",               /* mm.dd.YYYY HH:MM */
+  "%m.%d.%Y %r",               /* mm.dd.YYYY HH:MM:SS a.m. */
+  "%m.%d.%Y %I:%M %p",         /* mm.dd.YYYY HH:MM p.m. */
+  "%m/%d/%Y",                  /* mm/dd/YYYY */
+  "%d %B %Y %T",               /* dd Month YYYY HH:MM:SS */
+  "%d %B %Y %R",               /* dd Month YYYY HH:MM */
+  "%d %B %Y %r",               /* dd Month YYYY HH:MM:SS a.m. */
+  "%d %B %Y %I:%M %p",         /* dd Month YYYY HH:MM p.m. */
+  "%d %b %Y %T",               /* dd Mon YYYY HH:MM:SS */
+  "%d %b %Y %R",               /* dd Mon YYYY HH:MM */
+  "%d %b %Y %r",               /* dd Mon YYYY HH:MM:SS a.m. */
+  "%d %b %Y %I:%M %p",         /* dd Mon YYYY HH:MM p.m. */
+  "%b %d, %Y %T",              /* Mon dd, YYYY HH:MM:SS */
+  "%b %d, %Y %R",              /* Mon dd, YYYY HH:MM */
+  "%b %d, %Y %r",              /* Mon dd, YYYY HH:MM:SS a.m. */
+  "%b %d, %Y %I:%M %p",                /* Mon dd, YYYY HH:MM p.m. */
+  "%m-%b-%Y",                  /* dd-Mon-YYYY */
+  "%m-%b-%Y %T",               /* dd-Mon-YYYY HH:MM:SS */
+  "%m-%b-%Y %R",               /* dd-Mon-YYYY HH:MM */
+  "%m-%b-%Y %r",               /* dd-Mon-YYYY HH:MM:SS a.m. */
+  "%m-%b-%Y %I:%M %p",         /* dd-Mon-YYYY HH:MM p.m. */
+  "%d/%b/%Y:%T %z",            /* NCSA log format dd/Mon/YYYY:HH:MM:SS zone */
+  "%d/%b/%Y:%T%z",             /* NCSA log format dd/Mon/YYYY:HH:MM:SSzone */
+  /* No delimiters */
+  "%Y%m%d %T",                 /* YYYYMMDD HH:MM:SS */
+  "%Y%m%d %R",                 /* YYYYMMDD HH:MM */
+  "%Y%m%d %r",                 /* YYYYMMDD HH:MM:SS a.m. */
+  "%Y%m%d %I:%M %p",           /* YYYYMMDD HH:MM p.m. */
+  "%Y%m%d %H:%M:%S%z",         /* YYYYMMDD HH:MM:SSzone */
+  "%Y%m%dT%H:%M:%S%z",         /* YYYYMMDDTHH:MM:SSzone */
+  "%Y%m%dT%T",                 /* YYYYMMDDTHH:MM:SS */
+  "%Y%m%dT%R",                 /* YYYYMMDDTHH:MM */
+  /* Non-US formats */
+  "%d-%m-%Y",                  /* dd-mm-YYYY */
+  "%d-%m-%Y %T",               /* dd-mm-YYYY HH:MM:SS */
+  "%d-%m-%Y %R",               /* dd-mm-YYYY HH:MM */
+  "%d-%m-%Y %r",               /* dd-mm-YYYY HH:MM:SS a.m. */    
+  "%d-%m-%Y %I:%M %p",         /* dd-mm-YYYY HH:MM p.m. */
+  "%d/%m/%Y %T",               /* dd/mm/YYYY HH:MM:SS */
+  "%d/%m/%Y %R",               /* dd/mm/YYYY HH:MM */
+  "%d/%m/%Y %r",               /* dd/mm/YYYY HH:MM:SS a.m. */
+  "%d/%m/%Y %I:%M %p",         /* dd/mm/YYYY HH:MM p.m. */
+  "%Y-%d-%m %T",               /* YYYY-dd-mm HH:MM:SS */
+  "%Y-%d-%m %R",               /* YYYY-dd-mm HH:MM */
+  "%d-%m-%Y %T",               /* dd-mm-YYYY HH:MM:SS */
+  "%d-%m-%Y %R",               /* dd-mm-YYYY HH:MM */
+  "%d-%m-%Y %r",               /* dd-mm-YYYY HH:MM:SS a.m. */
+  "%d-%m-%Y %I:%M %p",         /* dd-mm-YYYY HH:MM p.m. */
+  "%d.%m.%Y %T",               /* dd.mm.YYYY HH:MM:SS */
+  "%d.%m.%Y %R",               /* dd.mm.YYYY HH:MM */
+  "%d.%m.%Y %r",               /* dd.mm.YYYY HH:MM:SS a.m. */    
+  "%d.%m.%Y %I:%M %p",         /* dd.mm.YYYY HH:MM p.m. */
+  0
+};
+
+static void
+inittime (time_t *clock, struct tm *timeptr)
+{
+  timeptr = localtime (clock);         /* for now */
+
+  /* but default to midnight */
+  timeptr->tm_hour = timeptr->tm_min = timeptr->tm_sec = 0;
+  /* and let the system figure out the right DST offset */
+  timeptr->tm_isdst = -1;
+}
+
+int
+strptime_builtin (WORD_LIST *list)
+{
+  char *s;
+  struct tm t, *tm;
+  time_t now, secs;
+  char *datestr;
+  int i;
+
+  if (no_options (list))       /* for now */
+    return (EX_USAGE);
+
+  list = loptend;
+  if (list == 0)
+    {
+      builtin_usage ();
+     return (EX_USAGE);
+    }
+
+  datestr = string_list (list);
+  if (datestr == 0 || *datestr == 0)
+    return (EXECUTION_SUCCESS);
+
+  now = getnow ();
+  secs = -1;
+  for (i = 0; date_time_modifiers[i].shorthand; i++)
+    {
+      if (STREQ (datestr, date_time_modifiers[i].shorthand))
+       {
+         secs = now + date_time_modifiers[i].incr;
+         break;
+       }
+    }
+
+  if (secs == -1)
+    {
+      /* init struct tm */
+      inittime (&now, tm);
+      t = *tm;
+      for (i = 0; date_time_formats[i]; i++)
+        {
+         s = strptime (datestr, date_time_formats[i], &t);
+         if (s == 0)
+           continue;
+         /* skip extra characters at the end for now */
+         secs = mktime (&t);
+         break;
+        }
+    }
+
+  printf ("%ld\n", secs);    
+  return (EXECUTION_SUCCESS);
+}
+
+char *strptime_doc[] = {
+       "Convert a date-time string to seconds since the epoch.",
+       "",
+       "Take DATE-TIME, a date-time string, parse it against a set of common",
+       "date-time formats. If the string matches one of the formats, convert",
+       "it into seconds since the epoch and display the result.",
+       (char *)NULL
+};
+
+/* The standard structure describing a builtin command.  bash keeps an array
+   of these structures.  The flags must include BUILTIN_ENABLED so the
+   builtin can be used. */
+struct builtin strptime_struct = {
+       "strptime",             /* builtin name */
+       strptime_builtin,               /* function implementing the builtin */
+       BUILTIN_ENABLED,        /* initial flags for builtin */
+       strptime_doc,           /* array of long documentation strings. */
+       "strptime date-time",   /* usage synopsis; becomes short_doc */
+       0                       /* reserved for internal use */
+};
index 60b7da390a2fef91a4a96e4d93d97ed8af70e5ef..a2fbd0ff4f5f92591db0b42ec3a7097eb933a003 100644 (file)
@@ -63,7 +63,7 @@ ARFLAGS = @ARFLAGS@
 LOCAL_DEFS = @LOCAL_DEFS@
 
 DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
-       -DLIBDIR=\"$(libdir)\" -DIN_LIBINTL -DBUILDING_LIBINTL
+       -DLIBDIR=\"$(libdir)\" -DIN_LIBINTL -DBUILDING_LIBINTL @DEFS@
 
 # XXX - use this?
 RELOCATABLE_DEFS = -DENABLE_RELOCATABLE=1 -DIN_LIBRARY \
index 699274444eef30b2f6efc8d62d4807878e3fcb52..5a7bf8183126fcf2946bcbc206efe94ded172f89 100644 (file)
@@ -290,7 +290,7 @@ local_wcsnlen (const wchar_t *s, size_t maxlen)
 static size_t
 wctomb_fallback (char *s, wchar_t wc)
 {
-  static char hex[16] = "0123456789ABCDEF";
+  static char const hex[16] = "0123456789ABCDEF";
 
   s[0] = '\\';
   if (sizeof (wchar_t) > 2 && wc > 0xffff)
index f57e3aeafd519de28229d9a4bbead346f86d6a84..78115b9a0e7803b19c396a4adfb6a224a9689228 100644 (file)
@@ -997,10 +997,13 @@ internal_free (PTR_T mem, const char *file, int line, int flags)
 #if defined (USE_MMAP)
   if (nunits > malloc_mmap_threshold)
     {
+      int o;
+      o = errno;
       munmap (p, binsize (nunits));
 #if defined (MALLOC_STATS)
       _mstats.nlesscore[nunits]++;
 #endif
+      errno = o;               /* POSIX says free preserves errno */
       goto free_return;
     }
 #endif
@@ -1015,7 +1018,10 @@ internal_free (PTR_T mem, const char *file, int line, int flags)
         there's already a block on the free list. */
       if ((nunits >= LESSCORE_FRC) || busy[nunits] || nextf[nunits] != 0)
        {
+         int o;
+         o = errno;
          lesscore (nunits);
+         errno = o;
          /* keeps the tracing and registering code in one place */
          goto free_return;
        }
diff --git a/lib/malloc/sbrk.c b/lib/malloc/sbrk.c
new file mode 100644 (file)
index 0000000..3083cac
--- /dev/null
@@ -0,0 +1,80 @@
+/* Copyright (C) 2023 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 <unistd.h>
+#include <errno.h>
+
+#if defined (HAVE_BRK) && !defined (HAVE_SBRK)
+
+static void *initialbrk;
+static void *curbrk;
+
+static int
+brkinit (void)
+{
+  if (initialbrk == 0)
+    {
+      void *b;
+
+      b = brk (NULL);
+      if (b == (void *)-1)
+       return -1;
+      initialbrk = curbrk = b;
+    }
+  return (0);
+}
+
+/* sbrk(3) implementation in terms of brk(2). Good enough for malloc to use. */
+void *
+sbrk (intptr_t incr)
+{
+  void *newbrk, *oldbrk;
+
+  if (initialbrk == 0 && initbrk () == -1)
+    {
+      errno = ENOMEM;
+      return (void *)-1;
+    }
+
+  if (incr == 0)
+    return curbrk;
+
+  /* bounds checking, overflow */
+  if ((incr > 0 && (uintptr_t) curbrk + incr < (uintptr_t) curbrk) ||
+      (incr < 0 && (uintptr_t) curbrk + incr > (uintptr_t) curbrk))
+    {
+      errno = ENOMEM;
+      return (void *)-1;
+    }
+
+  newbrk = curbrk + incr;  
+  if (newbrk < initialbrk)
+    {
+      errno = EINVAL;
+      return (void *)-1;
+    }
+
+  if (brk (newbrk) == (void *)-1)
+    return (void *)-1;         /* preserve errno */
+
+  oldbrk = curbrk;
+  curbrk = newbrk;
+
+  return (oldbrk);
+}
+#endif /* HAVE_BRK && !HAVE_SBRK */
index d202e089540e70ed1f33c3ef0c592075cd9d72c7..79e37ccc75ffa32b21093193f80cba0a22e308a9 100644 (file)
@@ -2190,7 +2190,8 @@ rl_complete_internal (int what_to_do)
        }
       /*FALLTHROUGH*/
 
-    case '%':
+    case '%':                  /* used by menu_complete */
+    case '|':                  /* add this for unconditional display */
       do_display = 1;
       break;
 
index be30d51a998a8f17c72edb395da45ceb406a8da1..329e48c74516208f960b30da96df02227e9d0ebd 100644 (file)
@@ -54,8 +54,8 @@
 extern int errno;
 #endif
 
-#define x_digs  "0123456789abcdef"
-#define X_digs  "0123456789ABCDEF"
+static char const x_digs[16] = "0123456789abcdef";
+static char const X_digs[16] = "0123456789ABCDEF";
 
 static char * const all_digs = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@_";
 
index a356cb70e6c0ed449fb2764c955c6d5a2e5cabcc..d0363dcbd93aa3e02bf1a3dc1f2ad60d4e690a59 100644 (file)
@@ -173,9 +173,6 @@ extern char *fmtullong (unsigned long long int, int, char *, size_t, int);
 
 #define ASBUFSIZE      128
 
-#define x_digs "0123456789abcdef"
-#define X_digs "0123456789ABCDEF"
-
 static char intbuf[INT_STRLEN_BOUND(unsigned long) + 1];
 
 static int decpoint;
index f1036a704829574c7a05f337115b134e5ddcbeb7..949bd91fcb0be30752a852e39c0dcc57d7a63560 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 9c79e28ce2c8f9f4f50e00150cc4a053c3e31810..82cacdd3680fa9544d6d36b9bb649c9bdd6fb1aa 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -4,7 +4,7 @@
 #
 # Eugen Hoanca <eugenh@urban-grafx.ro>, 2003.
 # Daniel Șerbănescu <daniel@serbanescu.dk>, 2019.
-# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2023.
 #
 # Cronologia traducerii fișierului „bash”:
 # Traducerea inițială, făcută de EH, pentru versiunea bash 3.2 (19% - tradus).
 # Actualizare a traducerii pentru versiunea 5.0, făcută de DȘ (29% - tradus).
 # Actualizare a traducerii pentru versiunea 5.1, făcută de R-GC (100% - tradus).
 # Actualizare a traducerii pentru versiunea 5.2-rc1, făcută de R-GC.
+# Corectare a unei greșeli de dactilografiere prezentă din versiunea 5.1, făcută de R-GC, noi-2023.
+# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul).
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-01-11 14:50-0500\n"
-"PO-Revision-Date: 2022-06-18 01:02+0200\n"
+"PO-Revision-Date: 2023-11-14 18:38+0100\n"
 "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
 "Language: ro\n"
@@ -27,7 +29,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || ((n%100) > 0 && (n%100) < 20)) ? 1 : 2);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.3.1\n"
+"X-Generator: Poedit 3.2.2\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #: arrayfunc.c:66
@@ -4839,7 +4841,7 @@ msgstr ""
 "      ȘIR1 = ȘIR2    Adevărat dacă șirurile sunt egale.\n"
 "      ȘIR1 != ȘIR2   Adevărat dacă șirurile nu sunt egale.\n"
 "      ȘIR1 < ȘIR2    Adevărat dacă ȘIR1 se ordonează lexicografic înainte de ȘIR2.\n"
-"      ȘIR1 > ȘIR2    Adevărat dacă ȘIR1 se ordonează lexicografic după ȘIR2.n\n"
+"      ȘIR1 > ȘIR2    Adevărat dacă ȘIR1 se ordonează lexicografic după ȘIR2.\n"
 "    \n"
 "    Alți operatori:\n"
 "    \n"