]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
extend assoc_expand_once to indexed arrays; rename to array_expand_once, keeping...
authorChet Ramey <chet.ramey@case.edu>
Tue, 13 Jun 2023 15:44:33 +0000 (11:44 -0400)
committerChet Ramey <chet.ramey@case.edu>
Tue, 13 Jun 2023 15:44:33 +0000 (11:44 -0400)
35 files changed:
CWRU/CWRU.chlog
MANIFEST
arrayfunc.c
arrayfunc.h
builtins/common.c
builtins/common.h
builtins/declare.def
builtins/mkbuiltins.c
builtins/set.def
builtins/shopt.def
doc/bash.0
doc/bash.1
doc/bash.html
doc/bash.info
doc/bash.pdf
doc/bash.ps
doc/bashref.dvi
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.ps
doc/bashref.texi
doc/builtins.0
doc/builtins.ps
doc/rbash.ps
doc/version.texi
execute_cmd.c
expr.c
shell.h
test.c
tests/array.right
tests/array.tests
tests/array32.sub [new file with mode: 0644]
tests/shopt.right
variables.c

index a667dbe986d4ed17c899964c3ebdace5d5377255..f822f4f807ca243c5019cd7803a09c2fac020dc3 100644 (file)
@@ -6569,3 +6569,48 @@ shell.c
          the shell decides it's being run by ssh and runs bashrc (only if
          SSH_SOURCE_BASHRC is defined). Non-zero while the startup files
          are being run. Not used by any other part of the shell yet.
+
+                                  6/12
+                                  ----
+arrayfunc.h
+       - new inline functions to convert between assignment flags (ASS_*),
+         array value flags (AV_*), and valid array flags (VA_*)
+
+shell.h
+       - include arrayfunc.h after subst.h and variables.h so all the values
+         for the new inline functions are available
+
+variables.c
+       - bind_int_variable: use convert_assign_flags_to_validarray_flags and
+         convert_assign_flags_to_arrayval flags instead of inline assignments
+
+builtins/common.c
+       - builtin_bind_variable: use convert_assign_flags_to_validarray_flags
+         instead of inline assignments
+
+arrayfunc.c
+       - assign_array_element: use convert_assign_flags_to_arrayval_flags
+         instead of inline code
+       - assign_array_element_internal: use convert_assign_flags_to_arrayval_flags
+         to pass the right values to array_expand_index
+       - assign_array_var_from_string: since expand_compound_array_assignment
+         performs one round of expansion on the subscripts, make sure to add
+         ASS_NOEXPAND (if assoc_expand_once is set) and ASS_ALLOWALLSUB to the
+         flags we pass to assign_compound_array_list
+       - unbind_array_index: use convert_validarray_flags_to_array_value_flags
+         to pass the right values to array_expand_index
+       - array_expand_index: uncomment code tagged for bash-5.3 that checks
+         AV_NOEXPAND and suppresses call to expand_arith_string if it's set.
+         This set of changes extends assoc_expand_once to indexed arrays
+
+arrayfunc.[ch],execute_cmd.c,expr.c,test.c,builtins/common.c,builtins/mkbuiltins.c
+builtins/declare.def,builtins/set.def,builtins/shopt.def
+       - array_expand_once: new name for internal assoc_expand_once variable
+
+                                  6/13
+                                  ----
+builtins/shopt.def
+       - array_expand_once: new option, replaces assoc_expand_once
+
+doc/bash.1,doc/bashref.texi
+       - array_expand_once: document new shopt option
index 7d7d313db95b6ff4749ca6cf65f68622fadda50f..d1a937cd7347b808f239823fabd8ec0c7839e3c7 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -948,6 +948,7 @@ tests/array28.sub   f
 tests/array29.sub      f
 tests/array30.sub      f
 tests/array31.sub      f
+tests/array32.sub      f
 tests/array-at-star    f
 tests/array2.right     f
 tests/assoc.tests      f
index b85a7cf92665f4a28a0a515f6ccf5173552f1922..28aee54b804479e5e4a1f14315d24a6e4b6b34a3 100644 (file)
 #  define RBRACK ']'
 #endif
 
-/* This variable means to not expand associative array subscripts more than
-   once, when performing variable expansion. */
-int assoc_expand_once = 0;
-
-/* Ditto for indexed array subscripts -- currently unused */
+/* This variable means to not expand associative or indexed array subscripts
+   more than once, when performing variable expansion. */
 int array_expand_once = 0;
 
 static SHELL_VAR *bind_array_var_internal (SHELL_VAR *, arrayind_t, char *, const char *, int);
@@ -317,11 +314,7 @@ assign_array_element (const char *name, const char *value, int flags, array_elts
   int sublen, isassoc, avflags;
   SHELL_VAR *entry;
 
-  avflags = 0;
-  if (flags & ASS_NOEXPAND)
-    avflags |= AV_NOEXPAND;
-  if (flags & ASS_ONEWORD)
-    avflags |= AV_ONEWORD;
+  avflags = convert_assign_flags_to_arrayval_flags (flags);
   vname = array_variable_name (name, avflags, &sub, &sublen);
 
   if (vname == 0)
@@ -358,6 +351,10 @@ assign_array_element (const char *name, const char *value, int flags, array_elts
   return entry;
 }
 
+/* Assign VALUE to the index computed from SUB of length SUBLEN of array
+   VNAME. NAME is the complete variable reference. FLAGS are ASS_ assignment
+   flags. ENTRY is the SHELL_VAR corresponding to VNAME. The caller
+   initializes ESTATEP, and we set it to the values we compute. */
 static SHELL_VAR *
 assign_array_element_internal (SHELL_VAR *entry, const char *name, char *vname,
                               char *sub, int sublen, const char *value,
@@ -395,7 +392,11 @@ assign_array_element_internal (SHELL_VAR *entry, const char *name, char *vname,
     }
   else
     {
-      ind = array_expand_index (entry, sub, sublen, 0);
+      /* convert ASS_ flags to AV_FLAGS here */
+      int avflags;
+
+      avflags = convert_assign_flags_to_arrayval_flags (flags);
+      ind = array_expand_index (entry, sub, sublen, avflags);
       /* negative subscripts to indexed arrays count back from end */
       if (entry && ind < 0)
        ind = (array_p (entry) ? array_max_index (array_cell (entry)) : 0) + 1 + ind;
@@ -745,7 +746,11 @@ assign_compound_array_list (SHELL_VAR *var, WORD_LIST *nlist, int flags)
 
          if (array_p (var))
            {
-             ind = array_expand_index (var, w + 1, len, 0);
+             int avflags;
+
+             /* convert ASS_ FLAGS to AV_ flags here */
+             avflags = convert_assign_flags_to_arrayval_flags (flags);
+             ind = array_expand_index (var, w + 1, len, avflags);
              /* negative subscripts to indexed arrays count back from end */
              if (ind < 0)
                ind = array_max_index (array_cell (var)) + 1 + ind;
@@ -829,17 +834,23 @@ assign_compound_array_list (SHELL_VAR *var, WORD_LIST *nlist, int flags)
 }
 
 /* Perform a compound array assignment:  VAR->name=( VALUE ).  The
-   VALUE has already had the parentheses stripped. */
+   VALUE has already had the parentheses stripped. FLAGS are ASS_
+   assignment flags. */
 SHELL_VAR *
 assign_array_var_from_string (SHELL_VAR *var, char *value, int flags)
 {
   WORD_LIST *nlist;
+  int aflags;
 
   if (value == 0)
     return var;
 
   nlist = expand_compound_array_assignment (var, value, flags);
-  assign_compound_array_list (var, nlist, flags);
+  /* This is were we set ASS_NOEXPAND and ASS_ONEWORD if we need to, since
+     expand_compound_array_assignment performs word expansions. Honors
+     array_expand_once; allows @ and * as associative array keys. */
+  aflags = flags | (array_expand_once ? ASS_NOEXPAND : 0) | ASS_ALLOWALLSUB;
+  assign_compound_array_list (var, nlist, aflags);
 
   if (nlist)
     dispose_words (nlist);
@@ -1062,6 +1073,7 @@ unbind_array_element (SHELL_VAR *var, char *sub, int flags)
   arrayind_t ind;
   char *akey;
   ARRAY_ELEMENT *ae;
+  int avflags;
 
   /* Assume that the caller (unset_builtin) passes us a null-terminated SUB,
      so we don't have to use VA_ONEWORD or parse the subscript again with
@@ -1118,7 +1130,9 @@ unbind_array_element (SHELL_VAR *var, char *sub, int flags)
            }
          /* Fall through for behavior 3 */
        }
-      ind = array_expand_index (var, sub, strlen (sub) + 1, 0);
+
+      avflags = convert_validarray_flags_to_arrayval_flags (flags);
+      ind = array_expand_index (var, sub, strlen (sub) + 1, avflags);
       /* negative subscripts to indexed arrays count back from end */
       if (ind < 0)
        ind = array_max_index (array_cell (var)) + 1 + ind;
@@ -1134,7 +1148,8 @@ unbind_array_element (SHELL_VAR *var, char *sub, int flags)
   else /* array_p (var) == 0 && assoc_p (var) == 0 */
     {
       akey = this_command_name;
-      ind = array_expand_index (var, sub, strlen (sub) + 1, 0);
+      avflags = convert_validarray_flags_to_arrayval_flags (flags);
+      ind = array_expand_index (var, sub, strlen (sub) + 1, avflags);
       this_command_name = akey;
       if (ind == 0)
        {
@@ -1265,7 +1280,8 @@ valid_array_reference (const char *name, int flags)
   return tokenize_array_reference (name, flags, (char **)NULL);
 }
 
-/* Expand the array index beginning at S and extending LEN characters. */
+/* Expand the array index beginning at S and extending LEN characters. FLAGS
+   are AV_ flags saying how to compute the array value. */
 arrayind_t
 array_expand_index (SHELL_VAR *var, const char *s, int len, int flags)
 {
@@ -1276,8 +1292,12 @@ array_expand_index (SHELL_VAR *var, const char *s, int len, int flags)
   exp = (char *)xmalloc (len);
   strncpy (exp, s, len - 1);
   exp[len - 1] = '\0';
-#if 0  /* TAG: maybe bash-5.2 */
+#if 1  /* TAG: bash-5.3 */
+#if 0
+  if (shell_compatibility_level <= 52 || (flags & AV_NOEXPAND) == 0)
+#else
   if ((flags & AV_NOEXPAND) == 0)
+#endif
     t = expand_arith_string (exp, Q_DOUBLE_QUOTES|Q_ARITH|Q_ARRAYSUB); /* XXX - Q_ARRAYSUB for future use */
   else
     t = exp;
index 8fcec1604a269ec9af0e05b4b0eb1174e67115e6..aa11101366044405c4409c80bb7a95cd245f77fc 100644 (file)
@@ -48,11 +48,8 @@ typedef struct element_state
 
 #if defined (ARRAY_VARS)
 
-/* This variable means to not expand associative array subscripts more than
-   once, when performing variable expansion. */
-extern int assoc_expand_once;
-
-/* The analog for indexed array subscripts */
+/* This variable means to not expand associative or indexed array subscripts
+   more than once, when performing variable expansion. */
 extern int array_expand_once;
 
 /* Flags for array_value_internal and callers array_value/get_array_value; also
@@ -137,4 +134,58 @@ extern void flush_eltstate (array_eltstate_t *);
 
 #endif
 
+/* Functions to convert from other flag values to AV_ array variable flags */
+
+#if defined (ASS_NOEXPAND)
+static inline int
+convert_assign_flags_to_arrayval_flags (int aflags)
+{
+  int avflags;
+
+  avflags = 0;
+  if (aflags & ASS_NOEXPAND)
+    avflags |= AV_NOEXPAND;
+  if (aflags & ASS_ONEWORD)
+    avflags |= AV_ONEWORD;
+  if (aflags & ASS_NOEVAL)
+    avflags |= AV_NOEXPAND;
+  if (aflags & ASS_ALLOWALLSUB)
+    avflags |= AV_ATSTARKEYS;
+  return avflags;
+}
+#endif
+
+#if defined (VA_NOEXPAND)
+static inline int
+convert_validarray_flags_to_arrayval_flags (int vflags)
+{
+  int avflags;  
+
+  if (vflags & VA_NOEXPAND)
+    avflags |= AV_NOEXPAND;
+  if (vflags & VA_ONEWORD)
+    avflags |= AV_ONEWORD;
+  if (vflags & VA_ALLOWALL)
+    avflags |= AV_ATSTARKEYS;
+  return avflags;
+}
+#endif
+
+#if defined (ASS_NOEXPAND)
+static inline int
+convert_assign_flags_to_validarray_flags (int flags)
+{
+  int vflags;
+
+  vflags = 0;
+  if (flags & ASS_NOEXPAND)
+    vflags |= VA_NOEXPAND;
+  if (flags & ASS_ONEWORD)
+    vflags |= VA_ONEWORD;
+  if (flags & ASS_ALLOWALLSUB)
+    vflags |= VA_ALLOWALL;
+  return vflags;
+}
+#endif
+
 #endif /* !_ARRAYFUNC_H_ */
index e540296150bfdefe91837c8fc80f7423d232537a..35fd710ac0e827d1476c04c052e81fa5e31afed6 100644 (file)
@@ -932,12 +932,11 @@ builtin_bind_variable (char *name, char *value, int flags)
 #if defined (ARRAY_VARS)
   /* Callers are responsible for calling this with array references that have
      already undergone valid_array_reference checks (read, printf). */
-  vflags = assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0;
-  bindflags = flags | (assoc_expand_once ? ASS_NOEXPAND : 0) | ASS_ALLOWALLSUB;
-  if (flags & ASS_NOEXPAND)
-    vflags |= VA_NOEXPAND;
-  if (flags & ASS_ONEWORD)
-    vflags |= VA_ONEWORD;
+  /* XXX - should we unconditionally set ASS_NOEXPAND if the shell
+     compatibility level is > 52? */
+  bindflags = flags | (array_expand_once ? ASS_NOEXPAND : 0) | ASS_ALLOWALLSUB;
+  vflags = convert_assign_flags_to_validarray_flags (flags);
+  vflags |= array_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0;
 
   if (valid_array_reference (name, vflags) == 0)
     v = bind_variable (name, value, flags);
@@ -1022,7 +1021,7 @@ builtin_arrayref_flags (WORD_DESC *w, int baseflags)
 
   vflags = baseflags;
 
-  /* Don't require assoc_expand_once if we have an argument that's already
+  /* Don't require array_expand_once if we have an argument that's already
      passed through valid_array_reference and been expanded once. That
      doesn't protect it from normal expansions like word splitting, so
      proper quoting is still required. */
@@ -1031,7 +1030,7 @@ builtin_arrayref_flags (WORD_DESC *w, int baseflags)
 
 #  if 0
   /* This is a little sketchier but handles quoted arguments. */
-  if (assoc_expand_once && (t =  strchr (w->word, '[')) && t[strlen(t) - 1] == ']')
+  if (array_expand_once && (t =  strchr (w->word, '[')) && t[strlen(t) - 1] == ']')
     vflags |= VA_ONEWORD|VA_NOEXPAND;
 #  endif
 
@@ -1050,12 +1049,12 @@ set_expand_once (int nval, int uwp)
 {
   int oa;
 
-  oa = assoc_expand_once;
+  oa = array_expand_once;
   if (shell_compatibility_level > 51)  /* XXX - internal */
     {
       if (uwp)
-       unwind_protect_int (assoc_expand_once);
-      assoc_expand_once = nval;
+       unwind_protect_int (array_expand_once);
+      array_expand_once = nval;
     }
   return oa;
 }
index 630ebd4406098204bca5b334ea9add58dd49fee9..aced205f54d2e13582aa2485f5d8d1f186d1db5c 100644 (file)
@@ -275,9 +275,9 @@ extern int wait_intr_flag;
 #if defined (ARRAY_VARS)
 #define SET_VFLAGS(wordflags, vflags, bindflags) \
   do { \
-    vflags = assoc_expand_once ?  VA_NOEXPAND : 0; \
-    bindflags = assoc_expand_once ? ASS_NOEXPAND : 0; \
-    if (assoc_expand_once && (wordflags & W_ARRAYREF)) \
+    vflags = array_expand_once ?  VA_NOEXPAND : 0; \
+    bindflags = array_expand_once ? ASS_NOEXPAND : 0; \
+    if (array_expand_once && (wordflags & W_ARRAYREF)) \
       vflags |= VA_ONEWORD|VA_NOEXPAND; \
     if (vflags & VA_NOEXPAND) \
       bindflags |= ASS_NOEXPAND; \
index 41c11e1f80158589b450baf506a600d569b93e8b..e652f639dccaa5007b7289dfd353ea5f72172d50 100644 (file)
@@ -393,7 +393,7 @@ declare_internal (WORD_LIST *list, int local_var)
       name = savestring (list->word->word);
       wflags = list->word->flags;
 #if defined (ARRAY_VARS)
-      assoc_noexpand = assoc_expand_once && (wflags & W_ASSIGNMENT);
+      assoc_noexpand = array_expand_once && (wflags & W_ASSIGNMENT);
 #else
       assoc_noexpand = 0;
 #endif
index d0d5559ff917fcf9fa8f783c707e9f3919d19014..658db05748fecc55bc0de295ccf054d21ff303ac 100644 (file)
@@ -178,7 +178,7 @@ char *posix_builtins[] =
 };
 
 /* The builtin commands that can take array references as arguments and pay
-   attention to `assoc_expand_once'. These are the ones that don't assign
+   attention to `array_expand_once'. These are the ones that don't assign
    values, but need to avoid double expansions. */
 char *arrayvar_builtins[] =
 {
index a6f5c25396ebe7bc34630612faa7da54cff7a5d7..138899ab34129a15c0bd7f004ce89d9dfdcd058e 100644 (file)
@@ -866,7 +866,7 @@ unset_builtin (WORD_LIST *list)
     nameref = 0;
 
 #if defined (ARRAY_VARS)
-  base_vflags = assoc_expand_once ? VA_NOEXPAND : 0;
+  base_vflags = array_expand_once ? VA_NOEXPAND : 0;
 #endif
 
   while (list)
index f94116ea2b586f4050a19c71104d1f5a996abd78..f621ec6bfc1a3f4dd9317ff409ade654badb6888 100644 (file)
@@ -122,7 +122,6 @@ extern int debugging_mode;
 #endif
 
 #if defined (ARRAY_VARS)
-extern int assoc_expand_once;
 extern int array_expand_once;
 int expand_once_flag;
 #endif
@@ -146,7 +145,7 @@ static int shopt_set_complete_direxpand (char *, int);
 #endif
 
 #if defined (ARRAY_VARS)
-static int set_assoc_expand (char *, int);
+static int set_array_expand (char *, int);
 #endif
 
 #if defined (EXTENDED_GLOB)
@@ -180,7 +179,8 @@ static struct {
 } shopt_vars[] = {
   { "autocd", &autocd, (shopt_set_func_t *)NULL },
 #if defined (ARRAY_VARS)
-  { "assoc_expand_once", &expand_once_flag, set_assoc_expand },
+  { "array_expand_once", &expand_once_flag, set_array_expand },
+  { "assoc_expand_once", &expand_once_flag, set_array_expand },
 #endif
   { "cdable_vars", &cdable_vars, (shopt_set_func_t *)NULL },
   { "cdspell", &cdspelling, (shopt_set_func_t *)NULL },
@@ -386,7 +386,7 @@ reset_shopt_options (void)
   glob_always_skip_dot_and_dotdot = 1;         /* new default as of bash-5.2 */
 
 #if defined (ARRAY_VARS)
-  expand_once_flag = assoc_expand_once = 0;
+  expand_once_flag = array_expand_once = 0;
 #endif
 
 #if defined (HISTORY)
@@ -914,12 +914,12 @@ initialize_bashopts (int no_bashopts)
 
 #if defined (ARRAY_VARS)
 static int
-set_assoc_expand (char *option_name, int mode)
+set_array_expand (char *option_name, int mode)
 {
 #if 0 /* leave this disabled */
   if (shell_compatibility_level <= 51)
 #endif
-    assoc_expand_once = expand_once_flag;
+    array_expand_once = expand_once_flag;
   return 0;
 }
 #endif
index 1ae611e166c4b1f9ee054f047b7e3e3c0c529594..48f78a481c66b09111880515302186732686a093 100644 (file)
@@ -5901,12 +5901,14 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
-              a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
+              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-
-                      sociative  array subscripts during arithmetic expression
-                      evaluation, while executing builtins  that  can  perform
-                      variable  assignments, and while executing builtins that
-                      perform array dereferencing.
+                      sociative and indexed array subscripts during arithmetic
+                      expression evaluation, while executing builtins that can
+                      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\bd com-
                       mand.  This option is only used by interactive shells.
@@ -6778,4 +6780,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash 5.2                      2023 May 23                          BASH(1)
+GNU Bash 5.2                     2023 June 13                          BASH(1)
index ea23fc1eb057c9a106ecf0da6f92b108b3c6f04b..98c8c048e8557901a92302287ab3c6de51dec718 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Tue May 23 11:29:30 EDT 2023
+.\"    Last Change: Tue Jun 13 10:33:46 EDT 2023
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2023 May 23" "GNU Bash 5.2"
+.TH BASH 1 "2023 June 13" "GNU Bash 5.2"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -10385,12 +10385,16 @@ The list of \fBshopt\fP options is:
 .if n .sp 1v
 .PD 0
 .TP 8
-.B assoc_expand_once
-If set, the shell suppresses multiple evaluation of associative array
-subscripts during arithmetic expression evaluation, while executing
+.B array_expand_once
+If set, the shell suppresses multiple evaluation of
+associative and indexed array subscripts
+during arithmetic expression evaluation, while executing
 builtins that can perform variable assignments,
 and while executing builtins that perform array dereferencing.
 .TP 8
+.B assoc_expand_once
+Deprecated; a synonym for \fBarray_expand_once\fP. 
+.TP 8
 .B autocd
 If set, a command name that is the name of a directory is executed as if
 it were the argument to the \fBcd\fP command.
index d2e5effbfde33208c1701b32a256dfd47da6284c..261e66898e4ce4f706618fbbf7df8dac3f5819d9 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 May 23<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2023 June 13<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -13061,13 +13061,18 @@ The list of <B>shopt</B> options is:
 
 
 <DL COMPACT>
-<DT><B>assoc_expand_once</B>
+<DT><B>array_expand_once</B>
 
 <DD>
-If set, the shell suppresses multiple evaluation of associative array
-subscripts during arithmetic expression evaluation, while executing
+If set, the shell suppresses multiple evaluation of
+associative and indexed array subscripts
+during arithmetic expression evaluation, while executing
 builtins that can perform variable assignments,
 and while executing builtins that perform array dereferencing.
+<DT><B>assoc_expand_once</B>
+
+<DD>
+Deprecated; a synonym for <B>array_expand_once</B>. 
 <DT><B>autocd</B>
 
 <DD>
@@ -14999,7 +15004,7 @@ There may be only one active coprocess at a time.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2023 May 23<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2023 June 13<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -15105,7 +15110,7 @@ There may be only one active coprocess at a time.
 <DT><A HREF="#lbDI">BUGS</A><DD>
 </DL>
 <HR>
-This document was created by man2html from /usr/local/src/bash/bash-20230522/doc/bash.1.<BR>
-Time: 23 May 2023 11:31:51 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20230612/doc/bash.1.<BR>
+Time: 13 June 2023 10:42:12 EDT
 </BODY>
 </HTML>
index a52e838f1e1e3b55e39842cc047c08c1fabcbbed..2deb4f107ea88e65aec0be5a8c31bdb1db3098ce 100644 (file)
@@ -1,9 +1,9 @@
 This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 23 May 2023).
+Bash shell (version 5.2, 13 June 2023).
 
-   This is Edition 5.2, last updated 23 May 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 13 June 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 23 May 2023).  The Bash home page is
+Bash shell (version 5.2, 13 June 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.2, last updated 23 May 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 13 June 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    Bash contains features that appear in other popular shells, and some
@@ -4846,12 +4846,15 @@ This builtin allows you to change additional shell optional behavior.
 
      The list of 'shopt' options is:
 
-     'assoc_expand_once'
+     'array_expand_once'
           If set, the shell suppresses multiple evaluation of
-          associative array subscripts during arithmetic expression
-          evaluation, while executing builtins that can perform variable
-          assignments, and while executing builtins that perform array
-          dereferencing.
+          associative and indexed array subscripts during arithmetic
+          expression evaluation, while executing builtins that can
+          perform variable assignments, and while executing builtins
+          that perform array dereferencing.
+
+     'assoc_expand_once'
+          Deprecated; a synonym for 'array_expand_once'.
 
      'autocd'
           If set, a command name that is the name of a directory is
@@ -12767,138 +12770,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f884
-Node: Introduction\7f2791
-Node: What is Bash?\7f3004
-Node: What is a shell?\7f4115
-Node: Definitions\7f6650
-Node: Basic Shell Features\7f9598
-Node: Shell Syntax\7f10814
-Node: Shell Operation\7f11837
-Node: Quoting\7f13127
-Node: Escape Character\7f14428
-Node: Single Quotes\7f14910
-Node: Double Quotes\7f15255
-Node: ANSI-C Quoting\7f16530
-Node: Locale Translation\7f17839
-Node: Creating Internationalized Scripts\7f19147
-Node: Comments\7f23261
-Node: Shell Commands\7f23876
-Node: Reserved Words\7f24811
-Node: Simple Commands\7f25564
-Node: Pipelines\7f26215
-Node: Lists\7f29211
-Node: Compound Commands\7f31003
-Node: Looping Constructs\7f32012
-Node: Conditional Constructs\7f34504
-Node: Command Grouping\7f48989
-Node: Coprocesses\7f50464
-Node: GNU Parallel\7f53124
-Node: Shell Functions\7f54038
-Node: Shell Parameters\7f61920
-Node: Positional Parameters\7f66305
-Node: Special Parameters\7f67204
-Node: Shell Expansions\7f70415
-Node: Brace Expansion\7f72539
-Node: Tilde Expansion\7f75270
-Node: Shell Parameter Expansion\7f77888
-Node: Command Substitution\7f96287
-Node: Arithmetic Expansion\7f99748
-Node: Process Substitution\7f100713
-Node: Word Splitting\7f101830
-Node: Filename Expansion\7f103875
-Node: Pattern Matching\7f106805
-Node: Quote Removal\7f111804
-Node: Redirections\7f112096
-Node: Executing Commands\7f121786
-Node: Simple Command Expansion\7f122453
-Node: Command Search and Execution\7f124560
-Node: Command Execution Environment\7f126944
-Node: Environment\7f129976
-Node: Exit Status\7f131636
-Node: Signals\7f133417
-Node: Shell Scripts\7f136863
-Node: Shell Builtin Commands\7f139887
-Node: Bourne Shell Builtins\7f141922
-Node: Bash Builtins\7f164253
-Node: Modifying Shell Behavior\7f196249
-Node: The Set Builtin\7f196591
-Node: The Shopt Builtin\7f207186
-Node: Special Builtins\7f223095
-Node: Shell Variables\7f224071
-Node: Bourne Shell Variables\7f224505
-Node: Bash Variables\7f226606
-Node: Bash Features\7f260668
-Node: Invoking Bash\7f261678
-Node: Bash Startup Files\7f267688
-Node: Interactive Shells\7f272816
-Node: What is an Interactive Shell?\7f273224
-Node: Is this Shell Interactive?\7f273870
-Node: Interactive Shell Behavior\7f274682
-Node: Bash Conditional Expressions\7f278308
-Node: Shell Arithmetic\7f282947
-Node: Aliases\7f285905
-Node: Arrays\7f288796
-Node: The Directory Stack\7f295356
-Node: Directory Stack Builtins\7f296137
-Node: Controlling the Prompt\7f300394
-Node: The Restricted Shell\7f303356
-Node: Bash POSIX Mode\7f305963
-Node: Shell Compatibility Mode\7f321753
-Node: Job Control\7f329994
-Node: Job Control Basics\7f330451
-Node: Job Control Builtins\7f335450
-Node: Job Control Variables\7f341242
-Node: Command Line Editing\7f342395
-Node: Introduction and Notation\7f344063
-Node: Readline Interaction\7f345683
-Node: Readline Bare Essentials\7f346871
-Node: Readline Movement Commands\7f348657
-Node: Readline Killing Commands\7f349614
-Node: Readline Arguments\7f351532
-Node: Searching\7f352573
-Node: Readline Init File\7f354756
-Node: Readline Init File Syntax\7f356014
-Node: Conditional Init Constructs\7f379802
-Node: Sample Init File\7f383995
-Node: Bindable Readline Commands\7f387116
-Node: Commands For Moving\7f388317
-Node: Commands For History\7f390365
-Node: Commands For Text\7f395356
-Node: Commands For Killing\7f399002
-Node: Numeric Arguments\7f402032
-Node: Commands For Completion\7f403168
-Node: Keyboard Macros\7f407356
-Node: Miscellaneous Commands\7f408041
-Node: Readline vi Mode\7f414076
-Node: Programmable Completion\7f414980
-Node: Programmable Completion Builtins\7f422757
-Node: A Programmable Completion Example\7f433742
-Node: Using History Interactively\7f438987
-Node: Bash History Facilities\7f439668
-Node: Bash History Builtins\7f442670
-Node: History Interaction\7f447691
-Node: Event Designators\7f451308
-Node: Word Designators\7f452659
-Node: Modifiers\7f454416
-Node: Installing Bash\7f456221
-Node: Basic Installation\7f457355
-Node: Compilers and Options\7f461074
-Node: Compiling For Multiple Architectures\7f461812
-Node: Installation Names\7f463501
-Node: Specifying the System Type\7f465607
-Node: Sharing Defaults\7f466321
-Node: Operation Controls\7f466991
-Node: Optional Features\7f467946
-Node: Reporting Bugs\7f479162
-Node: Major Differences From The Bourne Shell\7f480493
-Node: GNU Free Documentation License\7f497339
-Node: Indexes\7f522513
-Node: Builtin Index\7f522964
-Node: Reserved Word Index\7f530062
-Node: Variable Index\7f532507
-Node: Function Index\7f549492
-Node: Concept Index\7f563273
+Node: Top\7f886
+Node: Introduction\7f2795
+Node: What is Bash?\7f3008
+Node: What is a shell?\7f4119
+Node: Definitions\7f6654
+Node: Basic Shell Features\7f9602
+Node: Shell Syntax\7f10818
+Node: Shell Operation\7f11841
+Node: Quoting\7f13131
+Node: Escape Character\7f14432
+Node: Single Quotes\7f14914
+Node: Double Quotes\7f15259
+Node: ANSI-C Quoting\7f16534
+Node: Locale Translation\7f17843
+Node: Creating Internationalized Scripts\7f19151
+Node: Comments\7f23265
+Node: Shell Commands\7f23880
+Node: Reserved Words\7f24815
+Node: Simple Commands\7f25568
+Node: Pipelines\7f26219
+Node: Lists\7f29215
+Node: Compound Commands\7f31007
+Node: Looping Constructs\7f32016
+Node: Conditional Constructs\7f34508
+Node: Command Grouping\7f48993
+Node: Coprocesses\7f50468
+Node: GNU Parallel\7f53128
+Node: Shell Functions\7f54042
+Node: Shell Parameters\7f61924
+Node: Positional Parameters\7f66309
+Node: Special Parameters\7f67208
+Node: Shell Expansions\7f70419
+Node: Brace Expansion\7f72543
+Node: Tilde Expansion\7f75274
+Node: Shell Parameter Expansion\7f77892
+Node: Command Substitution\7f96291
+Node: Arithmetic Expansion\7f99752
+Node: Process Substitution\7f100717
+Node: Word Splitting\7f101834
+Node: Filename Expansion\7f103879
+Node: Pattern Matching\7f106809
+Node: Quote Removal\7f111808
+Node: Redirections\7f112100
+Node: Executing Commands\7f121790
+Node: Simple Command Expansion\7f122457
+Node: Command Search and Execution\7f124564
+Node: Command Execution Environment\7f126948
+Node: Environment\7f129980
+Node: Exit Status\7f131640
+Node: Signals\7f133421
+Node: Shell Scripts\7f136867
+Node: Shell Builtin Commands\7f139891
+Node: Bourne Shell Builtins\7f141926
+Node: Bash Builtins\7f164257
+Node: Modifying Shell Behavior\7f196253
+Node: The Set Builtin\7f196595
+Node: The Shopt Builtin\7f207190
+Node: Special Builtins\7f223194
+Node: Shell Variables\7f224170
+Node: Bourne Shell Variables\7f224604
+Node: Bash Variables\7f226705
+Node: Bash Features\7f260767
+Node: Invoking Bash\7f261777
+Node: Bash Startup Files\7f267787
+Node: Interactive Shells\7f272915
+Node: What is an Interactive Shell?\7f273323
+Node: Is this Shell Interactive?\7f273969
+Node: Interactive Shell Behavior\7f274781
+Node: Bash Conditional Expressions\7f278407
+Node: Shell Arithmetic\7f283046
+Node: Aliases\7f286004
+Node: Arrays\7f288895
+Node: The Directory Stack\7f295455
+Node: Directory Stack Builtins\7f296236
+Node: Controlling the Prompt\7f300493
+Node: The Restricted Shell\7f303455
+Node: Bash POSIX Mode\7f306062
+Node: Shell Compatibility Mode\7f321852
+Node: Job Control\7f330093
+Node: Job Control Basics\7f330550
+Node: Job Control Builtins\7f335549
+Node: Job Control Variables\7f341341
+Node: Command Line Editing\7f342494
+Node: Introduction and Notation\7f344162
+Node: Readline Interaction\7f345782
+Node: Readline Bare Essentials\7f346970
+Node: Readline Movement Commands\7f348756
+Node: Readline Killing Commands\7f349713
+Node: Readline Arguments\7f351631
+Node: Searching\7f352672
+Node: Readline Init File\7f354855
+Node: Readline Init File Syntax\7f356113
+Node: Conditional Init Constructs\7f379901
+Node: Sample Init File\7f384094
+Node: Bindable Readline Commands\7f387215
+Node: Commands For Moving\7f388416
+Node: Commands For History\7f390464
+Node: Commands For Text\7f395455
+Node: Commands For Killing\7f399101
+Node: Numeric Arguments\7f402131
+Node: Commands For Completion\7f403267
+Node: Keyboard Macros\7f407455
+Node: Miscellaneous Commands\7f408140
+Node: Readline vi Mode\7f414175
+Node: Programmable Completion\7f415079
+Node: Programmable Completion Builtins\7f422856
+Node: A Programmable Completion Example\7f433841
+Node: Using History Interactively\7f439086
+Node: Bash History Facilities\7f439767
+Node: Bash History Builtins\7f442769
+Node: History Interaction\7f447790
+Node: Event Designators\7f451407
+Node: Word Designators\7f452758
+Node: Modifiers\7f454515
+Node: Installing Bash\7f456320
+Node: Basic Installation\7f457454
+Node: Compilers and Options\7f461173
+Node: Compiling For Multiple Architectures\7f461911
+Node: Installation Names\7f463600
+Node: Specifying the System Type\7f465706
+Node: Sharing Defaults\7f466420
+Node: Operation Controls\7f467090
+Node: Optional Features\7f468045
+Node: Reporting Bugs\7f479261
+Node: Major Differences From The Bourne Shell\7f480592
+Node: GNU Free Documentation License\7f497438
+Node: Indexes\7f522612
+Node: Builtin Index\7f523063
+Node: Reserved Word Index\7f530161
+Node: Variable Index\7f532606
+Node: Function Index\7f549591
+Node: Concept Index\7f563372
 \1f
 End Tag Table
 
index 66f376059c617ce58e919994d562cbf0e4f80276..274dde4aeab1e58ac3e21c789a8fe7f7753f5ab8 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index 8f21705abb947c2fa17b946b4841799e53b51bb1..bcfc172a76f52bf58da495ec95ba36121e76c8c4 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.22.4
-%%CreationDate: Tue May 23 11:31:59 2023
+%%CreationDate: Tue Jun 13 10:41:52 2023
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -340,7 +340,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E
 (~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti)
 144 710.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
 (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(1)202.335 E 0 Cg EP
+(2023 June 13)148.175 E(1)202.335 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
@@ -463,8 +463,8 @@ F2(~/.bashr)108 691.2 Q(c)-.37 E F0 2.535(,i)C 2.535(ft)-2.535 G .035
 Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25
 G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806
 (un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15
-F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(2)202.335 E
-0 Cg EP
+F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(2)202.335
+0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
@@ -595,7 +595,7 @@ F2(case)3.144 E F0(or)3.144 E F2(select)3.143 E F0 .643(command \(only)
 669.6 R F6(SHELL GRAMMAR)72 686.4 Q F0
 (This section describes the syntax of the v)108 698.4 Q
 (arious forms of shell commands.)-.25 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(3)202.335 E 0 Cg EP
+(2023 June 13)148.175 E(3)202.335 E 0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
@@ -718,7 +718,7 @@ or more pipelines separated by the)108 650.4 R F1(&&)2.671 E F0(and)
 G(cuted if, and only if,).15 E F2(command1)2.7 E F0(returns an e)2.5 E
 (xit status of zero \(success\).)-.15 E(An OR list has the form)108
 712.8 Q F2(command1)144 729.6 Q F1(||)2.5 E F2(command2)2.5 E F0
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(4)202.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(4)202.335 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
@@ -854,7 +854,7 @@ ormal quoting and pattern characters lose their meanings between brack)
 .583(with inde)144 720 R 3.083(x0)-.15 G .582
 (contains the portion of the string matching the entire re)-.001 F .582
 (gular e)-.15 F 3.082(xpression. Substrings)-.15 F(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(5)202.335 E 0 Cg EP
+(2023 June 13)148.175 E(5)202.335 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
@@ -998,7 +998,7 @@ F0 .254(in place of)2.754 F F3(;;)2.754 E F0 .254(causes e)2.754 F -.15
 (Using)144 720 Q F3(;;&)3.378 E F0 .878(in place of)3.378 F F3(;;)3.378
 E F0 .878(causes the shell to test the ne)3.378 F .878
 (xt pattern list in the statement, if an)-.15 F 2.178 -.65(y, a)-.15 H
-(nd).65 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(6)202.335 E 0 Cg
+(nd).65 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(6)202.335 E 0 Cg
 EP
 %%Page: 7 7
 %%BeginPageSetup
@@ -1124,7 +1124,7 @@ Q F0 2.698(As)108 691.2 S .198
 (cutes a compound command with).15 F 2.5(an)108 703.2 S .5 -.25(ew s)
 -2.5 H(et of positional parameters.).25 E
 (Shell functions are declared as follo)5 E(ws:)-.25 E(GNU Bash 5.2)72
-768 Q(2023 May 23)148.175 E(7)202.335 E 0 Cg EP
+768 Q(2023 June 13)148.175 E(7)202.335 E 0 Cg EP
 %%Page: 8 8
 %%BeginPageSetup
 BP
@@ -1257,7 +1257,7 @@ E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H
 (replaced as speci\214ed by the ANSI C standard.)3.027 F
 (Backslash escape sequences, if present, are decoded as follo)108 684 Q
 (ws:)-.25 E F2(\\a)144 696 Q F0(alert \(bell\))180 696 Q F2(\\b)144 708
-Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(8)
+Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(8)
 202.335 E 0 Cg EP
 %%Page: 9 9
 %%BeginPageSetup
@@ -1373,7 +1373,7 @@ F0 2.664(commands\). When)2.664 F .164(+= is)2.664 F .132
 (sion and added to the v)108 722.4 R(ariable')-.25 E 3.726(sc)-.55 G
 1.227(urrent v)-3.726 F 1.227(alue, which is also e)-.25 F -.25(va)-.25
 G 3.727(luated. When).25 F 1.227(+= is applied to an array)3.727 F
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(9)202.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(9)202.335 E 0 Cg EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
@@ -1515,7 +1515,7 @@ E(ground pipeline.)-.15 E F1<ad>108 703.2 Q F0 .882
 R -.2(vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G
 .881(iltin command, or).2 F(those set by the shell itself \(such as the)
 144 715.2 Q F1<ad69>2.5 E F0(option\).)2.5 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(10)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(10)197.335 E 0 Cg EP
 %%Page: 11 11
 %%BeginPageSetup
 BP
@@ -1643,7 +1643,7 @@ F F1($0)2.751 E F0 2.751(;s)C(ee)-2.751 E .041
 (f)-5.216 E F1 -.3(BA)2.716 G(SH_ARGV0).3 E F0 .216
 (is unset, it loses its special properties, e)2.716 F -.15(ve)-.25 G
 2.716(ni).15 G(f)-2.716 E(it is subsequently reset.)144 705.6 Q
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(11)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(11)197.335 E 0 Cg EP
 %%Page: 12 12
 %%BeginPageSetup
 BP
@@ -1748,7 +1748,7 @@ H(he current completion function.).1 E F1(COMP_LINE)108 690 Q F0 1.208
 (yt)-3.537 G 1.037(he programmable completion f)-3.537 F 1.037
 (acilities \(see)-.1 F F1(Pr)3.537 E 1.037(ogrammable Completion)-.18 F
 F0(be-)3.537 E(lo)144 726 Q(w\).)-.25 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(12)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(12)197.335 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 BP
@@ -1871,8 +1871,8 @@ F1(]})A F0 -.1(wa)2.512 G 2.512(sc).1 G .012(alled from the \214le)
 (at line number)144 702 R F1(${B)3.684 E(ASH_LINENO[)-.3 E F2($i)A F1
 (]})A F0 6.184(.T)C(he)-6.184 E F1(caller)3.683 E F0 -.2(bu)3.683 G
 1.183(iltin displays the current call stack using).2 F
-(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E
-(13)197.335 E 0 Cg EP
+(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175
+E(13)197.335 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
@@ -1966,7 +1966,7 @@ F0 1.547(line b)4.047 F(uf)-.2 E(fer)-.25 E 4.047(,f)-.4 G 1.547
 3.517 F(UIL)-.09 E 1.017(TIN COMMANDS)-.828 F F0(belo)3.267 E 3.516
 (w\). The)-.25 F 1.016(characters between the insertion point and the)
 3.516 F(mark are often called the)144 720 Q F3 -.37(re)2.5 G(gion)-.03 E
-F0(.)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(14)197.335 E 0 Cg EP
+F0(.)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(14)197.335 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
 BP
@@ -2089,8 +2089,8 @@ E F0 3.748(command. This)3.748 F 1.247
 (is a colon-separated list of directories in which the)3.748 F 3.795
 (shell looks for destination directories speci\214ed by the)144 729.6 R
 F1(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796
-(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(15)197.335 E
-0 Cg EP
+(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(15)197.335
+0 Cg EP
 %%Page: 16 16
 %%BeginPageSetup
 BP
@@ -2205,7 +2205,7 @@ F F5(nosort)3.464 E F0(disables)3.464 E .497
 F5(-)2.96 E F0 .46(sorts by name in descending order)2.96 F 5.46(.A)-.55
 G .76 -.15(ny i)-5.46 H -1.95 -.4(nv a).15 H .46(lid v).4 F .46
 (alue restores the historical sorting be-)-.25 F(ha)144 696 Q(vior)-.2 E
-(.)-.55 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(16)197.335 E 0 Cg
+(.)-.55 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(16)197.335 E 0 Cg
 EP
 %%Page: 17 17
 %%BeginPageSetup
@@ -2337,7 +2337,7 @@ F0 .503(Controls the action of an interacti)144 708 R .803 -.15(ve s)
 144 720 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F3
 (EOF)3.076 E F0 .426
 (characters which must be typed as the \214rst characters)2.676 F
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(17)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(17)197.335 E 0 Cg EP
 %%Page: 18 18
 %%BeginPageSetup
 BP
@@ -2440,7 +2440,7 @@ ser mail \214les that it uses is system dependent \(e.g., /v)144 576 Q
 -.1 F(administrator who installs)144 684 Q F1(bash)2.5 E F0 5(.A)C
 (common v)-2.5 E(alue is)-.25 E/F5 10/Courier@0 SF
 (/usr/local/bin:/usr/lo-)2.5 E(cal/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
-144 696 Q F0(.)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(18)197.335
+144 696 Q F0(.)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(18)197.335
 E 0 Cg EP
 %%Page: 19 19
 %%BeginPageSetup
@@ -2555,8 +2555,8 @@ G(iltin.).2 E(The)144 680.4 Q F1(select)2.81 E F0 .31
 S 1.05(it for a line of input after issuing the primary prompt.).1 F F1
 (Bash)6.05 E F0 1.05(terminates after w)3.55 F 1.05(aiting for that)-.1
 F(number of seconds if a complete line of input does not arri)144 716.4
-Q -.15(ve)-.25 G(.).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(19)
-197.335 E 0 Cg EP
+Q -.15(ve)-.25 G(.).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E
+(19)197.335 E 0 Cg EP
 %%Page: 20 20
 %%BeginPageSetup
 BP
@@ -2704,7 +2704,7 @@ F 3.133(wt)-.25 G .633(he remaining w)-3.133 F .633(ords are inter)-.1 F
 (syntax introduced abo)6.22 F -.15(ve)-.15 G 8.72(.W).15 G 3.72
 (hen assigning to an inde)-8.72 F -.15(xe)-.15 G 6.22(da).15 G(rray)
 -6.22 E 6.22(,i)-.65 G(f)-6.22 E F2(name)6.58 E F0(is)6.4 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(20)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(20)197.335 E 0 Cg EP
 %%Page: 21 21
 %%BeginPageSetup
 BP
@@ -2858,8 +2858,8 @@ E(formed at the same time as tilde, parameter)108 688.8 Q 2.5(,v)-.4 G
 -.15 F .003(ord are remo)-.1 F -.15(ve)-.15 G 2.503(du).15 G .003
 (nless the)-2.503 F(y)-.15 E(ha)108 717.6 Q .3 -.15(ve b)-.2 H
 (een quoted themselv).15 E(es \()-.15 E F1(quote r)A(emo)-.37 E(val)-.1
-E F0(\).)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(21)197.335 E 0 Cg
-EP
+E F0(\).)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(21)197.335 E 0
+Cg EP
 %%Page: 22 22
 %%BeginPageSetup
 BP
@@ -2995,7 +2995,7 @@ with the speci\214ed login name.)108 679.2 Q .092
 (tilde in the tilde-pre\214x consist of a number)108 720 R F2(N)4.141 E
 F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642
 (ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F(GNU Bash 5.2)72
-768 Q(2023 May 23)148.175 E(22)197.335 E 0 Cg EP
+768 Q(2023 June 13)148.175 E(22)197.335 E 0 Cg EP
 %%Page: 23 23
 %%BeginPageSetup
 BP
@@ -3122,7 +3122,7 @@ F F4(pa-)4.561 E -.15(ra)144 612 S(meter).15 E F0 5.741(.T).73 G .741
 (alue)-.92 E F0 5.745(.I)C(f)-5.745 E F4(par)4.495 E(ameter)-.15 E F0
 .745(is null or unset, nothing is substituted, otherwise the e)3.975 F
 (xpan-)-.15 E(sion of)144 708 Q F4(wor)2.84 E(d)-.37 E F0
-(is substituted.)3.27 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(23)
+(is substituted.)3.27 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(23)
 197.335 E 0 Cg EP
 %%Page: 24 24
 %%BeginPageSetup
@@ -3254,7 +3254,7 @@ F0(belo)3.132 E 4.432 -.65(w. I)-.25 H 3.132(ft).65 G .632
 (then the result of the e)144 727.2 R 1.151(xpansion is the e)-.15 F
 1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F1(par)4.901 E(ameter)-.15 E
 F0 1.151(with the shortest matching)4.381 F(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(24)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(24)197.335 E 0 Cg EP
 %%Page: 25 25
 %%BeginPageSetup
 BP
@@ -3386,7 +3386,7 @@ E F0(or)3.236 E F1(*)3.236 E F0 3.236(,t)C .736
 2.847(,t)C .348(he substitution operation is applied to each member of \
 the array in turn,)-2.847 F(and the e)144 681.6 Q
 (xpansion is the resultant list.)-.15 E(${)108 698.4 Q F2(par)A(ameter)
--.15 E F1(^)A F2(pattern)A F0(})A(GNU Bash 5.2)72 768 Q(2023 May 23)
+-.15 E F1(^)A F2(pattern)A F0(})A(GNU Bash 5.2)72 768 Q(2023 June 13)
 148.175 E(25)197.335 E 0 Cg EP
 %%Page: 26 26
 %%BeginPageSetup
@@ -3503,7 +3503,7 @@ Q F2($\()144 679.2 Q F1(command)A F2(\))1.666 E F0(or \(deprecated\))108
 F0 .089(performs the e)2.589 F .089(xpansion by e)-.15 F -.15(xe)-.15 G
 (cuting).15 E F1(command)2.589 E F0 .088(in a subshell en)2.589 F .088
 (vironment and replacing the command)-.4 F(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(26)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(26)197.335 E 0 Cg EP
 %%Page: 27 27
 %%BeginPageSetup
 BP
@@ -3628,7 +3628,7 @@ F0 .56(form is used, writing to the \214le will pro)108 684 R .56
 (method of naming open \214les.)2.5 E .897(When a)108 724.8 R -.25(va)
 -.2 G .896(ilable, process substitution is performed simultaneously wit\
 h parameter and v).25 F .896(ariable e)-.25 F(xpansion,)-.15 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(27)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(27)197.335 E 0 Cg EP
 %%Page: 28 28
 %%BeginPageSetup
 BP
@@ -3780,7 +3780,7 @@ F1 -.63(``)3.684 G -.55(.').63 G(')-.08 E F0 3.684(,m)C(ak)-3.684 E(e)
 (T)-.36 E F0 -.25(va)2.25 G(riable controls ho).25 E 2.5(wt)-.25 G
 (he results of pathname e)-2.5 E(xpansion are sorted, as described abo)
 -.15 E -.15(ve)-.15 G(.).15 E F1 -.1(Pa)108 720 S(tter).1 E 2.5(nM)-.15
-G(atching)-2.5 E F0(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(28)
+G(atching)-2.5 E F0(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(28)
 197.335 E 0 Cg EP
 %%Page: 29 29
 %%BeginPageSetup
@@ -3896,7 +3896,7 @@ F0 .988
 1.392(ginning with `)-.15 F(`.)-.74 E -.74('')-.7 G 3.892(,b).74 G 1.392
 (ut `)-4.092 F(`.)-.74 E 2.872 -.74('' a)-.7 H 1.392(nd `).74 F(`..)-.74
 E 2.872 -.74('' m)-.7 H 1.392(ust be).74 F(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(29)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(29)197.335 E 0 Cg EP
 %%Page: 30 30
 %%BeginPageSetup
 BP
@@ -4003,7 +4003,7 @@ E F3(fd)A F0(If)180 614.4 Q F3(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E
 (is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
 (vice name,)180 722.4 Q F1(bash)2.5 E F0
 (attempts to open the corresponding TCP sock)2.5 E(et.)-.1 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(30)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(30)197.335 E 0 Cg EP
 %%Page: 31 31
 %%BeginPageSetup
 BP
@@ -4091,7 +4091,7 @@ F1(Duplicating File Descriptors)2.5 E F0(belo)2.5 E
 (The format for appending standard output and standard error is:)108 672
 Q F1(&>>)144 688.8 Q F2(wor)A(d)-.37 E F0(This is semantically equi)108
 705.6 Q -.25(va)-.25 G(lent to).25 E F1(>>)144 722.4 Q F2(wor)A(d)-.37 E
-F0(2)2.5 E F1(>&)A F0(1)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E
+F0(2)2.5 E F1(>&)A F0(1)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E
 (31)197.335 E 0 Cg EP
 %%Page: 32 32
 %%BeginPageSetup
@@ -4189,7 +4189,7 @@ F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.)
 4.17(st).15 G 1.67(he \214le descriptor)-4.17 F F2(digit)4.17 E F0 1.67
 (to \214le descriptor)4.17 F F2(n)4.53 E F0 4.17(,o).24 G 4.17(rt)-4.17
 G 1.67(he standard output \(\214le descriptor 1\) if)-4.17 F F2(n)4.17 E
-F0 1.67(is not)4.17 F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(32)
+F0 1.67(is not)4.17 F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(32)
 197.335 E 0 Cg EP
 %%Page: 33 33
 %%BeginPageSetup
@@ -4322,7 +4322,7 @@ R F1(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .532
 2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the)
 -.25 F F1 .42(\255o functrace)2.92 F F0 .42
 (shell option has been enabled with the)2.92 F F1(set)2.921 E F0
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(33)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(33)197.335 E 0 Cg EP
 %%Page: 34 34
 %%BeginPageSetup
 BP
@@ -4465,7 +4465,7 @@ G(r\215o).15 E 2.357 -.65(w, t)-.25 H 1.057(hough di).65 F 1.057
 -.15(ve)-.25 G .439(ls of equal-precedence operators.).15 F .439(The le)
 5.439 F -.15(ve)-.25 G .439(ls are listed in order).15 F
 (of decreasing precedence.)108 724.8 Q(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(34)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(34)197.335 E 0 Cg EP
 %%Page: 35 35
 %%BeginPageSetup
 BP
@@ -4567,7 +4567,7 @@ m internally with this beha)108 672 R .345(vior: If an)-.2 F(y)-.15 E F1
 (ly).15 E 2.5(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722
 (Unless otherwise speci\214ed, primaries that operate on \214les follo)
 108 724.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
--3.221 F(get)-.18 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(35)
+-3.221 F(get)-.18 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(35)
 197.335 E 0 Cg EP
 %%Page: 36 36
 %%BeginPageSetup
@@ -4661,8 +4661,8 @@ E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1<ad52>108
 (ue if the strings are not equal.).35 E F2(string1)108 704.4 Q F1(<)2.5
 E F2(string2)2.5 E F0 -.35(Tr)144 716.4 S(ue if).35 E F2(string1)2.5 E
 F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15
-E(.)-.65 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(36)197.335 E 0 Cg
-EP
+E(.)-.65 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(36)197.335 E 0
+Cg EP
 %%Page: 37 37
 %%BeginPageSetup
 BP
@@ -4783,7 +4783,7 @@ ful, or if the command name contains one or more slashes, the shell e)
 (n, and the remain-).15 F(ing ar)108 722.4 Q
 (guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15
 (ve)-.25 G(n, if an).15 E -.65(y.)-.15 G(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(37)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(37)197.335 E 0 Cg EP
 %%Page: 38 38
 %%BeginPageSetup
 BP
@@ -4890,7 +4890,7 @@ F2<ad65>3.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When)
 (If a command is follo)108 722.4 R .405(wed by a)-.25 F F2(&)2.905 E F0
 .404(and job control is not acti)2.905 F -.15(ve)-.25 G 2.904(,t).15 G
 .404(he def)-2.904 F .404(ault standard input for the command)-.1 F
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(38)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(38)197.335 E 0 Cg EP
 %%Page: 39 39
 %%BeginPageSetup
 BP
@@ -5023,7 +5023,7 @@ E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 643.2 Q 1.064
 F5(.)A F0 2.53 -.8(To p)5.43 H(re).8 E -.15(ve)-.25 G .93(nt the shell \
 from sending the signal to a particular job, it should be remo).15 F
 -.15(ve)-.15 G 3.429(df).15 G .929(rom the)-3.429 F(GNU Bash 5.2)72 768
-Q(2023 May 23)148.175 E(39)197.335 E 0 Cg EP
+Q(2023 June 13)148.175 E(39)197.335 E 0 Cg EP
 %%Page: 40 40
 %%BeginPageSetup
 BP
@@ -5157,7 +5157,7 @@ F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .17
 (tak)2.67 E .17(es ef-)-.1 F 2.679(fect immediately)108 729.6 R 5.179
 (,a)-.65 G 2.679(nd has the additional side ef)-5.179 F 2.68
 (fect of causing pending output and typeahead to be)-.25 F(GNU Bash 5.2)
-72 768 Q(2023 May 23)148.175 E(40)197.335 E 0 Cg EP
+72 768 Q(2023 June 13)148.175 E(40)197.335 E 0 Cg EP
 %%Page: 41 41
 %%BeginPageSetup
 BP
@@ -5279,7 +5279,7 @@ Q F0(the hostname)180 592.8 Q F1(\\j)144 604.8 Q F0
 688.8 Q F0(the current time in 12-hour am/pm format)180 688.8 Q F1(\\A)
 144 700.8 Q F0(the current time in 24-hour HH:MM format)180 700.8 Q F1
 (\\u)144 712.8 Q F0(the username of the current user)180 712.8 Q
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(41)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(41)197.335 E 0 Cg EP
 %%Page: 42 42
 %%BeginPageSetup
 BP
@@ -5414,7 +5414,7 @@ F -.1(ke)108 700.8 S 2.5(yb)-.05 G(indings and v)-2.5 E
 -.15(ey)-.1 G .987(-bindings may be changed with an).15 F F3(inputr)
 3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987
 (programs that use this library may)3.487 F(add their o)108 729.6 Q
-(wn commands and bindings.)-.25 E(GNU Bash 5.2)72 768 Q(2023 May 23)
+(wn commands and bindings.)-.25 E(GNU Bash 5.2)72 768 Q(2023 June 13)
 148.175 E(42)197.335 E 0 Cg EP
 %%Page: 43 43
 %%BeginPageSetup
@@ -5498,8 +5498,8 @@ equences, a second set of backslash escapes is a)108 612 Q -.25(va)-.2 G
 (\\f)144 660 Q F0(form feed)180 660 Q F2(\\n)144 672 Q F0(ne)180 672 Q
 (wline)-.25 E F2(\\r)144 684 Q F0(carriage return)180 684 Q F2(\\t)144
 696 Q F0(horizontal tab)180 696 Q F2(\\v)144 708 Q F0 -.15(ve)180 708 S
-(rtical tab).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(43)197.335
-E 0 Cg EP
+(rtical tab).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(43)
+197.335 E 0 Cg EP
 %%Page: 44 44
 %%BeginPageSetup
 BP
@@ -5625,7 +5625,7 @@ ored-completion-pre\214x", readline uses this color for the common pre\
 (ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 724.8 R
 (color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25
 E F1(LS_COLORS)2.5 E F0(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(44)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(44)197.335 E 0 Cg EP
 %%Page: 45 45
 %%BeginPageSetup
 BP
@@ -5740,7 +5740,7 @@ F .098(gion as)-.15 F F2(active)2.598 E F0 5.098(.W)C .098(hen the re)
 res the terminal to insert each paste into the editing b)-3.34 F(uf)-.2
 E .841(fer as a)-.25 F 2.101(single string of characters, instead of tr\
 eating each character as if it had been read from the)144 720 R
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(45)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(45)197.335 E 0 Cg EP
 %%Page: 46 46
 %%BeginPageSetup
 BP
@@ -5856,7 +5856,7 @@ E F2 -.37(re)2.551 G(adline).37 E F0 .051(will w)2.551 F .051
 (ompleted names which are symbolic links to directories ha)-2.675 F .475
 -.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 708
 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(46)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(46)197.335 E 0 Cg EP
 %%Page: 47 47
 %%BeginPageSetup
 BP
@@ -5965,7 +5965,7 @@ F .186(last line of the primary prompt when vi editing mode is acti)144
 -.2 G 2.745(ilable. Use).25 F .244(the \\1 and \\2 escapes to be)2.745 F
 .244(gin and end sequences of non-printing)-.15 F(characters, which can\
  be used to embed a terminal control sequence into the mode string.)144
-720 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(47)197.335 E 0 Cg EP
+720 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(47)197.335 E 0 Cg EP
 %%Page: 48 48
 %%BeginPageSetup
 BP
@@ -6065,7 +6065,7 @@ Q F0 .356(This directi)144 684 R .656 -.15(ve t)-.25 H(ak).15 E .356
 144 696 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
 -.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1
 ($include)144 720 Q F2(/etc/inputr)5.833 E(c)-.37 E F0(GNU Bash 5.2)72
-768 Q(2023 May 23)148.175 E(48)197.335 E 0 Cg EP
+768 Q(2023 June 13)148.175 E(48)197.335 E 0 Cg EP
 %%Page: 49 49
 %%BeginPageSetup
 BP
@@ -6169,7 +6169,7 @@ een width.)-.05 E F1(next\255scr)108 700.8 Q(een\255line)-.18 E F0 .638
 144 724.8 R .494 -.15(ve t)-.2 H .194(he desired ef).15 F .194
 (fect if the current readline line does not tak)-.25 F 2.695(eu)-.1 G
 2.695(pm)-2.695 G .195(ore than one ph)-2.695 F(ysical)-.05 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(49)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(49)197.335 E 0 Cg EP
 %%Page: 50 50
 %%BeginPageSetup
 BP
@@ -6253,7 +6253,7 @@ etween the start of the current)-.1 F(line and the point.)144 652.8 Q
 144 688.8 R/F3 10/Times-Italic@0 SF(point)2.507 E F0 2.507(\). The)B
 .007(search string may match an)2.507 F .007(ywhere in a history)-.15 F
 2.5(line. This)144 700.8 R(is a non-incremental search.)2.5 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(50)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(50)197.335 E 0 Cg EP
 %%Page: 51 51
 %%BeginPageSetup
 BP
@@ -6360,7 +6360,7 @@ R .799(xample, by)-.15 F/F5 10/Courier@0 SF(stty)3.299 E F0 5.799(.I)C
 (Delete the character under the cursor)144 700.8 R 2.973(,u)-.4 G .474
 (nless the cursor is at the end of the line, in which case the)-2.973 F
 (character behind the cursor is deleted.)144 712.8 Q(GNU Bash 5.2)72 768
-Q(2023 May 23)148.175 E(51)197.335 E 0 Cg EP
+Q(2023 June 13)148.175 E(51)197.335 E 0 Cg EP
 %%Page: 52 52
 %%BeginPageSetup
 BP
@@ -6454,7 +6454,8 @@ R .729(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F
 (ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1
 F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
 (ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144
-712.8 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(52)197.335 E 0 Cg EP
+712.8 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(52)197.335 E 0 Cg
+EP
 %%Page: 53 53
 %%BeginPageSetup
 BP
@@ -6553,7 +6554,7 @@ E(through the list.)144 669.6 Q(This command is intended to be bound to)
 (menu\255complete)144 705.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
 (nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg)
 .15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(53)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(53)197.335 E 0 Cg EP
 %%Page: 54 54
 %%BeginPageSetup
 BP
@@ -6637,7 +6638,7 @@ F0(Print the last k)144 616.8 Q -.15(ey)-.1 G
 669.6 Q F1(abort \(C\255g\))108 681.6 Q F0 3.248
 (Abort the current editing command and ring the terminal')144 693.6 R
 5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
-(bell\255style)144 705.6 Q F0(\).)A(GNU Bash 5.2)72 768 Q(2023 May 23)
+(bell\255style)144 705.6 Q F0(\).)A(GNU Bash 5.2)72 768 Q(2023 June 13)
 148.175 E(54)197.335 E 0 Cg EP
 %%Page: 55 55
 %%BeginPageSetup
@@ -6741,8 +6742,8 @@ ssible completions.)2.5 E F1(glob\255expand\255w)108 612 Q
 .872(the line is redra)144 684 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
 .872(umeric ar)-3.372 F .872
 (gument is supplied, an asterisk is appended before pathname)-.18 F -.15
-(ex)144 696 S(pansion.).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E
-(55)197.335 E 0 Cg EP
+(ex)144 696 S(pansion.).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175
+E(55)197.335 E 0 Cg EP
 %%Page: 56 56
 %%BeginPageSetup
 BP
@@ -6872,7 +6873,7 @@ tion or command has complete free-)-.1 F(dom in generating the matches.)
 (compgen)2.957 E F0 -.2(bu)2.957 G .457(iltin described belo).2 F 1.756
 -.65(w, t)-.25 H 2.956(og).65 G .456(enerate the matches.)-2.956 F .456
 (It must put the possible completions in the)5.456 F(GNU Bash 5.2)72 768
-Q(2023 May 23)148.175 E(56)197.335 E 0 Cg EP
+Q(2023 June 13)148.175 E(56)197.335 E 0 Cg EP
 %%Page: 57 57
 %%BeginPageSetup
 BP
@@ -7000,7 +7001,7 @@ E F5(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
 729.6 R .315(alue of)-.25 F F1(HISTFILE)2.815 E F0 .315
 (is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G
 .315(ontain no more than the number of)-2.815 F(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(57)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(57)197.335 E 0 Cg EP
 %%Page: 58 58
 %%BeginPageSetup
 BP
@@ -7150,7 +7151,7 @@ Q(eedit)-.18 E F0 1.202(shell option is enabled, a f)3.702 F 1.202
 1.161(er for correction.).25 F(The)6.161 E F3<ad70>3.661 E F0 1.161
 (option to the)3.661 F F3(history)3.661 E F0 -.2(bu)3.661 G 1.16
 (iltin command may be used to see what a history).2 F(GNU Bash 5.2)72
-768 Q(2023 May 23)148.175 E(58)197.335 E 0 Cg EP
+768 Q(2023 June 13)148.175 E(58)197.335 E 0 Cg EP
 %%Page: 59 59
 %%BeginPageSetup
 BP
@@ -7257,7 +7258,7 @@ E(If a w)108 616.8 Q(ord designator is supplied without an e)-.1 E -.15
 (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E
 (ving the basename.)-.2 E F1(e)108 710.4 Q F0(Remo)144 710.4 Q .3 -.15
 (ve a)-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(59)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(59)197.335 E 0 Cg EP
 %%Page: 60 60
 %%BeginPageSetup
 BP
@@ -7405,7 +7406,7 @@ F0 5.744(.I)C(f)-5.744 E F2(job-)4.984 E(spec)144 697.2 Q F0 .671
 (hen run with job control enabled, an)-2.919 F 2.918(ys)-.15 G
 (peci\214ed)-2.918 E F2(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G
 (ot)-2.918 E(found or w)144 721.2 Q(as started without job control.)-.1
-E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(60)197.335 E 0 Cg EP
+E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(60)197.335 E 0 Cg EP
 %%Page: 61 61
 %%BeginPageSetup
 BP
@@ -7525,7 +7526,7 @@ F .771(xit status.)-.15 F .771(This is useful)5.771 F .616
 722.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0
 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E
 5.57(.T)-.65 G .57(he return status)-5.57 F(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(61)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(61)197.335 E 0 Cg EP
 %%Page: 62 62
 %%BeginPageSetup
 BP
@@ -7670,7 +7671,7 @@ em directly from a completion speci\214cation with the same \215ags.)144
 (will be displayed.)2.5 E(The return v)144 715.2 Q
 (alue is true unless an in)-.25 E -.25(va)-.4 G
 (lid option is supplied, or no matches were generated.).25 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(62)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(62)197.335 E 0 Cg EP
 %%Page: 63 63
 %%BeginPageSetup
 BP
@@ -7773,7 +7774,7 @@ Q F1<ad41>144 648 Q F2(action)2.5 E F0(The)184 660 Q F2(action)2.5 E F0
 2.5 E F0(.)A F1(arrayv)184 684 Q(ar)-.1 E F0(Array v)224 696 Q
 (ariable names.)-.25 E F1(binding)184 708 Q(Readline)224 708 Q F0 -.1
 (ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(63)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(63)197.335 E 0 Cg EP
 %%Page: 64 64
 %%BeginPageSetup
 BP
@@ -7861,7 +7862,7 @@ Q F3(\214lterpat)2.5 E(\214lterpat)184 708 Q F0 .456
 (is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F
 .455(is applied to the list of possible)2.956 F 1.596
 (completions generated by the preceding options and ar)184 720 R 1.596
-(guments, and each completion)-.18 F(GNU Bash 5.2)72 768 Q(2023 May 23)
+(guments, and each completion)-.18 F(GNU Bash 5.2)72 768 Q(2023 June 13)
 148.175 E(64)197.335 E 0 Cg EP
 %%Page: 65 65
 %%BeginPageSetup
@@ -8007,7 +8008,7 @@ Q F0(Gi)180 691.2 Q 1.619 -.15(ve e)-.25 H(ach).15 E F1(name)3.819 E F0
 3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 727.2 R
 .809(ariable referenced by)-.25 F F1(name)3.308 E F0 1.908 -.55('s v)D
 3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
-F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(65)197.335 E 0 Cg EP
+F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(65)197.335 E 0 Cg EP
 %%Page: 66 66
 %%BeginPageSetup
 BP
@@ -8138,7 +8139,7 @@ F F1(echo)3.101 E F0 -.15(ex)3.101 G .601(pands these).15 F .658
 (does not interpret)3.159 F F1<adad>3.159 E F0 .659
 (to mean the end of options.)3.159 F F1(echo)5.659 E F0(inter)3.159 E(-)
 -.2 E(prets the follo)144 720 Q(wing escape sequences:)-.25 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(66)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(66)197.335 E 0 Cg EP
 %%Page: 67 67
 %%BeginPageSetup
 BP
@@ -8263,7 +8264,7 @@ F -.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82
 (is omitted, the e)2.835 F .096(xit status is that of the last command)
 -.15 F -.15(exe)144 715.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5
 E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(67)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(67)197.335 E 0 Cg EP
 %%Page: 68 68
 %%BeginPageSetup
 BP
@@ -8406,7 +8407,7 @@ F1(getopts)108 619.2 Q F2(optstring name)2.5 E F0([)2.5 E F2(ar)A 2.5
 (between multiple calls to)144 727.2 R F1(getopts)2.89 E F0 .39
 (within the same shell in)2.89 F -.2(vo)-.4 G .389(cation if a ne).2 F
 2.889(ws)-.25 G .389(et of parameters is to)-2.889 F(GNU Bash 5.2)72 768
-Q(2023 May 23)148.175 E(68)197.335 E 0 Cg EP
+Q(2023 June 13)148.175 E(68)197.335 E 0 Cg EP
 %%Page: 69 69
 %%BeginPageSetup
 BP
@@ -8515,7 +8516,7 @@ F3(n)3.24 E F0 .38(lists only the last)3.12 F F3(n)3.24 E F0 2.88
 (ciated with each displayed history entry)144 727.2 R 6.019(.N)-.65 G
 3.519(oi)-6.019 G(nterv)-3.519 E 1.019
 (ening blank is printed between the formatted)-.15 F(GNU Bash 5.2)72 768
-Q(2023 May 23)148.175 E(69)197.335 E 0 Cg EP
+Q(2023 June 13)148.175 E(69)197.335 E 0 Cg EP
 %%Page: 70 70
 %%BeginPageSetup
 BP
@@ -8640,7 +8641,7 @@ G .962(lent to).25 F F3<ad6c>3.462 E F0(.)A F3(kill)5.962 E F0 .962
 (returns true if at least one signal w)3.462 F(as)-.1 E
 (successfully sent, or f)144 720 Q(alse if an error occurs or an in)-.1
 E -.25(va)-.4 G(lid option is encountered.).25 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(70)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(70)197.335 E 0 Cg EP
 %%Page: 71 71
 %%BeginPageSetup
 BP
@@ -8782,8 +8783,8 @@ E F0 .196(returns a non-)2.696 F(zero v)144 710.4 Q(alue.)-.25 E
 (Otherwise,)144 727.2 Q F1(popd)2.67 E F0 .17(returns f)2.67 F .17
 (alse if an in)-.1 F -.25(va)-.4 G .171
 (lid option is encountered, the directory stack is empty).25 F 2.671(,o)
--.65 G 2.671(ra)-2.671 G(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(71)
-197.335 E 0 Cg EP
+-.65 G 2.671(ra)-2.671 G(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E
+(71)197.335 E 0 Cg EP
 %%Page: 72 72
 %%BeginPageSetup
 BP
@@ -8893,7 +8894,7 @@ g or adding directories to the)180 674.4 R
 3.768 E F0 1.267(th directory \(counting from the left of the list sho)B
 1.267(wn by)-.25 F F1(dirs)180 710.4 Q F0 2.5(,s)C
 (tarting with zero\) is at the top.)-2.5 E(GNU Bash 5.2)72 768 Q
-(2023 May 23)148.175 E(72)197.335 E 0 Cg EP
+(2023 June 13)148.175 E(72)197.335 E 0 Cg EP
 %%Page: 73 73
 %%BeginPageSetup
 BP
@@ -9016,7 +9017,7 @@ E(har)-.15 E(s)-.1 E F0 .609(characters are read.)180 648 R .608
 (wline, before attempting to read)-.25 F(an)180 708 Q 2.5(yi)-.15 G 2.5
 (nput. The)-2.5 F
 (prompt is displayed only if input is coming from a terminal.)2.5 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(73)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(73)197.335 E 0 Cg EP
 %%Page: 74 74
 %%BeginPageSetup
 BP
@@ -9154,7 +9155,7 @@ G -.18(rg)-3.08 G .58(uments remaining after op-).18 F .16
 2.661(,t)-.4 G(o)-2.661 E F1($1)2.661 E F0(,)A F1($2)144 715.2 Q F0(,)A
 F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E(GNU Bash 5.2)72 768
-Q(2023 May 23)148.175 E(74)197.335 E 0 Cg EP
+Q(2023 June 13)148.175 E(74)197.335 E 0 Cg EP
 %%Page: 75 75
 %%BeginPageSetup
 BP
@@ -9261,7 +9262,7 @@ H(nder).15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF
 (fect is as if the shell command)-.25 F/F5 10/Courier@0 SF(IGNOREEOF=10)
 4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224
 726 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
-.15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(75)197.335 E 0 Cg EP
+.15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(75)197.335 E 0 Cg EP
 %%Page: 76 76
 %%BeginPageSetup
 BP
@@ -9363,7 +9364,7 @@ E F1<ad42>144 642 Q F0 1.206(The shell performs brace e)184 642 R 1.206
 F .839(mands e)184 714 R -.15(xe)-.15 G .839(cuted in a subshell en).15
 F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838
 (trap is normally not inherited in)3.338 F(such cases.)184 726 Q
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(76)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(76)197.335 E 0 Cg EP
 %%Page: 77 77
 %%BeginPageSetup
 BP
@@ -9469,20 +9470,22 @@ R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)4.044 F
 (When setting or unsetting options, the return status is zero unless an)
 144 600 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell)
 -.25 F(option.)144 612 Q(The list of)144 628.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E F1(assoc_expand_once)144 646.8 Q F0 1.945
+(options is:)2.5 E F1(array_expand_once)144 646.8 Q F0 1.832
 (If set, the shell suppresses multiple e)184 658.8 R -.25(va)-.25 G
-1.944(luation of associati).25 F 2.244 -.15(ve a)-.25 H 1.944
-(rray subscripts during).15 F .885(arithmetic e)184 670.8 R .885
-(xpression e)-.15 F -.25(va)-.25 G .885(luation, while e).25 F -.15(xe)
--.15 G .885(cuting b).15 F .885(uiltins that can perform v)-.2 F .885
-(ariable as-)-.25 F(signments, and while e)184 682.8 Q -.15(xe)-.15 G
-(cuting b).15 E(uiltins that perform array dereferencing.)-.2 E F1
-(autocd)144 694.8 Q F0 .2
-(If set, a command name that is the name of a directory is e)184 694.8 R
+1.832(luation of associati).25 F 2.131 -.15(ve a)-.25 H 1.831(nd inde)
+.15 F -.15(xe)-.15 G 4.331(da).15 G 1.831(rray sub-)-4.331 F .025
+(scripts during arithmetic e)184 670.8 R .025(xpression e)-.15 F -.25
+(va)-.25 G .025(luation, while e).25 F -.15(xe)-.15 G .025(cuting b).15
+F .025(uiltins that can perform)-.2 F -.25(va)184 682.8 S
+(riable assignments, and while e).25 E -.15(xe)-.15 G(cuting b).15 E
+(uiltins that perform array dereferencing.)-.2 E F1(assoc_expand_once)
+144 694.8 Q F0(Deprecated; a synon)184 706.8 Q(ym for)-.15 E F1
+(array_expand_once)2.5 E F0(.)A F1(autocd)144 718.8 Q F0 .2
+(If set, a command name that is the name of a directory is e)184 718.8 R
 -.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 706.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 730.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(77)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(77)197.335 E 0 Cg EP
 %%Page: 78 78
 %%BeginPageSetup
 BP
@@ -9582,7 +9585,7 @@ E F1(dotglob)144 679.2 Q F0 .165(If set,)184 679.2 R F1(bash)2.665 E F0
 (cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)184
 720 Q F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E
 .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F1(exec)2.5 E F0
--.1(fa)2.5 G(ils.).1 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(78)
+-.1(fa)2.5 G(ils.).1 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(78)
 197.335 E 0 Cg EP
 %%Page: 79 79
 %%BeginPageSetup
@@ -9678,7 +9681,7 @@ E F1(globstar)144 643.2 Q F0 .519(If set, the pattern)184 643.2 R F1(**)
 2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
 667.2 Q F1(gnu_errfmt)144 684 Q F0(If set, shell error messages are wri\
 tten in the standard GNU error message format.)184 696 Q(GNU Bash 5.2)72
-768 Q(2023 May 23)148.175 E(79)197.335 E 0 Cg EP
+768 Q(2023 June 13)148.175 E(79)197.335 E 0 Cg EP
 %%Page: 80 80
 %%BeginPageSetup
 BP
@@ -9763,8 +9766,8 @@ F1(nocaseglob)144 679.2 Q F0 .437(If set,)184 691.2 R F1(bash)2.937 E F0
 .436(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)
 -.25 H .436(ashion when performing pathname).05 F -.15(ex)184 703.2 S
 (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(80)
-197.335 E 0 Cg EP
+-.15(ve)-.15 G(\).).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E
+(80)197.335 E 0 Cg EP
 %%Page: 81 81
 %%BeginPageSetup
 BP
@@ -9847,7 +9850,7 @@ F .771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
 .753(rride this and).15 F .107(force the suspension.)144 693.6 R .107(T\
 he return status is 0 unless the shell is a login shell or job control \
 is not en-)5.107 F(abled and)144 705.6 Q F1<ad66>2.5 E F0
-(is not supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(81)
+(is not supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(81)
 197.335 E 0 Cg EP
 %%Page: 82 82
 %%BeginPageSetup
@@ -9962,7 +9965,7 @@ F2(sigspec)2.605 E F0 2.605(\)o)C(r)-2.605 E F1<ad>2.605 E F0 2.605(,e)C
 3.456 E F0 .626(is the null string the signal speci-)3.366 F
 (\214ed by each)144 728.4 Q F2(sigspec)2.84 E F0
 (is ignored by the shell and by the commands it in)2.81 E -.2(vo)-.4 G
--.1(ke).2 G(s.).1 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(82)
+-.1(ke).2 G(s.).1 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(82)
 197.335 E 0 Cg EP
 %%Page: 83 83
 %%BeginPageSetup
@@ -10119,7 +10122,7 @@ E F0([)2.5 E F2(limit)A F0(]])A(Pro)144 698.4 Q .243(vides control o)
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
 144 722.4 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.708 F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(83)
+ft limit may)2.708 F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(83)
 197.335 E 0 Cg EP
 %%Page: 84 84
 %%BeginPageSetup
@@ -10239,7 +10242,7 @@ F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v)
 .719(rather than the v)144 727.2 R .719(ariable it references.)-.25 F F1
 <ad6e>5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1<ad66>
 3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(84)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(84)197.335 E 0 Cg EP
 %%Page: 85 85
 %%BeginPageSetup
 BP
@@ -10388,7 +10391,7 @@ G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)
 -.15 F F2 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va)
 3.607 G .502(riable is preferred, and it).25 F
 (is required for bash-5.1 and later v)108 722.4 Q(ersions.)-.15 E
-(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(85)197.335 E 0 Cg EP
+(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(85)197.335 E 0 Cg EP
 %%Page: 86 86
 %%BeginPageSetup
 BP
@@ -10492,7 +10495,7 @@ F 1.321(tional message to that ef)180 693.6 R 1.321(fect, e)-.25 F -.15
 (ve)-.25 G 3.821(nw).15 G 1.321
 (hen producing output that can be reused as input.)-3.821 F
 (Bash-5.1 suppresses that message when the)180 705.6 Q F1<ad6c>2.5 E F0
-(option is supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E
+(option is supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E
 (86)197.335 E 0 Cg EP
 %%Page: 87 87
 %%BeginPageSetup
@@ -10577,7 +10580,7 @@ E F0(The personal initialization \214le, e)144 667.2 Q -.15(xe)-.15 G
 (-shell startup \214le).15 E F5(~/.bash_lo)109.666 703.2 Q(gout)-.1 E F0
 (The indi)144 715.2 Q(vidual login shell cleanup \214le, e)-.25 E -.15
 (xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E(GNU Bash 5.2)72
-768 Q(2023 May 23)148.175 E(87)197.335 E 0 Cg EP
+768 Q(2023 June 13)148.175 E(87)197.335 E 0 Cg EP
 %%Page: 88 88
 %%BeginPageSetup
 BP
@@ -10640,7 +10643,7 @@ place the sequence of commands between parentheses to force it into a)
 -.25 F(subshell, which may be stopped as a unit.)108 542.4 Q(Array v)108
 559.2 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
 (There may be only one acti)108 576 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E
+(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E
 (88)197.335 E 0 Cg EP
 %%Trailer
 end
index d3e30f35c20b50012a26de6b2a38fdcc1208a132..567a385c84a2bfd54cb6ee10441273bdb9aab33e 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index 52dfa2808c2796decb562130dd0aea69c57f3918..0b54ab636fefd80d566d0a63a333861521e95bd9 100644 (file)
@@ -4,9 +4,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.2, 23 May 2023).
+the Bash shell (version 5.2, 13 June 2023).
 
-This is Edition 5.2, last updated 23 May 2023,
+This is Edition 5.2, last updated 13 June 2023,
 of The GNU Bash Reference Manual,
 for Bash, Version 5.2.
 
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
 <span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
 
 <p>This text is a brief description of the features that are present in
-the Bash shell (version 5.2, 23 May 2023).
+the Bash shell (version 5.2, 13 June 2023).
 The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
 </p>
-<p>This is Edition 5.2, last updated 23 May 2023,
+<p>This is Edition 5.2, last updated 13 June 2023,
 of <cite>The GNU Bash Reference Manual</cite>,
 for <code>Bash</code>, Version 5.2.
 </p>
@@ -6374,13 +6374,18 @@ option.
 </p>
 <p>The list of <code>shopt</code> options is:
 </p><dl compact="compact">
-<dt><span><code>assoc_expand_once</code></span></dt>
-<dd><p>If set, the shell suppresses multiple evaluation of associative array
-subscripts during arithmetic expression evaluation, while executing
+<dt><span><code>array_expand_once</code></span></dt>
+<dd><p>If set, the shell suppresses multiple evaluation of
+associative and indexed array subscripts
+during arithmetic expression evaluation, while executing
 builtins that can perform variable assignments,
 and while executing builtins that perform array dereferencing.
 </p>
 </dd>
+<dt><span><code>assoc_expand_once</code></span></dt>
+<dd><p>Deprecated; a synonym for <code>array_expand_once</code>. 
+</p>
+</dd>
 <dt><span><code>autocd</code></span></dt>
 <dd><p>If set, a command name that is the name of a directory is executed as if
 it were the argument to the <code>cd</code> command.
index 4b4c0a5480cabeea02fc9e9209bc1757d4e6d8d0..3b5dce816e8be3806da4aafa5612012ce582c01e 100644 (file)
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.8 from
 bashref.texi.
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 23 May 2023).
+Bash shell (version 5.2, 13 June 2023).
 
-   This is Edition 5.2, last updated 23 May 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 13 June 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in the
-Bash shell (version 5.2, 23 May 2023).  The Bash home page is
+Bash shell (version 5.2, 13 June 2023).  The Bash home page is
 <http://www.gnu.org/software/bash/>.
 
-   This is Edition 5.2, last updated 23 May 2023, of 'The GNU Bash
+   This is Edition 5.2, last updated 13 June 2023, of 'The GNU Bash
 Reference Manual', for 'Bash', Version 5.2.
 
    Bash contains features that appear in other popular shells, and some
@@ -4847,12 +4847,15 @@ This builtin allows you to change additional shell optional behavior.
 
      The list of 'shopt' options is:
 
-     'assoc_expand_once'
+     'array_expand_once'
           If set, the shell suppresses multiple evaluation of
-          associative array subscripts during arithmetic expression
-          evaluation, while executing builtins that can perform variable
-          assignments, and while executing builtins that perform array
-          dereferencing.
+          associative and indexed array subscripts during arithmetic
+          expression evaluation, while executing builtins that can
+          perform variable assignments, and while executing builtins
+          that perform array dereferencing.
+
+     'assoc_expand_once'
+          Deprecated; a synonym for 'array_expand_once'.
 
      'autocd'
           If set, a command name that is the name of a directory is
@@ -12768,138 +12771,138 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f887
-Node: Introduction\7f2797
-Node: What is Bash?\7f3013
-Node: What is a shell?\7f4127
-Node: Definitions\7f6665
-Node: Basic Shell Features\7f9616
-Node: Shell Syntax\7f10835
-Node: Shell Operation\7f11861
-Node: Quoting\7f13154
-Node: Escape Character\7f14458
-Node: Single Quotes\7f14943
-Node: Double Quotes\7f15291
-Node: ANSI-C Quoting\7f16569
-Node: Locale Translation\7f17881
-Node: Creating Internationalized Scripts\7f19192
-Node: Comments\7f23309
-Node: Shell Commands\7f23927
-Node: Reserved Words\7f24865
-Node: Simple Commands\7f25621
-Node: Pipelines\7f26275
-Node: Lists\7f29274
-Node: Compound Commands\7f31069
-Node: Looping Constructs\7f32081
-Node: Conditional Constructs\7f34576
-Node: Command Grouping\7f49064
-Node: Coprocesses\7f50542
-Node: GNU Parallel\7f53205
-Node: Shell Functions\7f54122
-Node: Shell Parameters\7f62007
-Node: Positional Parameters\7f66395
-Node: Special Parameters\7f67297
-Node: Shell Expansions\7f70511
-Node: Brace Expansion\7f72638
-Node: Tilde Expansion\7f75372
-Node: Shell Parameter Expansion\7f77993
-Node: Command Substitution\7f96395
-Node: Arithmetic Expansion\7f99859
-Node: Process Substitution\7f100827
-Node: Word Splitting\7f101947
-Node: Filename Expansion\7f103995
-Node: Pattern Matching\7f106928
-Node: Quote Removal\7f111930
-Node: Redirections\7f112225
-Node: Executing Commands\7f121918
-Node: Simple Command Expansion\7f122588
-Node: Command Search and Execution\7f124698
-Node: Command Execution Environment\7f127085
-Node: Environment\7f130120
-Node: Exit Status\7f131783
-Node: Signals\7f133567
-Node: Shell Scripts\7f137016
-Node: Shell Builtin Commands\7f140043
-Node: Bourne Shell Builtins\7f142081
-Node: Bash Builtins\7f164415
-Node: Modifying Shell Behavior\7f196414
-Node: The Set Builtin\7f196759
-Node: The Shopt Builtin\7f207357
-Node: Special Builtins\7f223269
-Node: Shell Variables\7f224248
-Node: Bourne Shell Variables\7f224685
-Node: Bash Variables\7f226789
-Node: Bash Features\7f260854
-Node: Invoking Bash\7f261867
-Node: Bash Startup Files\7f267880
-Node: Interactive Shells\7f273011
-Node: What is an Interactive Shell?\7f273422
-Node: Is this Shell Interactive?\7f274071
-Node: Interactive Shell Behavior\7f274886
-Node: Bash Conditional Expressions\7f278515
-Node: Shell Arithmetic\7f283157
-Node: Aliases\7f286118
-Node: Arrays\7f289012
-Node: The Directory Stack\7f295575
-Node: Directory Stack Builtins\7f296359
-Node: Controlling the Prompt\7f300619
-Node: The Restricted Shell\7f303584
-Node: Bash POSIX Mode\7f306194
-Node: Shell Compatibility Mode\7f321987
-Node: Job Control\7f330231
-Node: Job Control Basics\7f330691
-Node: Job Control Builtins\7f335693
-Node: Job Control Variables\7f341488
-Node: Command Line Editing\7f342644
-Node: Introduction and Notation\7f344315
-Node: Readline Interaction\7f345938
-Node: Readline Bare Essentials\7f347129
-Node: Readline Movement Commands\7f348918
-Node: Readline Killing Commands\7f349878
-Node: Readline Arguments\7f351799
-Node: Searching\7f352843
-Node: Readline Init File\7f355029
-Node: Readline Init File Syntax\7f356290
-Node: Conditional Init Constructs\7f380081
-Node: Sample Init File\7f384277
-Node: Bindable Readline Commands\7f387401
-Node: Commands For Moving\7f388605
-Node: Commands For History\7f390656
-Node: Commands For Text\7f395650
-Node: Commands For Killing\7f399299
-Node: Numeric Arguments\7f402332
-Node: Commands For Completion\7f403471
-Node: Keyboard Macros\7f407662
-Node: Miscellaneous Commands\7f408350
-Node: Readline vi Mode\7f414388
-Node: Programmable Completion\7f415295
-Node: Programmable Completion Builtins\7f423075
-Node: A Programmable Completion Example\7f434063
-Node: Using History Interactively\7f439311
-Node: Bash History Facilities\7f439995
-Node: Bash History Builtins\7f443000
-Node: History Interaction\7f448024
-Node: Event Designators\7f451644
-Node: Word Designators\7f452998
-Node: Modifiers\7f454758
-Node: Installing Bash\7f456566
-Node: Basic Installation\7f457703
-Node: Compilers and Options\7f461425
-Node: Compiling For Multiple Architectures\7f462166
-Node: Installation Names\7f463858
-Node: Specifying the System Type\7f465967
-Node: Sharing Defaults\7f466684
-Node: Operation Controls\7f467357
-Node: Optional Features\7f468315
-Node: Reporting Bugs\7f479534
-Node: Major Differences From The Bourne Shell\7f480868
-Node: GNU Free Documentation License\7f497717
-Node: Indexes\7f522894
-Node: Builtin Index\7f523348
-Node: Reserved Word Index\7f530449
-Node: Variable Index\7f532897
-Node: Function Index\7f549885
-Node: Concept Index\7f563669
+Node: Top\7f889
+Node: Introduction\7f2801
+Node: What is Bash?\7f3017
+Node: What is a shell?\7f4131
+Node: Definitions\7f6669
+Node: Basic Shell Features\7f9620
+Node: Shell Syntax\7f10839
+Node: Shell Operation\7f11865
+Node: Quoting\7f13158
+Node: Escape Character\7f14462
+Node: Single Quotes\7f14947
+Node: Double Quotes\7f15295
+Node: ANSI-C Quoting\7f16573
+Node: Locale Translation\7f17885
+Node: Creating Internationalized Scripts\7f19196
+Node: Comments\7f23313
+Node: Shell Commands\7f23931
+Node: Reserved Words\7f24869
+Node: Simple Commands\7f25625
+Node: Pipelines\7f26279
+Node: Lists\7f29278
+Node: Compound Commands\7f31073
+Node: Looping Constructs\7f32085
+Node: Conditional Constructs\7f34580
+Node: Command Grouping\7f49068
+Node: Coprocesses\7f50546
+Node: GNU Parallel\7f53209
+Node: Shell Functions\7f54126
+Node: Shell Parameters\7f62011
+Node: Positional Parameters\7f66399
+Node: Special Parameters\7f67301
+Node: Shell Expansions\7f70515
+Node: Brace Expansion\7f72642
+Node: Tilde Expansion\7f75376
+Node: Shell Parameter Expansion\7f77997
+Node: Command Substitution\7f96399
+Node: Arithmetic Expansion\7f99863
+Node: Process Substitution\7f100831
+Node: Word Splitting\7f101951
+Node: Filename Expansion\7f103999
+Node: Pattern Matching\7f106932
+Node: Quote Removal\7f111934
+Node: Redirections\7f112229
+Node: Executing Commands\7f121922
+Node: Simple Command Expansion\7f122592
+Node: Command Search and Execution\7f124702
+Node: Command Execution Environment\7f127089
+Node: Environment\7f130124
+Node: Exit Status\7f131787
+Node: Signals\7f133571
+Node: Shell Scripts\7f137020
+Node: Shell Builtin Commands\7f140047
+Node: Bourne Shell Builtins\7f142085
+Node: Bash Builtins\7f164419
+Node: Modifying Shell Behavior\7f196418
+Node: The Set Builtin\7f196763
+Node: The Shopt Builtin\7f207361
+Node: Special Builtins\7f223368
+Node: Shell Variables\7f224347
+Node: Bourne Shell Variables\7f224784
+Node: Bash Variables\7f226888
+Node: Bash Features\7f260953
+Node: Invoking Bash\7f261966
+Node: Bash Startup Files\7f267979
+Node: Interactive Shells\7f273110
+Node: What is an Interactive Shell?\7f273521
+Node: Is this Shell Interactive?\7f274170
+Node: Interactive Shell Behavior\7f274985
+Node: Bash Conditional Expressions\7f278614
+Node: Shell Arithmetic\7f283256
+Node: Aliases\7f286217
+Node: Arrays\7f289111
+Node: The Directory Stack\7f295674
+Node: Directory Stack Builtins\7f296458
+Node: Controlling the Prompt\7f300718
+Node: The Restricted Shell\7f303683
+Node: Bash POSIX Mode\7f306293
+Node: Shell Compatibility Mode\7f322086
+Node: Job Control\7f330330
+Node: Job Control Basics\7f330790
+Node: Job Control Builtins\7f335792
+Node: Job Control Variables\7f341587
+Node: Command Line Editing\7f342743
+Node: Introduction and Notation\7f344414
+Node: Readline Interaction\7f346037
+Node: Readline Bare Essentials\7f347228
+Node: Readline Movement Commands\7f349017
+Node: Readline Killing Commands\7f349977
+Node: Readline Arguments\7f351898
+Node: Searching\7f352942
+Node: Readline Init File\7f355128
+Node: Readline Init File Syntax\7f356389
+Node: Conditional Init Constructs\7f380180
+Node: Sample Init File\7f384376
+Node: Bindable Readline Commands\7f387500
+Node: Commands For Moving\7f388704
+Node: Commands For History\7f390755
+Node: Commands For Text\7f395749
+Node: Commands For Killing\7f399398
+Node: Numeric Arguments\7f402431
+Node: Commands For Completion\7f403570
+Node: Keyboard Macros\7f407761
+Node: Miscellaneous Commands\7f408449
+Node: Readline vi Mode\7f414487
+Node: Programmable Completion\7f415394
+Node: Programmable Completion Builtins\7f423174
+Node: A Programmable Completion Example\7f434162
+Node: Using History Interactively\7f439410
+Node: Bash History Facilities\7f440094
+Node: Bash History Builtins\7f443099
+Node: History Interaction\7f448123
+Node: Event Designators\7f451743
+Node: Word Designators\7f453097
+Node: Modifiers\7f454857
+Node: Installing Bash\7f456665
+Node: Basic Installation\7f457802
+Node: Compilers and Options\7f461524
+Node: Compiling For Multiple Architectures\7f462265
+Node: Installation Names\7f463957
+Node: Specifying the System Type\7f466066
+Node: Sharing Defaults\7f466783
+Node: Operation Controls\7f467456
+Node: Optional Features\7f468414
+Node: Reporting Bugs\7f479633
+Node: Major Differences From The Bourne Shell\7f480967
+Node: GNU Free Documentation License\7f497816
+Node: Indexes\7f522993
+Node: Builtin Index\7f523447
+Node: Reserved Word Index\7f530548
+Node: Variable Index\7f532996
+Node: Function Index\7f549984
+Node: Concept Index\7f563768
 \1f
 End Tag Table
 
index 433c912679b9ec6746df793d6b3ae917dd1edaac..8db3ab7591d9ab1c4a81dbda5cf6fd9a55a3ed92 100644 (file)
@@ -1,11 +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)  23 MAY 2023 11:32
+This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=etex 2021.8.30)  13 JUN 2023 10:42
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
  %&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20230522/doc/bashref.texi
-(/usr/local/src/bash/bash-20230522/doc/bashref.texi
-(/usr/local/src/bash/bash-20230522/doc/texinfo.tex
+**\nonstopmode \input /usr/local/src/bash/bash-20230612/doc/bashref.texi \input
+ /usr/local/src/bash/bash-20230612/doc/bashref.texi
+(/usr/local/src/bash/bash-20230612/doc/bashref.texi
+(/usr/local/src/bash/bash-20230612/doc/texinfo.tex
 Loading texinfo [version 2015-11-22.14]:
 \outerhsize=\dimen16
 \outervsize=\dimen17
@@ -161,23 +162,20 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
 texinfo.tex: doing @include of version.texi
 
 
-(/usr/local/src/bash/bash-20230522/doc/version.texi) [1{/opt/local/var/db/texmf
-/fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20230522/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20230522/doc/bashref.toc)
-(/usr/local/build/bash/bash-20230522/doc/bashref.toc) Chapter 1
+(/usr/local/src/bash/bash-20230612/doc/version.texi) [1] [2]
+(/usr/local/build/bash/bash-20230612/doc/bashref.toc [-1] [-2] [-3]) [-4]
+Chapter 1
 \openout0 = `bashref.toc'.
 
-
-(/usr/local/build/bash/bash-20230522/doc/bashref.aux)
+ (/usr/local/build/bash/bash-20230612/doc/bashref.aux)
 \openout1 = `bashref.aux'.
 
- Chapter 2 [1] [2]
+ Chapter 2
+[1] [2]
 @cpindfile=@write2
 \openout2 = `bashref.cp'.
 
-
-[3] Chapter 3 [4] [5] [6] [7]
+ [3] Chapter 3 [4] [5] [6] [7]
 @vrindfile=@write3
 \openout3 = `bashref.vr'.
 
@@ -261,7 +259,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5359--5359
 [118] [119]
 texinfo.tex: doing @include of rluser.texi
 
- (/usr/local/src/bash/bash-20230522/lib/readline/doc/rluser.texi
+ (/usr/local/src/bash/bash-20230612/lib/readline/doc/rluser.texi
 Chapter 8 [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130]
 [131]
 Underfull \hbox (badness 7540) in paragraph at lines 874--880
@@ -311,10 +309,10 @@ gnored[]
 texinfo.tex: doing @include of hsuser.texi
 
 
-(/usr/local/src/bash/bash-20230522/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20230612/lib/readline/doc/hsuser.texi Chapter 9
 [155] [156] [157] [158] [159] [160]) Chapter 10 [161] [162] [163] [164]
 [165]
-Underfull \hbox (badness 10000) in paragraph at lines 9638--9647
+Underfull \hbox (badness 10000) in paragraph at lines 9642--9651
 []@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
 entation[]@textrm '[],
 
@@ -327,7 +325,7 @@ entation[]@textrm '[],
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 9638--9647
+Underfull \hbox (badness 10000) in paragraph at lines 9642--9651
 @textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
 extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 
@@ -343,38 +341,16 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 [175] [176] Appendix C [177]
 texinfo.tex: doing @include of fdl.texi
 
- (/usr/local/src/bash/bash-20230522/doc/fdl.texi
+ (/usr/local/src/bash/bash-20230612/doc/fdl.texi
 [178] [179] [180] [181] [182] [183] [184]) Appendix D [185] [186] [187]
 [188] [189] [190] [191] [192] [193] [194] ) 
 Here is how much of TeX's memory you used:
4101 strings out of 497086
- 47605 string characters out of 6206517
141996 words of memory out of 5000000
- 4869 multiletter control sequences out of 15000+600000
3531 strings out of 497096
+ 40273 string characters out of 6206923
87714 words of memory out of 5000000
+ 4700 multiletter control sequences out of 15000+600000
  34315 words of font info for 116 fonts, out of 8000000 for 9000
  51 hyphenation exceptions out of 8191
- 16i,6n,16p,331b,983s stack positions out of 5000i,500n,10000p,200000b,80000s
-{/opt/local/share/texmf-texlive/font
-s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
-1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
-lic/amsfonts/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
-amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
-nts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/c
-m/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr1
-0.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb><
-/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/
-local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/loc
-al/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/sh
-are/texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/t
-exmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-
-texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
-ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
-ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
-e1/public/cm-super/sfrm1440.pfb>
-Output written on bashref.pdf (200 pages, 807513 bytes).
-PDF statistics:
- 2799 PDF objects out of 2984 (max. 8388607)
- 2552 compressed objects within 26 object streams
- 328 named destinations out of 1000 (max. 500000)
- 1157 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 16i,6n,16p,402b,942s stack positions out of 5000i,500n,10000p,200000b,80000s
 
+Output written on bashref.dvi (200 pages, 840512 bytes).
index 59902caa7f49aca0c406ae56976bedbf577ba526..a29bb278771aa0330778f426940c5524584b43ae 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0
-%%Creator: dvips(k) 2022.1 (TeX Live 2022)  Copyright 2022 Radical Eye Software
+%%Creator: dvips(k) 2021.1 Copyright 2021 Radical Eye Software
 %%Title: bashref.dvi
-%%CreationDate: Mon May 22 13:42:16 2023
+%%CreationDate: Tue Jun 13 14:42:21 2023
 %%Pages: 200
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2023.05.22:0942
+%DVIPSSource:  TeX output 2023.06.13:1042
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -7614,7 +7614,7 @@ ifelse
 TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
 b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.2,)g(for)f
-Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3364 1697 y(Ma)m(y)g(2023)150
+Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3350 1697 y(June)e(2023)150
 4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
@@ -7622,16 +7622,15 @@ b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
 (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(14)f(Ma)m(y)g
-(2023\).)150 4523 y(This)k(is)h(Edition)f(5.2,)k(last)d(up)s(dated)e
-(14)j(Ma)m(y)g(2023,)i(of)c Fr(The)h(GNU)g(Bash)g(Reference)g(Man)m
-(ual)p Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8
-b(ersion)31 b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602 4764
-y(c)577 4767 y Fq(\015)f Fu(1988{2023)35 b(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 4902
-y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(13)f(June)e
+(2023\).)150 4523 y(This)34 b(is)h(Edition)g(5.2,)i(last)e(up)s(dated)f
+(13)h(June)f(2023,)k(of)d Fr(The)f(GNU)i(Bash)f(Reference)g(Man)m(ual)p
+Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
+b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
+y Fq(\015)f Fu(1988{2023)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
+b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
+(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
+(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
 b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
 b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
@@ -10598,99 +10597,92 @@ h(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8 b(.)275
 Ft(;)e(})150 4044 y Fu(whic)m(h)38 b(executes)i Fr(command)i
 Fu(in)d(the)g(curren)m(t)f(execution)i(en)m(vironmen)m(t)f(and)f
 (captures)h(its)g(output,)150 4153 y(again)31 b(with)f(trailing)i
-(newlines)e(remo)m(v)m(ed.)275 4293 y(The)g(c)m(haracter)j
-Fr(c)k Fu(follo)m(wing)c(the)e(op)s(en)g(brace)g(m)m(ust)g(b)s(e)g(a)g
-(space,)h(tab,)g(newline,)g(`)p Ft(\()p Fu(',)g(or)f(`)p
-Ft(|)p Fu(',)h(and)150 4403 y(the)39 b(close)i(brace)e(m)m(ust)g(b)s(e)
-g(in)g(a)g(p)s(osition)h(where)e(a)i(reserv)m(ed)f(w)m(ord)g(ma)m(y)h
-(app)s(ear)e(\(i.e.,)43 b(preceded)150 4512 y(b)m(y)32
-b(a)g(command)g(terminator)h(suc)m(h)e(as)h(semicolon\).)47
-b(Bash)32 b(allo)m(ws)i(the)e(close)h(brace)f(to)h(b)s(e)e(joined)h(to)
-150 4622 y(the)f(remaining)g(c)m(haracters)h(in)e(the)h(w)m(ord)f
-(without)h(b)s(eing)f(follo)m(w)m(ed)i(b)m(y)f(a)g(shell)f(metac)m
-(haracter)k(as)d(a)150 4732 y(reserv)m(ed)g(w)m(ord)f(w)m(ould)g
-(usually)g(require.)275 4871 y(An)m(y)j(side)h(e\013ects)h(of)e
-Fr(command)k Fu(tak)m(e)e(e\013ect)h(immediately)e(in)g(the)f(curren)m
-(t)h(execution)h(en)m(viron-)150 4981 y(men)m(t)d(and)g(p)s(ersist)f
-(in)g(the)h(curren)m(t)g(en)m(vironmen)m(t)h(after)f(the)g(command)g
-(completes)h(\(e.g.,)h(the)e Ft(exit)150 5091 y Fu(builtin)e(will)h
-(exit)g(the)g(shell\).)275 5230 y(This)g(t)m(yp)s(e)i(of)g(command)f
-(substitution)g(sup)s(er\014cially)g(resem)m(bles)h(executing)h(an)f
-(unnamed)e(shell)150 5340 y(function:)42 b(lo)s(cal)33
-b(v)-5 b(ariables)32 b(are)g(created)g(as)g(when)e(a)i(shell)g
-(function)f(is)g(executing,)i(and)e(the)h Ft(return)p
-eop end
+(newlines)e(remo)m(v)m(ed.)275 4293 y(The)40 b(c)m(haracter)i
+Fr(c)47 b Fu(follo)m(wing)42 b(the)f(op)s(en)g(brace)g(m)m(ust)f(b)s(e)
+h(a)g(space,)j(tab,)g(newline,)g(or)d(`)p Ft(|)p Fu(',)j(and)150
+4403 y(the)39 b(close)i(brace)e(m)m(ust)g(b)s(e)g(in)g(a)g(p)s(osition)
+h(where)e(a)i(reserv)m(ed)f(w)m(ord)g(ma)m(y)h(app)s(ear)e(\(i.e.,)43
+b(preceded)150 4512 y(b)m(y)32 b(a)g(command)g(terminator)h(suc)m(h)e
+(as)h(semicolon\).)47 b(Bash)32 b(allo)m(ws)i(the)e(close)h(brace)f(to)
+h(b)s(e)e(joined)h(to)150 4622 y(the)f(remaining)g(c)m(haracters)h(in)e
+(the)h(w)m(ord)f(without)h(b)s(eing)f(follo)m(w)m(ed)i(b)m(y)f(a)g
+(shell)f(metac)m(haracter)k(as)d(a)150 4732 y(reserv)m(ed)g(w)m(ord)f
+(w)m(ould)g(usually)g(require.)275 4871 y(An)m(y)j(side)h(e\013ects)h
+(of)e Fr(command)k Fu(tak)m(e)e(e\013ect)h(immediately)e(in)g(the)f
+(curren)m(t)h(execution)h(en)m(viron-)150 4981 y(men)m(t)d(and)g(p)s
+(ersist)f(in)g(the)h(curren)m(t)g(en)m(vironmen)m(t)h(after)f(the)g
+(command)g(completes)h(\(e.g.,)h(the)e Ft(exit)150 5091
+y Fu(builtin)e(will)h(exit)g(the)g(shell\).)275 5230
+y(This)g(t)m(yp)s(e)i(of)g(command)f(substitution)g(sup)s(er\014cially)
+g(resem)m(bles)h(executing)h(an)f(unnamed)e(shell)150
+5340 y(function:)42 b(lo)s(cal)33 b(v)-5 b(ariables)32
+b(are)g(created)g(as)g(when)e(a)i(shell)g(function)f(is)g(executing,)i
+(and)e(the)h Ft(return)p eop end
 %%Page: 35 41
 TeXDict begin 35 40 bop 150 -116 a Fu(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)150 299
 y(builtin)36 b(forces)i Fr(command)i Fu(to)e(complete;)j(ho)m(w)m(ev)m
 (er,)f(the)d(rest)g(of)g(the)h(execution)g(en)m(vironmen)m(t,)h(in-)150
 408 y(cluding)30 b(the)h(p)s(ositional)g(parameters,)g(is)f(shared)g
-(with)g(the)h(caller.)275 539 y(If)24 b(the)h(\014rst)f(c)m(haracter)j
-(follo)m(wing)f(the)f(op)s(en)f(brace)h(is)g(a)h(`)p
-Ft(\()p Fu(',)g Fr(command)i Fu(is)d(executed)h(in)e(a)i(subshell,)150
-648 y(and)33 b Fr(command)k Fu(m)m(ust)d(b)s(e)f(terminated)h(b)m(y)g
-(a)g(`)p Ft(\))p Fu('.)51 b(This)32 b(is)i(similar)g(to)h(the)f
-Ft(\()f Fu(comp)s(ound)f(command)150 758 y(\(see)44 b(Section)g
-(3.2.5.3)h([Command)e(Grouping],)j(page)d(17\).)80 b(If)43
-b(the)g(\014rst)f(c)m(haracter)j(is)e(a)g(`)p Ft(|)p
-Fu(',)k(the)150 868 y(construct)26 b(expands)f(to)i(the)e(v)-5
-b(alue)27 b(of)f(the)g Ft(REPLY)e Fu(shell)i(v)-5 b(ariable)26
-b(after)h Fr(command)i Fu(executes,)f(without)150 977
-y(remo)m(ving)i(an)m(y)g(trailing)h(newlines,)f(and)f(the)g(standard)g
-(output)g(of)h Fr(command)j Fu(remains)c(the)h(same)g(as)150
-1087 y(in)h(the)g(calling)i(shell.)42 b(Bash)32 b(creates)g
-Ft(REPLY)e Fu(as)h(an)g(initially-unset)h(lo)s(cal)h(v)-5
-b(ariable)32 b(when)e Fr(command)150 1196 y Fu(executes,)44
-b(and)39 b(restores)i Ft(REPLY)d Fu(to)j(the)f(v)-5 b(alue)41
-b(it)g(had)e(b)s(efore)h(the)g(command)g(substitution)f(after)150
-1306 y Fr(command)34 b Fu(completes,)e(as)e(with)g(an)m(y)h(lo)s(cal)h
-(v)-5 b(ariable.)275 1436 y(F)d(or)23 b(example,)i(this)e(construct)g
+(with)g(the)h(caller.)275 545 y(If)26 b(the)g(\014rst)g(c)m(haracter)i
+(follo)m(wing)g(the)f(op)s(en)f(brace)h(is)f(a)h(`)p
+Ft(|)p Fu(',)h(the)f(construct)g(expands)e(to)j(the)e(v)-5
+b(alue)150 654 y(of)24 b(the)g Ft(REPLY)e Fu(shell)i(v)-5
+b(ariable)24 b(after)g Fr(command)j Fu(executes,)g(without)d(remo)m
+(ving)g(an)m(y)g(trailing)h(newlines,)150 764 y(and)h(the)g(standard)f
+(output)h(of)g Fr(command)k Fu(remains)c(the)g(same)h(as)f(in)g(the)g
+(calling)i(shell.)39 b(Bash)27 b(creates)150 873 y Ft(REPLY)33
+b Fu(as)j(an)e(initially-unset)j(lo)s(cal)f(v)-5 b(ariable)35
+b(when)f Fr(command)39 b Fu(executes,)e(and)d(restores)i
+Ft(REPLY)d Fu(to)150 983 y(the)i(v)-5 b(alue)34 b(it)h(had)f(b)s(efore)
+g(the)h(command)f(substitution)g(after)h Fr(command)j
+Fu(completes,)f(as)d(with)h(an)m(y)150 1093 y(lo)s(cal)d(v)-5
+b(ariable.)275 1229 y(F)d(or)23 b(example,)i(this)e(construct)g
 (expands)f(to)i(`)p Ft(12345)p Fu(',)f(and)f(lea)m(v)m(es)j(the)e
 (shell)g(v)-5 b(ariable)24 b Ft(X)e Fu(unc)m(hanged)150
-1546 y(in)30 b(the)h(curren)m(t)f(execution)h(en)m(vironmen)m(t:)390
-1676 y Ft(${)47 b(local)g(X=12345)e(;)j(echo)e($X;)h(})150
-1806 y Fu(\(not)28 b(declaring)g Ft(X)f Fu(as)g(lo)s(cal)i(w)m(ould)e
+1339 y(in)30 b(the)h(curren)m(t)f(execution)h(en)m(vironmen)m(t:)390
+1584 y Ft(${)47 b(local)g(X=12345)e(;)j(echo)e($X;)h(})150
+1721 y Fu(\(not)28 b(declaring)g Ft(X)f Fu(as)g(lo)s(cal)i(w)m(ould)e
 (mo)s(dify)f(its)i(v)-5 b(alue)27 b(in)g(the)h(curren)m(t)f(en)m
-(vironmen)m(t,)i(as)e(with)g(normal)150 1916 y(shell)38
+(vironmen)m(t,)i(as)e(with)g(normal)150 1830 y(shell)38
 b(function)g(execution\),)43 b(while)38 b(this)g(construct)h(do)s(es)f
 (not)g(require)g(an)m(y)h(output)f(to)h(expand)e(to)150
-2026 y(`)p Ft(12345)p Fu(':)390 2156 y Ft(${|)47 b(REPLY=12345;)d(})150
-2286 y Fu(and)30 b(restores)h Ft(REPLY)e Fu(to)i(the)f(v)-5
+1940 y(`)p Ft(12345)p Fu(':)390 2076 y Ft(${|)47 b(REPLY=12345;)d(})150
+2212 y Fu(and)30 b(restores)h Ft(REPLY)e Fu(to)i(the)f(v)-5
 b(alue)31 b(it)g(had)f(b)s(efore)g(the)g(command)g(substitution.)275
-2416 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
+2349 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
 b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g
-(escap)s(e)150 2526 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
-(kslashes.)275 2656 y(If)g(the)h(substitution)g(app)s(ears)f(within)h
+(escap)s(e)150 2458 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
+(kslashes.)275 2594 y(If)g(the)h(substitution)g(app)s(ears)f(within)h
 (double)f(quotes,)i(Bash)f(do)s(es)g(not)g(p)s(erform)f(w)m(ord)g
-(splitting)150 2766 y(and)g(\014lename)g(expansion)h(on)f(the)g
-(results.)150 2957 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150
-3104 y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5
+(splitting)150 2704 y(and)g(\014lename)g(expansion)h(on)f(the)g
+(results.)150 2905 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150
+3052 y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5
 b(aluation)26 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g
-(substitution)150 3213 y(of)31 b(the)f(result.)41 b(The)30
-b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3344
-y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 3474 y Fu(The)34
+(substitution)150 3162 y(of)31 b(the)f(result.)41 b(The)30
+b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3298
+y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 3434 y Fu(The)34
 b Fr(expression)h Fu(undergo)s(es)f(the)h(same)h(expansions)e(as)i(if)f
-(it)g(w)m(ere)h(within)e(double)h(quotes,)i(but)150 3584
+(it)g(w)m(ere)h(within)e(double)h(quotes,)i(but)150 3544
 y(double)g(quote)g(c)m(haracters)i(in)d Fr(expression)h
 Fu(are)g(not)g(treated)h(sp)s(ecially)g(and)f(are)g(remo)m(v)m(ed.)61
-b(All)38 b(to-)150 3693 y(k)m(ens)c(in)f(the)h(expression)f(undergo)g
+b(All)38 b(to-)150 3653 y(k)m(ens)c(in)f(the)h(expression)f(undergo)g
 (parameter)h(and)f(v)-5 b(ariable)34 b(expansion,)h(command)e
-(substitution,)150 3803 y(and)41 b(quote)i(remo)m(v)-5
+(substitution,)150 3763 y(and)41 b(quote)i(remo)m(v)-5
 b(al.)76 b(The)41 b(result)h(is)g(treated)h(as)f(the)g(arithmetic)h
-(expression)f(to)g(b)s(e)f(ev)-5 b(aluated.)150 3912
+(expression)f(to)g(b)s(e)f(ev)-5 b(aluated.)150 3872
 y(Arithmetic)31 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)275
-4043 y(The)k(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g
+4009 y(The)k(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g
 (the)g(rules)f(listed)h(b)s(elo)m(w)g(\(see)g(Section)g(6.5)h([Shell)
-150 4152 y(Arithmetic],)29 b(page)e(100\).)41 b(If)27
+150 4118 y(Arithmetic],)29 b(page)e(100\).)41 b(If)27
 b(the)f(expression)h(is)f(in)m(v)-5 b(alid,)29 b(Bash)d(prin)m(ts)g(a)i
-(message)f(indicating)h(failure)150 4262 y(to)j(the)g(standard)e(error)
-h(and)g(no)g(substitution)g(o)s(ccurs.)150 4453 y Fk(3.5.6)63
-b(Pro)s(cess)42 b(Substitution)150 4600 y Fu(Pro)s(cess)33
+(message)f(indicating)h(failure)150 4228 y(to)j(the)g(standard)e(error)
+h(and)g(no)g(substitution)g(o)s(ccurs.)150 4429 y Fk(3.5.6)63
+b(Pro)s(cess)42 b(Substitution)150 4576 y Fu(Pro)s(cess)33
 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g(input)f(or)h(output)g
 (to)h(b)s(e)f(referred)f(to)i(using)f(a)g(\014lename.)150
-4709 y(It)d(tak)m(es)i(the)f(form)f(of)390 4839 y Ft(<\()p
-Fj(list)p Ft(\))150 4970 y Fu(or)390 5100 y Ft(>\()p
+4685 y(It)d(tak)m(es)i(the)f(form)f(of)390 4822 y Ft(<\()p
+Fj(list)p Ft(\))150 4958 y Fu(or)390 5094 y Ft(>\()p
 Fj(list)p Ft(\))150 5230 y Fu(The)e(pro)s(cess)h Fr(list)j
 Fu(is)d(run)e(async)m(hronously)-8 b(,)30 b(and)e(its)i(input)e(or)h
 (output)f(app)s(ears)h(as)g(a)g(\014lename.)41 b(This)150
@@ -13459,70 +13451,72 @@ Fu(is)g(set)h(to)g(N.)630 4848 y(The)f(return)f(status)i(is)f(alw)m(a)m
 %%Page: 73 79
 TeXDict begin 73 78 bop 150 -116 a Fu(Chapter)30 b(4:)41
 b(Shell)30 b(Builtin)h(Commands)2069 b(73)870 299 y Ft(shopt)46
-b([-pqsu])g([-o])h([)p Fj(optname)e Ft(...])630 438 y
+b([-pqsu])g([-o])h([)p Fj(optname)e Ft(...])630 427 y
 Fu(T)-8 b(oggle)37 b(the)e(v)-5 b(alues)35 b(of)g(settings)h(con)m
 (trolling)g(optional)g(shell)f(b)s(eha)m(vior.)55 b(The)34
-b(settings)630 548 y(can)24 b(b)s(e)g(either)h(those)f(listed)h(b)s
+b(settings)630 536 y(can)24 b(b)s(e)g(either)h(those)f(listed)h(b)s
 (elo)m(w,)h(or,)f(if)g(the)f Ft(-o)f Fu(option)i(is)f(used,)h(those)g
-(a)m(v)-5 b(ailable)26 b(with)630 658 y(the)k Ft(-o)f
+(a)m(v)-5 b(ailable)26 b(with)630 646 y(the)k Ft(-o)f
 Fu(option)i(to)f(the)g Ft(set)f Fu(builtin)h(command)f(\(see)i(Section)
-g(4.3.1)g([The)f(Set)g(Builtin],)630 767 y(page)i(68\).)45
+g(4.3.1)g([The)f(Set)g(Builtin],)630 756 y(page)i(68\).)45
 b(With)32 b(no)f(options,)h(or)g(with)f(the)g Ft(-p)g
 Fu(option,)h(a)g(list)g(of)f(all)i(settable)g(options)630
-877 y(is)g(displa)m(y)m(ed,)i(with)e(an)g(indication)h(of)f(whether)g
+865 y(is)g(displa)m(y)m(ed,)i(with)e(an)g(indication)h(of)f(whether)g
 (or)g(not)g(eac)m(h)h(is)g(set;)h(if)e Fr(optname)5 b
-Fu(s)34 b(are)630 986 y(supplied,)25 b(the)g(output)g(is)g(restricted)g
+Fu(s)34 b(are)630 975 y(supplied,)25 b(the)g(output)g(is)g(restricted)g
 (to)h(those)g(options.)39 b(The)24 b Ft(-p)h Fu(option)g(causes)g
-(output)630 1096 y(to)30 b(b)s(e)f(displa)m(y)m(ed)g(in)g(a)h(form)f
+(output)630 1084 y(to)30 b(b)s(e)f(displa)m(y)m(ed)g(in)g(a)h(form)f
 (that)g(ma)m(y)h(b)s(e)f(reused)f(as)i(input.)39 b(Other)29
-b(options)g(ha)m(v)m(e)i(the)630 1205 y(follo)m(wing)h(meanings:)630
-1375 y Ft(-s)384 b Fu(Enable)30 b(\(set\))i(eac)m(h)f
-Fr(optname)p Fu(.)630 1544 y Ft(-u)384 b Fu(Disable)31
-b(\(unset\))g(eac)m(h)h Fr(optname)p Fu(.)630 1714 y
+b(options)g(ha)m(v)m(e)i(the)630 1194 y(follo)m(wing)h(meanings:)630
+1340 y Ft(-s)384 b Fu(Enable)30 b(\(set\))i(eac)m(h)f
+Fr(optname)p Fu(.)630 1486 y Ft(-u)384 b Fu(Disable)31
+b(\(unset\))g(eac)m(h)h Fr(optname)p Fu(.)630 1632 y
 Ft(-q)384 b Fu(Suppresses)28 b(normal)h(output;)h(the)g(return)e
-(status)i(indicates)h(whether)e(the)1110 1823 y Fr(optname)37
+(status)i(indicates)h(whether)e(the)1110 1742 y Fr(optname)37
 b Fu(is)31 b(set)h(or)f(unset.)43 b(If)31 b(m)m(ultiple)h
 Fr(optname)37 b Fu(argumen)m(ts)31 b(are)h(giv)m(en)1110
-1933 y(with)d Ft(-q)p Fu(,)f(the)i(return)d(status)j(is)f(zero)g(if)g
+1851 y(with)d Ft(-q)p Fu(,)f(the)i(return)d(status)j(is)f(zero)g(if)g
 (all)h Fr(optname)5 b Fu(s)29 b(are)h(enabled;)f(non-)1110
-2042 y(zero)i(otherwise.)630 2212 y Ft(-o)384 b Fu(Restricts)22
+1961 y(zero)i(otherwise.)630 2107 y Ft(-o)384 b Fu(Restricts)22
 b(the)f(v)-5 b(alues)22 b(of)f Fr(optname)27 b Fu(to)22
 b(b)s(e)e(those)i(de\014ned)e(for)h(the)g Ft(-o)f Fu(option)1110
-2321 y(to)31 b(the)g Ft(set)e Fu(builtin)h(\(see)h(Section)h(4.3.1)g
-([The)e(Set)g(Builtin],)i(page)f(68\).)630 2491 y(If)e(either)i
+2217 y(to)31 b(the)g Ft(set)e Fu(builtin)h(\(see)h(Section)h(4.3.1)g
+([The)e(Set)g(Builtin],)i(page)f(68\).)630 2363 y(If)e(either)i
 Ft(-s)e Fu(or)h Ft(-u)f Fu(is)h(used)f(with)g(no)h Fr(optname)35
 b Fu(argumen)m(ts,)c Ft(shopt)d Fu(sho)m(ws)h(only)h(those)630
-2600 y(options)h(whic)m(h)f(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m
-(ely)-8 b(.)630 2740 y(Unless)30 b(otherwise)h(noted,)g(the)g
+2472 y(options)h(whic)m(h)f(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m
+(ely)-8 b(.)630 2600 y(Unless)30 b(otherwise)h(noted,)g(the)g
 Ft(shopt)d Fu(options)j(are)g(disabled)f(\(o\013)7 b(\))32
-b(b)m(y)e(default.)630 2879 y(The)d(return)f(status)i(when)e(listing)j
+b(b)m(y)e(default.)630 2728 y(The)d(return)f(status)i(when)e(listing)j
 (options)e(is)h(zero)g(if)f(all)i Fr(optname)5 b Fu(s)27
-b(are)h(enabled,)g(non-)630 2989 y(zero)40 b(otherwise.)66
+b(are)h(enabled,)g(non-)630 2838 y(zero)40 b(otherwise.)66
 b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f
-(status)h(is)g(zero)630 3098 y(unless)30 b(an)g Fr(optname)36
+(status)h(is)g(zero)630 2947 y(unless)30 b(an)g Fr(optname)36
 b Fu(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)630
-3238 y(The)f(list)h(of)f Ft(shopt)f Fu(options)i(is:)630
-3407 y Ft(assoc_expand_once)1110 3517 y Fu(If)h(set,)i(the)e(shell)h
-(suppresses)e(m)m(ultiple)i(ev)-5 b(aluation)34 b(of)e(asso)s(ciativ)m
-(e)j(arra)m(y)1110 3626 y(subscripts)24 b(during)h(arithmetic)h
-(expression)g(ev)-5 b(aluation,)28 b(while)e(executing)1110
-3736 y(builtins)c(that)i(can)f(p)s(erform)f(v)-5 b(ariable)24
-b(assignmen)m(ts,)h(and)e(while)g(executing)1110 3846
-y(builtins)30 b(that)h(p)s(erform)e(arra)m(y)i(dereferencing.)630
-4015 y Ft(autocd)192 b Fu(If)27 b(set,)h(a)g(command)f(name)g(that)h
-(is)f(the)g(name)g(of)h(a)f(directory)h(is)f(executed)1110
-4125 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f
-Ft(cd)g Fu(command.)40 b(This)29 b(option)g(is)h(only)1110
-4234 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
-4403 y Ft(cdable_vars)1110 4513 y Fu(If)h(this)h(is)g(set,)i(an)e
-(argumen)m(t)g(to)h(the)f Ft(cd)f Fu(builtin)h(command)f(that)i(is)f
-(not)1110 4623 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
-(name)f(of)h(a)g(v)-5 b(ariable)31 b(whose)g(v)-5 b(alue)31
-b(is)1110 4732 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
-4902 y Ft(cdspell)144 b Fu(If)27 b(set,)h(minor)f(errors)f(in)h(the)g
-(sp)s(elling)h(of)f(a)g(directory)h(comp)s(onen)m(t)f(in)g(a)h
-Ft(cd)1110 5011 y Fu(command)i(will)h(b)s(e)f(corrected.)43
-b(The)30 b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110
+3075 y(The)f(list)h(of)f Ft(shopt)f Fu(options)i(is:)630
+3221 y Ft(array_expand_once)1110 3331 y Fu(If)39 b(set,)j(the)d(shell)g
+(suppresses)e(m)m(ultiple)j(ev)-5 b(aluation)41 b(of)e(asso)s(ciativ)m
+(e)j(and)1110 3440 y(indexed)37 b(arra)m(y)h(subscripts)e(during)g
+(arithmetic)j(expression)e(ev)-5 b(aluation,)1110 3550
+y(while)23 b(executing)h(builtins)f(that)g(can)h(p)s(erform)d(v)-5
+b(ariable)24 b(assignmen)m(ts,)i(and)1110 3660 y(while)k(executing)i
+(builtins)e(that)h(p)s(erform)e(arra)m(y)i(dereferencing.)630
+3806 y Ft(assoc_expand_once)1110 3915 y Fu(Deprecated;)h(a)f(synon)m
+(ym)f(for)g Ft(array_expand_once)p Fu(.)630 4061 y Ft(autocd)192
+b Fu(If)27 b(set,)h(a)g(command)f(name)g(that)h(is)f(the)g(name)g(of)h
+(a)f(directory)h(is)f(executed)1110 4171 y(as)j(if)f(it)h(w)m(ere)f
+(the)h(argumen)m(t)g(to)g(the)f Ft(cd)g Fu(command.)40
+b(This)29 b(option)g(is)h(only)1110 4281 y(used)g(b)m(y)g(in)m
+(teractiv)m(e)j(shells.)630 4427 y Ft(cdable_vars)1110
+4536 y Fu(If)h(this)h(is)g(set,)i(an)e(argumen)m(t)g(to)h(the)f
+Ft(cd)f Fu(builtin)h(command)f(that)i(is)f(not)1110 4646
+y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h(name)f(of)h(a)g(v)
+-5 b(ariable)31 b(whose)g(v)-5 b(alue)31 b(is)1110 4756
+y(the)g(directory)f(to)i(c)m(hange)f(to.)630 4902 y Ft(cdspell)144
+b Fu(If)27 b(set,)h(minor)f(errors)f(in)h(the)g(sp)s(elling)h(of)f(a)g
+(directory)h(comp)s(onen)m(t)f(in)g(a)h Ft(cd)1110 5011
+y Fu(command)i(will)h(b)s(e)f(corrected.)43 b(The)30
+b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110
 5121 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
 b(and)40 b(a)i(c)m(haracter)h(to)s(o)g(man)m(y)-8 b(.)74
 b(If)42 b(a)1110 5230 y(correction)25 b(is)e(found,)g(the)h(corrected)g
index e6696fd23915ace2082b22c4d47ca11e52313bab..b7eecbc9214e017bde0c1422ecd3260eba01862a 100644 (file)
@@ -5700,12 +5700,16 @@ option.
 The list of @code{shopt} options is:
 @table @code
 
-@item assoc_expand_once
-If set, the shell suppresses multiple evaluation of associative array
-subscripts during arithmetic expression evaluation, while executing
+@item array_expand_once
+If set, the shell suppresses multiple evaluation of
+associative and indexed array subscripts
+during arithmetic expression evaluation, while executing
 builtins that can perform variable assignments,
 and while executing builtins that perform array dereferencing.
 
+@item assoc_expand_once
+Deprecated; a synonym for @code{array_expand_once}. 
+
 @item autocd
 If set, a command name that is the name of a directory is executed as if
 it were the argument to the @code{cd} command.
index 7a3cde9a5083d3678a0bf5a90a8639d669696c33..bc60c05135e86d6ef3ed691587e244ef8e80e874 100644 (file)
@@ -1377,12 +1377,14 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
-              a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
+              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-
-                      sociative  array subscripts during arithmetic expression
-                      evaluation, while executing builtins  that  can  perform
-                      variable  assignments, and while executing builtins that
-                      perform array dereferencing.
+                      sociative and indexed array subscripts during arithmetic
+                      expression evaluation, while executing builtins that can
+                      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\bd com-
                       mand.  This option is only used by interactive shells.
index a757b01b84f66fd224f3a9bb6a0b7f5f59a9194d..305b6bf863921f544dee321694b692b221f9f0f7 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.22.4
-%%CreationDate: Mon May 22 09:42:13 2023
+%%CreationDate: Tue Jun 13 10:42:36 2023
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -2435,320 +2435,318 @@ R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)4.044 F
 (When setting or unsetting options, the return status is zero unless an)
 144 492 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell)
 -.25 F(option.)144 504 Q(The list of)144 520.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E F1(assoc_expand_once)144 538.8 Q F0 1.945
+(options is:)2.5 E F1(array_expand_once)144 538.8 Q F0 1.832
 (If set, the shell suppresses multiple e)184 550.8 R -.25(va)-.25 G
-1.944(luation of associati).25 F 2.244 -.15(ve a)-.25 H 1.944
-(rray subscripts during).15 F .885(arithmetic e)184 562.8 R .885
-(xpression e)-.15 F -.25(va)-.25 G .885(luation, while e).25 F -.15(xe)
--.15 G .885(cuting b).15 F .885(uiltins that can perform v)-.2 F .885
-(ariable as-)-.25 F(signments, and while e)184 574.8 Q -.15(xe)-.15 G
-(cuting b).15 E(uiltins that perform array dereferencing.)-.2 E F1
-(autocd)144 586.8 Q F0 .2
-(If set, a command name that is the name of a directory is e)184 586.8 R
+1.832(luation of associati).25 F 2.131 -.15(ve a)-.25 H 1.831(nd inde)
+.15 F -.15(xe)-.15 G 4.331(da).15 G 1.831(rray sub-)-4.331 F .025
+(scripts during arithmetic e)184 562.8 R .025(xpression e)-.15 F -.25
+(va)-.25 G .025(luation, while e).25 F -.15(xe)-.15 G .025(cuting b).15
+F .025(uiltins that can perform)-.2 F -.25(va)184 574.8 S
+(riable assignments, and while e).25 E -.15(xe)-.15 G(cuting b).15 E
+(uiltins that perform array dereferencing.)-.2 E F1(assoc_expand_once)
+144 586.8 Q F0(Deprecated; a synon)184 598.8 Q(ym for)-.15 E F1
+(array_expand_once)2.5 E F0(.)A F1(autocd)144 610.8 Q F0 .2
+(If set, a command name that is the name of a directory is e)184 610.8 R
 -.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 598.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 622.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 610.8 Q(ars)-.1 E F0 .155(If set, an ar)184 622.8 R .155
+F1(cdable_v)144 634.8 Q(ars)-.1 E F0 .155(If set, an ar)184 646.8 R .155
 (gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
 (iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 634.8 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 646.8 Q F0
+(name of a v)184 658.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 670.8 Q F0
 1.055
 (If set, minor errors in the spelling of a directory component in a)184
-646.8 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
-(corrected. The)184 658.8 R 1.487(errors check)3.987 F 1.487
+670.8 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
+(corrected. The)184 682.8 R 1.487(errors check)3.987 F 1.487
 (ed for are transposed characters, a missing character)-.1 F 3.988(,a)
--.4 G(nd)-3.988 E .77(one character too man)184 670.8 R 4.57 -.65(y. I)
+-.4 G(nd)-3.988 E .77(one character too man)184 694.8 R 4.57 -.65(y. I)
 -.15 H 3.27(fac).65 G .77
 (orrection is found, the corrected \214lename is printed, and)-3.27 F
-(the command proceeds.)184 682.8 Q
+(the command proceeds.)184 706.8 Q
 (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 694.8 Q F0 .736(If set,)184 706.8 R F1(bash)3.236
-E F0 .736(checks that a command found in the hash table e)3.236 F .737
-(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184
-718.8 Q(If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(18)190.95 E 0 Cg EP
+.15 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(18)190.95 E 0 Cg EP
 %%Page: 19 19
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(checkjobs)144 84 Q F0
-.449(If set,)184 96 R F1(bash)2.949 E F0 .449(lists the status of an)
-2.949 F 2.949(ys)-.15 G .448(topped and running jobs before e)-2.949 F
-.448(xiting an interacti)-.15 F -.15(ve)-.25 G 2.661(shell. If)184 108 R
-(an)2.661 E 2.661(yj)-.15 G .161(obs are running, this causes the e)
--2.661 F .161(xit to be deferred until a second e)-.15 F .162
-(xit is at-)-.15 F 1.091(tempted without an interv)184 120 R 1.091
-(ening command \(see)-.15 F/F2 9/Times-Bold@0 SF 1.091(JOB CONTR)3.591 F
-(OL)-.27 E F0(in)3.341 E/F3 10/Times-Italic@0 SF(bash\(1\))3.591 E F0
-3.591(\). The)B(shell)3.591 E(al)184 132 Q -.1(wa)-.1 G(ys postpones e)
-.1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.)-2.5 E F1
-(checkwinsize)144 144 Q F0 1.09(If set,)184 156 R F1(bash)3.59 E F0 1.09
-(checks the windo)3.59 F 3.59(ws)-.25 G 1.09(ize after each e)-3.59 F
-1.09(xternal \(non-b)-.15 F 1.09(uiltin\) command and, if)-.2 F
-(necessary)184 168 Q 3.351(,u)-.65 G .851(pdates the v)-3.351 F .85
-(alues of)-.25 F F2(LINES)3.35 E F0(and)3.1 E F2(COLUMNS)3.35 E/F4 9
-/Times-Roman@0 SF(.)A F0 .85(This option is enabled by de-)5.35 F -.1
-(fa)184 180 S(ult.).1 E F1(cmdhist)144 192 Q F0 .172(If set,)184 192 R
-F1(bash)2.672 E F0 .172(attempts to sa)2.672 F .472 -.15(ve a)-.2 H .173
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(checkhash)144 84 Q F0
+.736(If set,)184 96 R F1(bash)3.236 E F0 .736
+(checks that a command found in the hash table e)3.236 F .737
+(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 108
+Q(If a hashed command no longer e)5 E
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 120 Q
+F0 .449(If set,)184 132 R F1(bash)2.949 E F0 .449
+(lists the status of an)2.949 F 2.949(ys)-.15 G .448
+(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15
+F -.15(ve)-.25 G 2.661(shell. If)184 144 R(an)2.661 E 2.661(yj)-.15 G
+.161(obs are running, this causes the e)-2.661 F .161
+(xit to be deferred until a second e)-.15 F .162(xit is at-)-.15 F 1.091
+(tempted without an interv)184 156 R 1.091(ening command \(see)-.15 F/F2
+9/Times-Bold@0 SF 1.091(JOB CONTR)3.591 F(OL)-.27 E F0(in)3.341 E/F3 10
+/Times-Italic@0 SF(bash\(1\))3.591 E F0 3.591(\). The)B(shell)3.591 E
+(al)184 168 Q -.1(wa)-.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5
+(yj)-.15 G(obs are stopped.)-2.5 E F1(checkwinsize)144 180 Q F0 1.09
+(If set,)184 192 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59
+(ws)-.25 G 1.09(ize after each e)-3.59 F 1.09(xternal \(non-b)-.15 F
+1.09(uiltin\) command and, if)-.2 F(necessary)184 204 Q 3.351(,u)-.65 G
+.851(pdates the v)-3.351 F .85(alues of)-.25 F F2(LINES)3.35 E F0(and)
+3.1 E F2(COLUMNS)3.35 E/F4 9/Times-Roman@0 SF(.)A F0 .85
+(This option is enabled by de-)5.35 F -.1(fa)184 216 S(ult.).1 E F1
+(cmdhist)144 228 Q F0 .172(If set,)184 228 R F1(bash)2.672 E F0 .172
+(attempts to sa)2.672 F .472 -.15(ve a)-.2 H .173
 (ll lines of a multiple-line command in the same history en-).15 F(try)
-184 204 Q 5.597(.T)-.65 G .597(his allo)-5.597 F .597
+184 240 Q 5.597(.T)-.65 G .597(his allo)-5.597 F .597
 (ws easy re-editing of multi-line commands.)-.25 F .597
-(This option is enabled by de-)5.597 F -.1(fa)184 216 S .052(ult, b).1 F
+(This option is enabled by de-)5.597 F -.1(fa)184 252 S .052(ult, b).1 F
 .052(ut only has an ef)-.2 F .052
 (fect if command history is enabled, as described in)-.25 F F3
-(bash\(1\))2.552 E F0(under)2.552 E F2(HIST)184 228 Q(OR)-.162 E(Y)-.315
-E F4(.)A F1(compat31)144 240 Q(compat32)144 252 Q(compat40)144 264 Q
-(compat41)144 276 Q(compat42)144 288 Q(compat43)144 300 Q(compat44)144
-312 Q(compat50)144 324 Q F0 .889(These control aspects of the shell')184
-336 R 3.389(sc)-.55 G .889(ompatibility mode \(see)-3.389 F F2 .889
-(SHELL COMP)3.389 F -.855(AT)-.666 G(IBILITY).855 E(MODE)184 348 Q F0
-(in)2.25 E F3(bash\(1\))2.5 E F0(\).)A F1(complete_fullquote)144 364.8 Q
-F0 .653(If set,)184 376.8 R F1(bash)3.153 E F0 .653(quotes all shell me\
+(bash\(1\))2.552 E F0(under)2.552 E F2(HIST)184 264 Q(OR)-.162 E(Y)-.315
+E F4(.)A F1(compat31)144 276 Q(compat32)144 288 Q(compat40)144 300 Q
+(compat41)144 312 Q(compat42)144 324 Q(compat43)144 336 Q(compat44)144
+348 Q(compat50)144 360 Q F0 .889(These control aspects of the shell')184
+372 R 3.389(sc)-.55 G .889(ompatibility mode \(see)-3.389 F F2 .889
+(SHELL COMP)3.389 F -.855(AT)-.666 G(IBILITY).855 E(MODE)184 384 Q F0
+(in)2.25 E F3(bash\(1\))2.5 E F0(\).)A F1(complete_fullquote)144 400.8 Q
+F0 .653(If set,)184 412.8 R F1(bash)3.153 E F0 .653(quotes all shell me\
 tacharacters in \214lenames and directory names when per)3.153 F(-)-.2 E
-1.525(forming completion.)184 388.8 R 1.524(If not set,)6.525 F F1(bash)
+1.525(forming completion.)184 424.8 R 1.524(If not set,)6.525 F F1(bash)
 4.024 E F0(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524
 (etacharacters such as the dollar sign)-4.024 F 2.667(from the set of c\
 haracters that will be quoted in completed \214lenames when these)184
-400.8 R .029(metacharacters appear in shell v)184 412.8 R .028
+436.8 R .029(metacharacters appear in shell v)184 448.8 R .028
 (ariable references in w)-.25 F .028(ords to be completed.)-.1 F .028
-(This means)5.028 F 1.072(that dollar signs in v)184 424.8 R 1.073
+(This means)5.028 F 1.072(that dollar signs in v)184 460.8 R 1.073
 (ariable names that e)-.25 F 1.073
 (xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
-(ev e)184 436.8 T 1.923 -.4(r, a).25 H 1.423 -.15(ny d).4 H 1.123
+(ev e)184 472.8 T 1.923 -.4(r, a).25 H 1.423 -.15(ny d).4 H 1.123
 (ollar signs appearing in \214lenames will not be quoted, either).15 F
 6.123(.T)-.55 G 1.122(his is acti)-6.123 F -.15(ve)-.25 G .59
 (only when bash is using backslashes to quote completed \214lenames.)184
-448.8 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 460.8 Q
+484.8 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 496.8 Q
 (ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E F1(dir)144 477.6 Q(expand)-.18 E F0 .487
-(If set,)184 489.6 R F1(bash)2.987 E F0 .486
+(ersions through 4.2.)-.15 E F1(dir)144 513.6 Q(expand)-.18 E F0 .487
+(If set,)184 525.6 R F1(bash)2.987 E F0 .486
 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
 .486(xpansion when perform-)-.15 F .179(ing \214lename completion.)184
-501.6 R .179(This changes the contents of the readline editing b)5.179 F
+537.6 R .179(This changes the contents of the readline editing b)5.179 F
 (uf)-.2 E(fer)-.25 E 5.18(.I)-.55 G 2.68(fn)-5.18 G(ot)-2.68 E(set,)184
-513.6 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E F1(dirspell)144 530.4 Q F0 .859(If set,)184
-530.4 R F1(bash)3.359 E F0 .858
+549.6 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F1(dirspell)144 566.4 Q F0 .859(If set,)184
+566.4 R F1(bash)3.359 E F0 .858
 (attempts spelling correction on directory names during w)3.359 F .858
 (ord completion if)-.1 F
-(the directory name initially supplied does not e)184 542.4 Q(xist.)-.15
-E F1(dotglob)144 559.2 Q F0 .165(If set,)184 559.2 R F1(bash)2.665 E F0
+(the directory name initially supplied does not e)184 578.4 Q(xist.)-.15
+E F1(dotglob)144 595.2 Q F0 .165(If set,)184 595.2 R F1(bash)2.665 E F0
 .165(includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665
 ('i)-.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E(The \214lenames)184 571.2 Q F1 -.63(``)2.5 G -.55(.')
+(xpansion.)-.15 E(The \214lenames)184 607.2 Q F1 -.63(``)2.5 G -.55(.')
 .63 G(')-.08 E F0(and)5 E F1 -.63(``)2.5 G(..).63 E -.63('')-.55 G F0
 (must al)5.63 E -.1(wa)-.1 G(ys be matched e).1 E(xplicitly)-.15 E 2.5
 (,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F1(dotglob)2.5 E F0
-(is set.)2.5 E F1(execfail)144 588 Q F0 .517(If set, a non-interacti)184
-588 R .817 -.15(ve s)-.25 H .517(hell will not e).15 F .516
+(is set.)2.5 E F1(execfail)144 624 Q F0 .517(If set, a non-interacti)184
+624 R .817 -.15(ve s)-.25 H .517(hell will not e).15 F .516
 (xit if it cannot e)-.15 F -.15(xe)-.15 G .516
 (cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)184
-600 Q F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E
+636 Q F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E
 .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F1(exec)2.5 E F0
--.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 616.8 Q F0 .742
-(If set, aliases are e)184 628.8 R .743(xpanded as described in)-.15 F
+-.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 652.8 Q F0 .742
+(If set, aliases are e)184 664.8 R .743(xpanded as described in)-.15 F
 F3(bash\(1\))3.243 E F0(under)3.243 E F2(ALIASES)3.243 E F4(.)A F0 .743
-(This option is en-)5.243 F(abled by def)184 640.8 Q(ault for interacti)
--.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 657.6 Q(ug)-.2 E F0
-.17(If set at shell in)184 669.6 R -.2(vo)-.4 G .17
+(This option is en-)5.243 F(abled by def)184 676.8 Q(ault for interacti)
+-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 693.6 Q(ug)-.2 E F0
+.17(If set at shell in)184 705.6 R -.2(vo)-.4 G .17
 (cation, or in a shell startup \214le, arrange to e).2 F -.15(xe)-.15 G
 .17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.081
-(before the shell starts, identical to the)184 681.6 R F1<adad646562>
+(before the shell starts, identical to the)184 717.6 R F1<adad646562>
 3.582 E(ugger)-.2 E F0 3.582(option. If)3.582 F 1.082(set after in)3.582
-F -.2(vo)-.4 G 1.082(cation, be-).2 F(ha)184 693.6 Q
-(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
-710.4 Q F0(The)220 710.4 Q F1<ad46>4.251 E F0 1.751(option to the)4.251
-F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
-(iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 722.4
-Q(gument.)-.18 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(19)
-190.95 E 0 Cg EP
+F -.2(vo)-.4 G 1.082(cation, be-).2 F(ha)184 729.6 Q
+(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E
+(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(19)190.95 E 0 Cg EP
 %%Page: 20 20
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(2.)184 84 Q F0 1.667
-(If the command run by the)220 84 R F1(DEB)4.167 E(UG)-.1 E F0 1.667
-(trap returns a non-zero v)4.167 F 1.667(alue, the ne)-.25 F(xt)-.15 E
-(command is skipped and not e)220 96 Q -.15(xe)-.15 G(cuted.).15 E F1
-(3.)184 112.8 Q F0 .841(If the command run by the)220 112.8 R F1(DEB)
-3.341 E(UG)-.1 E F0 .841(trap returns a v)3.341 F .84
-(alue of 2, and the shell is)-.25 F -.15(exe)220 124.8 S .488
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(1.)184 84 Q F0(The)
+220 84 Q F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1(declar)4.251
+E(e)-.18 E F0 -.2(bu)4.251 G 1.751
+(iltin displays the source \214le name and line).2 F
+(number corresponding to each function name supplied as an ar)220 96 Q
+(gument.)-.18 E F1(2.)184 112.8 Q F0 1.667(If the command run by the)220
+112.8 R F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167
+F 1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220
+124.8 Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 141.6 Q F0 .841
+(If the command run by the)220 141.6 R F1(DEB)3.341 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
+(exe)220 153.6 S .488
 (cuting in a subroutine \(a shell function or a shell script e).15 F
 -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 136.8 Q(ce)-.18 E F0 -.2(bu)2.5 G
+(sour)220 165.6 Q(ce)-.18 E F0 -.2(bu)2.5 G
 (iltins\), the shell simulates a call to).2 E F1 -.18(re)2.5 G(tur).18 E
-(n)-.15 E F0(.)A F1(4.)184 153.6 Q/F2 9/Times-Bold@0 SF -.27(BA)220
-153.6 S(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G(SH_ARGV).27 E F0
-.904(are updated as described in their descriptions)3.154 F(in)220 165.6
-Q/F3 10/Times-Italic@0 SF(bash\(1\))2.5 E F0(\).)A F1(5.)184 182.4 Q F0
+(n)-.15 E F0(.)A F1(4.)184 182.4 Q/F2 9/Times-Bold@0 SF -.27(BA)220
+182.4 S(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G(SH_ARGV).27 E F0
+.904(are updated as described in their descriptions)3.154 F(in)220 194.4
+Q/F3 10/Times-Italic@0 SF(bash\(1\))2.5 E F0(\).)A F1(5.)184 211.2 Q F0
 1.637(Function tracing is enabled: command substitution, shell function\
-s, and sub-)220 182.4 R(shells in)220 194.4 Q -.2(vo)-.4 G -.1(ke).2 G
+s, and sub-)220 211.2 R(shells in)220 223.2 Q -.2(vo)-.4 G -.1(ke).2 G
 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3(command)2.5 E F1(\))2.5 E F0
 (inherit the)2.5 E F1(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0
-(traps.)2.5 E F1(6.)184 211.2 Q F0 1.082(Error tracing is enabled: comm\
-and substitution, shell functions, and subshells)220 211.2 R(in)220
-223.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3
-(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
-2.5 E F1(extglob)144 240 Q F0 .272(If set, the e)184 240 R .272
+(traps.)2.5 E F1(6.)184 240 Q F0 1.082(Error tracing is enabled: comman\
+d substitution, shell functions, and subshells)220 240 R(in)220 252 Q
+-.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3(command)
+2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)2.5 E F1
+(extglob)144 268.8 Q F0 .272(If set, the e)184 268.8 R .272
 (xtended pattern matching features described in)-.15 F F3(bash\(1\))
 2.773 E F0(under)2.773 E F1 -.1(Pa)2.773 G .273(thname Ex-).1 F(pansion)
-184 252 Q F0(are enabled.)2.5 E F1(extquote)144 268.8 Q F0 .86(If set,)
-184 280.8 R F1($)3.36 E F0<08>A F3(string)A F0 3.36<0861>C(nd)-3.36 E F1
-($)3.36 E F0(")A F3(string)A F0 3.36("q)C .86
+184 280.8 Q F0(are enabled.)2.5 E F1(extquote)144 297.6 Q F0 .86
+(If set,)184 309.6 R F1($)3.36 E F0<08>A F3(string)A F0 3.36<0861>C(nd)
+-3.36 E F1($)3.36 E F0(")A F3(string)A F0 3.36("q)C .86
 (uoting is performed within)-3.36 F F1(${)3.36 E F3(par)A(ameter)-.15 E
 F1(})A F0 -.15(ex)3.36 G .86(pansions en-).15 F
-(closed in double quotes.)184 292.8 Q(This option is enabled by def)5 E
-(ault.)-.1 E F1(failglob)144 309.6 Q F0 .242(If set, patterns which f)
-184 309.6 R .243(ail to match \214lenames during pathname e)-.1 F .243
-(xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 321.6 Q(.)
--.55 E F1 -.25(fo)144 338.4 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.937(If set, the suf)184 350.4 R<8c78>-.25 E .936(es speci\214ed by the)
+(closed in double quotes.)184 321.6 Q(This option is enabled by def)5 E
+(ault.)-.1 E F1(failglob)144 338.4 Q F0 .242(If set, patterns which f)
+184 338.4 R .243(ail to match \214lenames during pathname e)-.1 F .243
+(xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 350.4 Q(.)
+-.55 E F1 -.25(fo)144 367.2 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.937(If set, the suf)184 379.2 R<8c78>-.25 E .936(es speci\214ed by the)
 -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 362.4 R
+-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 391.2 R
 .32(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G
 .32(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 3.294
-(pletions. See)184 374.4 R F2 .794(SHELL V)3.294 F(ARIABLES)-1.215 E F0
+(pletions. See)184 403.2 R F2 .794(SHELL V)3.294 F(ARIABLES)-1.215 E F0
 (in)3.044 E F3(bash\(1\))3.294 E F0 .793(for a description of)3.293 F F2
 (FIGNORE)3.293 E/F4 9/Times-Roman@0 SF(.)A F0 .793(This op-)5.293 F
-(tion is enabled by def)184 386.4 Q(ault.)-.1 E F1(globasciiranges)144
-403.2 Q F0 2.518(If set, range e)184 415.2 R 2.519
+(tion is enabled by def)184 415.2 Q(ault.)-.1 E F1(globasciiranges)144
+432 Q F0 2.518(If set, range e)184 444 R 2.519
 (xpressions used in pattern matching brack)-.15 F 2.519(et e)-.1 F 2.519
 (xpressions \(see)-.15 F F2 -.09(Pa)5.019 G(tter).09 E(n)-.135 E
-(Matching)184 427.2 Q F0(in)3.116 E F3(bash\(1\))3.366 E F0 3.366(\)b)C
+(Matching)184 456 Q F0(in)3.116 E F3(bash\(1\))3.366 E F0 3.366(\)b)C
 (eha)-3.366 E 1.166 -.15(ve a)-.2 H 3.366(si).15 G 3.366(fi)-3.366 G
 3.365(nt)-3.366 G .865(he traditional C locale when performing compar)
--3.365 F(-)-.2 E 2.668(isons. That)184 439.2 R .168
+-3.365 F(-)-.2 E 2.668(isons. That)184 468 R .168
 (is, the current locale')2.668 F 2.668(sc)-.55 G .168
 (ollating sequence is not tak)-2.668 F .168(en into account, so)-.1 F F1
-(b)2.668 E F0(will)2.668 E .563(not collate between)184 451.2 R F1(A)
-3.063 E F0(and)3.063 E F1(B)3.062 E F0 3.062(,a)C .562(nd upper)-3.062 F
-.562(-case and lo)-.2 F(wer)-.25 E .562
-(-case ASCII characters will col-)-.2 F(late together)184 463.2 Q(.)-.55
-E F1(globskipdots)144 480 Q F0 .284(If set, pathname e)184 492 R .284
-(xpansion will ne)-.15 F -.15(ve)-.25 G 2.785(rm).15 G .285
-(atch the \214lenames)-2.785 F F1 -.63(``)2.785 G -.55(.').63 G(')-.08 E
-F0(and)5.285 E F1 -.63(``)2.785 G(..).63 E -.63('')-.55 G F0 2.785(,e)
-.63 G -.15(ve)-3.035 G 2.785(ni).15 G 2.785(ft)-2.785 G .285(he pat-)
--2.785 F(tern be)184 504 Q(gins with a)-.15 E F1 -.63(``)2.5 G -.55(.')
-.63 G(')-.08 E F0 5(.T)C(his option is enabled by def)-5 E(ault.)-.1 E
-F1(globstar)144 520.8 Q F0 .519(If set, the pattern)184 520.8 R F1(**)
-3.019 E F0 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F
-.518(xt will match all \214les and zero)-.15 F .431
-(or more directories and subdirectories.)184 532.8 R .431
+(b)2.668 E F0(will)2.668 E .563(not collate between)184 480 R F1(A)3.063
+E F0(and)3.063 E F1(B)3.062 E F0 3.062(,a)C .562(nd upper)-3.062 F .562
+(-case and lo)-.2 F(wer)-.25 E .562(-case ASCII characters will col-)-.2
+F(late together)184 492 Q(.)-.55 E F1(globskipdots)144 508.8 Q F0 .284
+(If set, pathname e)184 520.8 R .284(xpansion will ne)-.15 F -.15(ve)
+-.25 G 2.785(rm).15 G .285(atch the \214lenames)-2.785 F F1 -.63(``)
+2.785 G -.55(.').63 G(')-.08 E F0(and)5.285 E F1 -.63(``)2.785 G(..).63
+E -.63('')-.55 G F0 2.785(,e).63 G -.15(ve)-3.035 G 2.785(ni).15 G 2.785
+(ft)-2.785 G .285(he pat-)-2.785 F(tern be)184 532.8 Q(gins with a)-.15
+E F1 -.63(``)2.5 G -.55(.').63 G(')-.08 E F0 5(.T)C
+(his option is enabled by def)-5 E(ault.)-.1 E F1(globstar)144 549.6 Q
+F0 .519(If set, the pattern)184 549.6 R F1(**)3.019 E F0 .519
+(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518
+(xt will match all \214les and zero)-.15 F .431
+(or more directories and subdirectories.)184 561.6 R .431
 (If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0
 2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
-544.8 Q F1(gnu_errfmt)144 561.6 Q F0(If set, shell error messages are w\
-ritten in the standard GNU error message format.)184 573.6 Q F1
-(histappend)144 590.4 Q F0 .676
+573.6 Q F1(gnu_errfmt)144 590.4 Q F0(If set, shell error messages are w\
+ritten in the standard GNU error message format.)184 602.4 Q F1
+(histappend)144 619.2 Q F0 .676
 (If set, the history list is appended to the \214le named by the v)184
-602.4 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
-(ri-).25 E(able when the shell e)184 614.4 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 631.2 Q(eedit)
--.18 E F0 .575(If set, and)184 643.2 R F1 -.18(re)3.075 G(adline).18 E
-F0 .575(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15
-G .576(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
-(tory substitution.)184 655.2 Q F1(histv)144 672 Q(erify)-.1 E F0 .403
-(If set, and)184 684 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+631.2 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
+(ri-).25 E(able when the shell e)184 643.2 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 660 Q(eedit)-.18
+E F0 .575(If set, and)184 672 R F1 -.18(re)3.075 G(adline).18 E F0 .575
+(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576
+(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
+(tory substitution.)184 684 Q F1(histv)144 700.8 Q(erify)-.1 E F0 .403
+(If set, and)184 712.8 R F1 -.18(re)2.903 G(adline).18 E F0 .403
 (is being used, the results of history substitution are not immediately)
-2.903 F .661(passed to the shell parser)184 696 R 5.661(.I)-.55 G .662
+2.903 F .661(passed to the shell parser)184 724.8 R 5.661(.I)-.55 G .662
 (nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162
-G(adline).18 E F0(editing)3.162 E -.2(bu)184 708 S -.25(ff).2 G(er).25 E
-2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(20)190.95 E 0 Cg EP
+G(adline).18 E F0(editing)3.162 E(GNU Bash 5.2)72 768 Q(2023 January 27)
+141.79 E(20)190.95 E 0 Cg EP
 %%Page: 21 21
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(hostcomplete)144 84 Q
-F0 1.182(If set, and)184 96 R F1 -.18(re)3.682 G(adline).18 E F0 1.182
-(is being used,)3.682 F F1(bash)3.682 E F0 1.181
-(will attempt to perform hostname completion)3.681 F .502(when a w)184
-108 R .503(ord containing a)-.1 F F1(@)3.003 E F0 .503
-(is being completed \(see)3.003 F F1(Completing)3.003 E F0(under)3.003 E
-/F2 9/Times-Bold@0 SF(READLINE)3.003 E F0(in)2.753 E/F3 10
-/Times-Italic@0 SF(bash\(1\))184 120 Q F0 2.5(\). This)B
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 136.8 Q F0
-(If set,)184 148.8 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+E(UIL)-.1 E(TINS\(1\))-.92 E -.2(bu)184 84 S -.25(ff).2 G(er).25 E 2.5
+(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E/F1 10
+/Times-Bold@0 SF(hostcomplete)144 100.8 Q F0 1.182(If set, and)184 112.8
+R F1 -.18(re)3.682 G(adline).18 E F0 1.182(is being used,)3.682 F F1
+(bash)3.682 E F0 1.181(will attempt to perform hostname completion)3.681
+F .502(when a w)184 124.8 R .503(ord containing a)-.1 F F1(@)3.003 E F0
+.503(is being completed \(see)3.003 F F1(Completing)3.003 E F0(under)
+3.003 E/F2 9/Times-Bold@0 SF(READLINE)3.003 E F0(in)2.753 E/F3 10
+/Times-Italic@0 SF(bash\(1\))184 136.8 Q F0 2.5(\). This)B
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 153.6 Q F0
+(If set,)184 165.6 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
-.15 E(xits.)-.15 E F1(inherit_err)144 165.6 Q(exit)-.18 E F0 .22
-(If set, command substitution inherits the v)184 177.6 R .219
+.15 E(xits.)-.15 E F1(inherit_err)144 182.4 Q(exit)-.18 E F0 .22
+(If set, command substitution inherits the v)184 194.4 R .219
 (alue of the)-.25 F F1(err)2.719 E(exit)-.18 E F0 .219
-(option, instead of unsetting)2.719 F(it in the subshell en)184 189.6 Q
+(option, instead of unsetting)2.719 F(it in the subshell en)184 206.4 Q
 2.5(vironment. This)-.4 F(option is enabled when)2.5 E F3(posix mode)2.5
-E F0(is enabled.)2.5 E F1(interacti)144 206.4 Q -.1(ve)-.1 G(_comments)
-.1 E F0 .33(If set, allo)184 218.4 R 2.83(waw)-.25 G .33(ord be)-2.93 F
+E F0(is enabled.)2.5 E F1(interacti)144 223.2 Q -.1(ve)-.1 G(_comments)
+.1 E F0 .33(If set, allo)184 235.2 R 2.83(waw)-.25 G .33(ord be)-2.93 F
 .33(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
 (ord and all remaining characters on)-.1 F .39
-(that line to be ignored in an interacti)184 230.4 R .69 -.15(ve s)-.25
+(that line to be ignored in an interacti)184 247.2 R .69 -.15(ve s)-.25
 H .39(hell \(see).15 F F2(COMMENTS)2.89 E F0(in)2.64 E F3(bash\(1\))2.89
-E F0 2.89(\). This)B(option)2.89 E(is enabled by def)184 242.4 Q(ault.)
--.1 E F1(lastpipe)144 259.2 Q F0 .066
-(If set, and job control is not acti)184 259.2 R -.15(ve)-.25 G 2.566
-(,t).15 G .066(he shell runs the last command of a pipeline not e)-2.566
-F -.15(xe)-.15 G(-).15 E
-(cuted in the background in the current shell en)184 271.2 Q(vironment.)
--.4 E F1(lithist)144 288 Q F0 .655(If set, and the)184 288 R F1(cmdhist)
-3.155 E F0 .654(option is enabled, multi-line commands are sa)3.154 F
--.15(ve)-.2 G 3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
-(with embedded ne)184 300 Q
+E F0 2.89(\). This)B(option)2.89 E(is enabled by def)184 259.2 Q(ault.)
+-.1 E F1(lastpipe)144 276 Q F0 .066(If set, and job control is not acti)
+184 276 R -.15(ve)-.25 G 2.566(,t).15 G .066
+(he shell runs the last command of a pipeline not e)-2.566 F -.15(xe)
+-.15 G(-).15 E(cuted in the background in the current shell en)184 288 Q
+(vironment.)-.4 E F1(lithist)144 304.8 Q F0 .655(If set, and the)184
+304.8 R F1(cmdhist)3.155 E F0 .654
+(option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G
+3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
+(with embedded ne)184 316.8 Q
 (wlines rather than using semicolon separators where possible.)-.25 E F1
-(localv)144 316.8 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 328.8 R
+(localv)144 333.6 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 345.6 R
 .422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422
 (utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184
-340.8 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673
+357.6 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673
 (yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .173
-(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 352.8 Q
-F1(localv)144 369.6 Q(ar_unset)-.1 E F0 .328(If set, calling)184 381.6 R
+(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 369.6 Q
+F1(localv)144 386.4 Q(ar_unset)-.1 E F0 .328(If set, calling)184 398.4 R
 F1(unset)2.828 E F0 .328(on local v)2.828 F .329(ariables in pre)-.25 F
 .329(vious function scopes marks them so subse-)-.25 F .543(quent looku\
 ps \214nd them unset until that function returns. This is identical to \
-the beha)184 393.6 R(v-)-.2 E(ior of unsetting local v)184 405.6 Q
-(ariables at the current function scope.)-.25 E F1(login_shell)144 422.4
+the beha)184 410.4 R(v-)-.2 E(ior of unsetting local v)184 422.4 Q
+(ariables at the current function scope.)-.25 E F1(login_shell)144 439.2
 Q F0 .692
 (The shell sets this option if it is started as a login shell \(see)184
-434.4 R F2(INV)3.193 E(OCA)-.405 E(TION)-.855 E F0(in)2.943 E F3
-(bash\(1\))3.193 E F0(\).)A(The v)184 446.4 Q(alue may not be changed.)
--.25 E F1(mailwar)144 463.2 Q(n)-.15 E F0 .815
-(If set, and a \214le that)184 475.2 R F1(bash)3.315 E F0 .814
+451.2 R F2(INV)3.193 E(OCA)-.405 E(TION)-.855 E F0(in)2.943 E F3
+(bash\(1\))3.193 E F0(\).)A(The v)184 463.2 Q(alue may not be changed.)
+-.25 E F1(mailwar)144 480 Q(n)-.15 E F0 .815(If set, and a \214le that)
+184 492 R F1(bash)3.315 E F0 .814
 (is checking for mail has been accessed since the last time it)3.315 F
--.1(wa)184 487.2 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+-.1(wa)184 504 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
 (`The mail in)-.74 E F3(mail\214le)2.5 E F0(has been read')2.5 E 2.5('i)
--.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1(no_empty_cmd_completion)144 504
-Q F0 .324(If set, and)184 516 R F1 -.18(re)2.824 G(adline).18 E F0 .324
-(is being used,)2.824 F F1(bash)2.824 E F0 .324
+-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1(no_empty_cmd_completion)144
+520.8 Q F0 .324(If set, and)184 532.8 R F1 -.18(re)2.824 G(adline).18 E
+F0 .324(is being used,)2.824 F F1(bash)2.824 E F0 .324
 (will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)-.189 E
 F0 .325(for possible)2.575 F
-(completions when completion is attempted on an empty line.)184 528 Q F1
-(nocaseglob)144 544.8 Q F0 .437(If set,)184 556.8 R F1(bash)2.937 E F0
+(completions when completion is attempted on an empty line.)184 544.8 Q
+F1(nocaseglob)144 561.6 Q F0 .437(If set,)184 573.6 R F1(bash)2.937 E F0
 .436(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)
--.25 H .436(ashion when performing pathname).05 F -.15(ex)184 568.8 S
+-.25 H .436(ashion when performing pathname).05 F -.15(ex)184 585.6 S
 (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(in)2.5 E
-F3(bash\(1\))2.5 E F0(\).)A F1(nocasematch)144 585.6 Q F0 1.193(If set,)
-184 597.6 R F1(bash)3.693 E F0 1.194
+F3(bash\(1\))2.5 E F0(\).)A F1(nocasematch)144 602.4 Q F0 1.193(If set,)
+184 614.4 R F1(bash)3.693 E F0 1.194
 (matches patterns in a case\255insensiti)3.693 F 1.494 -.15(ve f)-.25 H
-1.194(ashion when performing matching).05 F .551(while e)184 609.6 R
+1.194(ashion when performing matching).05 F .551(while e)184 626.4 R
 -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0(or)3.051 E F1([[)3.051 E
 F0 .551(conditional commands, when performing pattern substitution)3.051
-F -.1(wo)184 621.6 S .622(rd e).1 F .623(xpansions, or when \214ltering\
+F -.1(wo)184 638.4 S .622(rd e).1 F .623(xpansions, or when \214ltering\
  possible completions as part of programmable com-)-.15 F(pletion.)184
-633.6 Q F1(noexpand_translation)144 650.4 Q F0 1.118(If set,)184 662.4 R
+650.4 Q F1(noexpand_translation)144 667.2 Q F0 1.118(If set,)184 679.2 R
 F1(bash)3.618 E F0 1.117(encloses the translated results of $"..." quot\
-ing in single quotes instead of)3.617 F(double quotes.)184 674.4 Q
-(If the string is not translated, this has no ef)5 E(fect.)-.25 E F1
-(nullglob)144 691.2 Q F0 .318(If set,)184 703.2 R F1(bash)2.818 E F0
-(allo)2.818 E .318(ws patterns which match no \214les \(see)-.25 F F1
--.1(Pa)2.819 G .319(thname Expansion).1 F F0(in)2.819 E F3(bash\(1\))
-2.819 E F0(\))A(to e)184 715.2 Q
-(xpand to a null string, rather than themselv)-.15 E(es.)-.15 E
+ing in single quotes instead of)3.617 F(double quotes.)184 691.2 Q
+(If the string is not translated, this has no ef)5 E(fect.)-.25 E
 (GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(21)190.95 E 0 Cg EP
 %%Page: 22 22
 %%BeginPageSetup
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(patsub_r)144 84 Q
-(eplacement)-.18 E F0 .106(If set,)184 96 R F1(bash)2.606 E F0 -.15(ex)
-2.606 G .106(pands occurrences of).15 F F1(&)2.606 E F0 .105
-(in the replacement string of pattern substitution to)2.606 F .988
-(the te)184 108 R .988(xt matched by the pattern, as described under)
--.15 F F1 -.1(Pa)3.489 G .989(rameter Expansion).1 F F0(in)3.489 E/F2 10
-/Times-Italic@0 SF(bash\(1\))3.489 E F0(.)A
-(This option is enabled by def)184 120 Q(ault.)-.1 E F1(pr)144 136.8 Q
-(ogcomp)-.18 E F0 2.802(If set, the programmable completion f)184 148.8
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(nullglob)144 84 Q F0
+.318(If set,)184 96 R F1(bash)2.818 E F0(allo)2.818 E .318
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)2.819 G .319
+(thname Expansion).1 F F0(in)2.819 E/F2 10/Times-Italic@0 SF(bash\(1\))
+2.819 E F0(\))A(to e)184 108 Q
+(xpand to a null string, rather than themselv)-.15 E(es.)-.15 E F1
+(patsub_r)144 124.8 Q(eplacement)-.18 E F0 .106(If set,)184 136.8 R F1
+(bash)2.606 E F0 -.15(ex)2.606 G .106(pands occurrences of).15 F F1(&)
+2.606 E F0 .105(in the replacement string of pattern substitution to)
+2.606 F .988(the te)184 148.8 R .988
+(xt matched by the pattern, as described under)-.15 F F1 -.1(Pa)3.489 G
+.989(rameter Expansion).1 F F0(in)3.489 E F2(bash\(1\))3.489 E F0(.)A
+(This option is enabled by def)184 160.8 Q(ault.)-.1 E F1(pr)144 177.6 Q
+(ogcomp)-.18 E F0 2.802(If set, the programmable completion f)184 189.6
 R 2.802(acilities \(see)-.1 F F1(Pr)5.302 E 2.802(ogrammable Completion)
--.18 F F0(in)5.302 E F2(bash\(1\))184 160.8 Q F0 2.5(\)a)C(re enabled.)
--2.5 E(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 177.6 Q
+-.18 F F0(in)5.302 E F2(bash\(1\))184 201.6 Q F0 2.5(\)a)C(re enabled.)
+-2.5 E(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 218.4 Q
 (ogcomp_alias)-.18 E F0 2.124
-(If set, and programmable completion is enabled,)184 189.6 R F1(bash)
-4.624 E F0 2.124(treats a command name that)4.624 F(doesn')184 201.6 Q
+(If set, and programmable completion is enabled,)184 230.4 R F1(bash)
+4.624 E F0 2.124(treats a command name that)4.624 F(doesn')184 242.4 Q
 3.289(th)-.18 G -2.25 -.2(av e)-3.289 H(an)3.489 E 3.289(yc)-.15 G .789
 (ompletions as a possible alias and attempts alias e)-3.289 F .788
-(xpansion. If it has)-.15 F 1.473(an alias,)184 213.6 R F1(bash)3.973 E
+(xpansion. If it has)-.15 F 1.473(an alias,)184 254.4 R F1(bash)3.973 E
 F0 1.473(attempts programmable completion using the command w)3.973 F
-1.473(ord resulting)-.1 F(from the e)184 225.6 Q(xpanded alias.)-.15 E
-F1(pr)144 242.4 Q(omptv)-.18 E(ars)-.1 E F0 1.448
-(If set, prompt strings under)184 254.4 R 1.448(go parameter e)-.18 F
+1.473(ord resulting)-.1 F(from the e)184 266.4 Q(xpanded alias.)-.15 E
+F1(pr)144 283.2 Q(omptv)-.18 E(ars)-.1 E F0 1.448
+(If set, prompt strings under)184 295.2 R 1.448(go parameter e)-.18 F
 1.447(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184
-266.4 S 1.833(pansion, and quote remo).15 F -.25(va)-.15 G 4.334(la).25
+307.2 S 1.833(pansion, and quote remo).15 F -.25(va)-.15 G 4.334(la).25
 G 1.834(fter being e)-4.334 F 1.834(xpanded as described in)-.15 F/F3 9
 /Times-Bold@0 SF(PR)4.334 E(OMPTING)-.27 E F0(in)4.084 E F2(bash\(1\))
-184 278.4 Q F0 5(.T)C(his option is enabled by def)-5 E(ault.)-.1 E F1
--.18(re)144 295.2 S(stricted_shell).18 E F0 .329
+184 319.2 Q F0 5(.T)C(his option is enabled by def)-5 E(ault.)-.1 E F1
+-.18(re)144 336 S(stricted_shell).18 E F0 .329
 (The shell sets this option if it is started in restricted mode \(see)
-184 307.2 R F3 .329(RESTRICTED SHELL)2.829 F F0(in)2.579 E F2(bash\(1\))
-184 319.2 Q F0 2.73(\). The)B -.25(va)2.73 G .23
-(lue may not be changed.).25 F .231
-(This is not reset when the startup \214les are e)5.231 F(x-)-.15 E
-(ecuted, allo)184 331.2 Q(wing the startup \214les to disco)-.25 E -.15
-(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E F1
-(shift_v)144 348 Q(erbose)-.1 E F0 .502(If set, the)184 360 R F1(shift)
-3.002 E F0 -.2(bu)3.002 G .501
+184 348 R F3 .329(RESTRICTED SHELL)2.829 F F0(in)2.579 E F2(bash\(1\))
+184 360 Q F0 2.73(\). The)B -.25(va)2.73 G .23(lue may not be changed.)
+.25 F .231(This is not reset when the startup \214les are e)5.231 F(x-)
+-.15 E(ecuted, allo)184 372 Q(wing the startup \214les to disco)-.25 E
+-.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
+F1(shift_v)144 388.8 Q(erbose)-.1 E F0 .502(If set, the)184 400.8 R F1
+(shift)3.002 E F0 -.2(bu)3.002 G .501
 (iltin prints an error message when the shift count e).2 F .501
-(xceeds the number)-.15 F(of positional parameters.)184 372 Q F1(sour)
-144 388.8 Q(cepath)-.18 E F0 .77(If set, the)184 400.8 R F1(.)3.27 E F0
+(xceeds the number)-.15 F(of positional parameters.)184 412.8 Q F1(sour)
+144 429.6 Q(cepath)-.18 E F0 .77(If set, the)184 441.6 R F1(.)3.27 E F0
 (\()3.27 E F1(sour)A(ce)-.18 E F0 3.27(\)b)C .77(uiltin uses the v)-3.47
 F .771(alue of)-.25 F F3 -.666(PA)3.271 G(TH)-.189 E F0 .771
 (to \214nd the directory containing the)3.021 F
-(\214le supplied as an ar)184 412.8 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1 -.1(va)144 429.6 S(rr).1
+(\214le supplied as an ar)184 453.6 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1 -.1(va)144 470.4 S(rr).1
 E(edir_close)-.18 E F0 .74(If set, the shell automatically closes \214l\
-e descriptors assigned using the)184 441.6 R F2({varname})3.24 E F0
-(redi-)3.24 E .907(rection syntax \(see)184 453.6 R F3(REDIRECTION)3.407
+e descriptors assigned using the)184 482.4 R F2({varname})3.24 E F0
+(redi-)3.24 E .907(rection syntax \(see)184 494.4 R F3(REDIRECTION)3.407
 E F0(in)3.157 E F2(bash\(1\))3.407 E F0 3.407(\)i)C .907(nstead of lea)
--3.407 F .908(ving them open when the)-.2 F(command completes.)184 465.6
-Q F1(xpg_echo)144 482.4 Q F0(If set, the)184 494.4 Q F1(echo)2.5 E F0
+-3.407 F .908(ving them open when the)-.2 F(command completes.)184 506.4
+Q F1(xpg_echo)144 523.2 Q F0(If set, the)184 535.2 Q F1(echo)2.5 E F0
 -.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15
-E(ault.)-.1 E F1(suspend)108 511.2 Q F0([)2.5 E F1<ad66>A F0(])A .91
-(Suspend the e)144 523.2 R -.15(xe)-.15 G .91
+E(ault.)-.1 E F1(suspend)108 552 Q F0([)2.5 E F1<ad66>A F0(])A .91
+(Suspend the e)144 564 R -.15(xe)-.15 G .91
 (cution of this shell until it recei).15 F -.15(ve)-.25 G 3.41(sa).15 G
 F3(SIGCONT)-.001 E F0 3.409(signal. A)3.159 F .909
 (login shell, or a shell)3.409 F .752
-(without job control enabled, cannot be suspended; the)144 535.2 R F1
+(without job control enabled, cannot be suspended; the)144 576 R F1
 <ad66>3.252 E F0 .753(option can be used to o)3.253 F -.15(ve)-.15 G
-.753(rride this and).15 F .107(force the suspension.)144 547.2 R .107(T\
-he return status is 0 unless the shell is a login shell or job control \
-is not en-)5.107 F(abled and)144 559.2 Q F1<ad66>2.5 E F0
-(is not supplied.)2.5 E F1(test)108 576 Q F2 -.2(ex)2.5 G(pr).2 E F1([)
-108 588 Q F2 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877
-(Return a status of 0 \(true\) or 1 \(f)144 588 R .878
+.753(rride this and).15 F .107(force the suspension.)144 588 R .107(The\
+ return status is 0 unless the shell is a login shell or job control is\
+ not en-)5.107 F(abled and)144 600 Q F1<ad66>2.5 E F0(is not supplied.)
+2.5 E F1(test)108 616.8 Q F2 -.2(ex)2.5 G(pr).2 E F1([)108 628.8 Q F2
+-.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877
+(Return a status of 0 \(true\) or 1 \(f)144 628.8 R .878
 (alse\) depending on the e)-.1 F -.25(va)-.25 G .878
-(luation of the conditional e).25 F(xpression)-.15 E F2 -.2(ex)144 600 S
-(pr).2 E F0 5.53(.E).73 G .53
+(luation of the conditional e).25 F(xpression)-.15 E F2 -.2(ex)144 640.8
+S(pr).2 E F0 5.53(.E).73 G .53
 (ach operator and operand must be a separate ar)-5.53 F 3.03
 (gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.231
-(primaries described in)144 612 R F2(bash\(1\))3.731 E F0(under)3.731 E
-F3(CONDITION)3.731 E 1.231(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF
+(primaries described in)144 652.8 R F2(bash\(1\))3.731 E F0(under)3.731
+F3(CONDITION)3.731 E 1.231(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF
 (.)A F1(test)5.731 E F0 1.232(does not accept an)3.731 F(y)-.15 E
-(options, nor does it accept and ignore an ar)144 624 Q(gument of)-.18 E
-F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .786
-(Expressions may be combined using the follo)144 642 R .785
+(options, nor does it accept and ignore an ar)144 664.8 Q(gument of)-.18
+F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .786
+(Expressions may be combined using the follo)144 682.8 R .785
 (wing operators, listed in decreasing order of prece-)-.25 F 3.411
-(dence. The)144 654 R -.25(eva)3.411 G .911
+(dence. The)144 694.8 R -.25(eva)3.411 G .911
 (luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
 4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
-(used when there are \214v)144 666 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G(ore ar)
--2.5 E(guments.)-.18 E F1(!)144 678 Q F2 -.2(ex)2.5 G(pr).2 E F0 -.35
-(Tr)180 678 S(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)
--.1 E F1(\()144 690 Q F2 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26
-(Returns the v)180 690 R .26(alue of)-.25 F F2 -.2(ex)2.76 G(pr).2 E F0
-5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
-(rride the normal precedence of opera-).15 F(tors.)180 702 Q
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(22)190.95 E 0 Cg EP
+(used when there are \214v)144 706.8 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
+(ore ar)-2.5 E(guments.)-.18 E F1(!)144 718.8 Q F2 -.2(ex)2.5 G(pr).2 E
+F0 -.35(Tr)180 718.8 S(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
+E(alse.)-.1 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(22)190.95 E
+0 Cg EP
 %%Page: 23 23
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Italic@0 SF -.2(ex)144 84 S
-(pr1).2 E F0<ad>2.5 E/F2 10/Times-Bold@0 SF(a)A F1 -.2(ex)2.5 G(pr2).2 E
-F0 -.35(Tr)180 96 S(ue if both).35 E F1 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
-E F1 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F1 -.2(ex)144 108 S(pr1)
-.2 E F0<ad>2.5 E F2(o)A F1 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 120 S
-(ue if either).35 E F1 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F1 -.2(ex)2.5 G
-(pr2).2 E F0(is true.)2.52 E F2(test)144 136.8 Q F0(and)2.5 E F2([)2.5 E
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(\()144 84 Q/F2 10
+/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26
+(Returns the v)180 84 R .26(alue of)-.25 F F2 -.2(ex)2.76 G(pr).2 E F0
+5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
+(rride the normal precedence of opera-).15 F(tors.)180 96 Q F2 -.2(ex)
+144 108 S(pr1).2 E F0<ad>2.5 E F1(a)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35
+(Tr)180 120 S(ue if both).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F2
+-.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F2 -.2(ex)144 132 S(pr1).2 E
+F0<ad>2.5 E F1(o)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 144 S
+(ue if either).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F2 -.2(ex)2.5 G
+(pr2).2 E F0(is true.)2.52 E F1(test)144 160.8 Q F0(and)2.5 E F1([)2.5 E
 F0 -.25(eva)2.5 G(luate conditional e).25 E
 (xpressions using a set of rules based on the number of ar)-.15 E
-(guments.)-.18 E 2.5(0a)144 154.8 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 166.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 178.8 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 190.8 Q
+(guments.)-.18 E 2.5(0a)144 178.8 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 190.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 202.8 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 214.8 Q
 (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 202.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 214.8 R .37(gument is)-.18 F F2(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
+E 2.5(2a)144 226.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 238.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
 F .37(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F 1.683(If the \214rst ar)180 226.8 R 1.683
-(gument is one of the unary conditional operators listed in)-.18 F F1
+(gument is null.)-.18 F 1.683(If the \214rst ar)180 250.8 R 1.683
+(gument is one of the unary conditional operators listed in)-.18 F F2
 (bash\(1\))4.182 E F0(under)4.182 E/F3 9/Times-Bold@0 SF(CONDITION)180
-238.8 Q .121(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .121
+262.8 Q .121(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .121
 (the e)2.371 F .122(xpression is true if the unary test is true.)-.15 F
-.122(If the \214rst)5.122 F(ar)180 250.8 Q(gument is not a v)-.18 E
+.122(If the \214rst)5.122 F(ar)180 274.8 Q(gument is not a v)-.18 E
 (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
-(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 262.8 S -.18(rg)-2.5 G
-(uments).18 E .236(The follo)180 274.8 R .236
+(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 286.8 S -.18(rg)-2.5 G
+(uments).18 E .236(The follo)180 298.8 R .236
 (wing conditions are applied in the order listed.)-.25 F .236
 (If the second ar)5.236 F .236(gument is one of)-.18 F .546
-(the binary conditional operators listed in)180 286.8 R F1(bash\(1\))
+(the binary conditional operators listed in)180 310.8 R F2(bash\(1\))
 3.046 E F0(under)3.046 E F3(CONDITION)3.046 E .546(AL EXPRESSIONS)-.18 F
-F4(,)A F0 .888(the result of the e)180 298.8 R .888(xpression is the re\
+F4(,)A F0 .888(the result of the e)180 322.8 R .888(xpression is the re\
 sult of the binary test using the \214rst and third ar)-.15 F(gu-)-.18 E
-.433(ments as operands.)180 310.8 R(The)5.434 E F2<ad61>2.934 E F0(and)
-2.934 E F2<ad6f>2.934 E F0 .434
+.433(ments as operands.)180 334.8 R(The)5.434 E F1<ad61>2.934 E F0(and)
+2.934 E F1<ad6f>2.934 E F0 .434
 (operators are considered binary operators when there)2.934 F .646
-(are three ar)180 322.8 R 3.146(guments. If)-.18 F .646(the \214rst ar)
-3.146 F .646(gument is)-.18 F F2(!)3.146 E F0 3.146(,t)C .646(he v)
+(are three ar)180 346.8 R 3.146(guments. If)-.18 F .646(the \214rst ar)
+3.146 F .646(gument is)-.18 F F1(!)3.146 E F0 3.146(,t)C .646(he v)
 -3.146 F .645(alue is the ne)-.25 F -.05(ga)-.15 G .645(tion of the tw)
 .05 F(o-ar)-.1 E(gu-)-.18 E .451
-(ment test using the second and third ar)180 334.8 R 2.951(guments. If)
+(ment test using the second and third ar)180 358.8 R 2.951(guments. If)
 -.18 F .451(the \214rst ar)2.951 F .451(gument is e)-.18 F(xactly)-.15 E
-F2(\()2.952 E F0 .452(and the)2.952 F 1.165(third ar)180 346.8 R 1.165
-(gument is e)-.18 F(xactly)-.15 E F2(\))3.665 E F0 3.664(,t)C 1.164
+F1(\()2.952 E F0 .452(and the)2.952 F 1.165(third ar)180 370.8 R 1.165
+(gument is e)-.18 F(xactly)-.15 E F1(\))3.665 E F0 3.664(,t)C 1.164
 (he result is the one-ar)-3.664 F 1.164(gument test of the second ar)
--.18 F(gument.)-.18 E(Otherwise, the e)180 358.8 Q(xpression is f)-.15 E
-(alse.)-.1 E 2.5(4a)144 370.8 S -.18(rg)-2.5 G(uments).18 E .429
-(The follo)180 382.8 R .429
+-.18 F(gument.)-.18 E(Otherwise, the e)180 382.8 Q(xpression is f)-.15 E
+(alse.)-.1 E 2.5(4a)144 394.8 S -.18(rg)-2.5 G(uments).18 E .429
+(The follo)180 406.8 R .429
 (wing conditions are applied in the order listed.)-.25 F .43
-(If the \214rst ar)5.429 F .43(gument is)-.18 F F2(!)2.93 E F0 2.93(,t)C
-.43(he re-)-2.93 F 1.315(sult is the ne)180 394.8 R -.05(ga)-.15 G 1.314
+(If the \214rst ar)5.429 F .43(gument is)-.18 F F1(!)2.93 E F0 2.93(,t)C
+.43(he re-)-2.93 F 1.315(sult is the ne)180 418.8 R -.05(ga)-.15 G 1.314
 (tion of the three-ar).05 F 1.314(gument e)-.18 F 1.314
 (xpression composed of the remaining ar)-.15 F(gu-)-.18 E 2.744
-(ments. the)180 406.8 R(tw)2.744 E(o-ar)-.1 E .245
+(ments. the)180 430.8 R(tw)2.744 E(o-ar)-.1 E .245
 (gument test using the second and third ar)-.18 F 2.745(guments. If)-.18
-F .245(the \214rst ar)2.745 F(gument)-.18 E .31(is e)180 418.8 R(xactly)
--.15 E F2(\()2.81 E F0 .31(and the fourth ar)2.81 F .31(gument is e)-.18
-F(xactly)-.15 E F2(\))2.809 E F0 2.809(,t)C .309(he result is the tw)
+F .245(the \214rst ar)2.745 F(gument)-.18 E .31(is e)180 442.8 R(xactly)
+-.15 E F1(\()2.81 E F0 .31(and the fourth ar)2.81 F .31(gument is e)-.18
+F(xactly)-.15 E F1(\))2.809 E F0 2.809(,t)C .309(he result is the tw)
 -2.809 F(o-ar)-.1 E .309(gument test of the)-.18 F .183
-(second and third ar)180 430.8 R 2.683(guments. Otherwise,)-.18 F .184
+(second and third ar)180 454.8 R 2.683(guments. Otherwise,)-.18 F .184
 (the e)2.684 F .184(xpression is parsed and e)-.15 F -.25(va)-.25 G .184
 (luated according).25 F(to precedence using the rules listed abo)180
-442.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 454.8 S 2.5(rm)-2.5 G(ore ar)
--2.5 E(guments)-.18 E 1.635(The e)180 466.8 R 1.635
+466.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 478.8 S 2.5(rm)-2.5 G(ore ar)
+-2.5 E(guments)-.18 E 1.635(The e)180 490.8 R 1.635
 (xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635
 (luated according to precedence using the rules listed).25 F(abo)180
-478.8 Q -.15(ve)-.15 G(.).15 E(When used with)144 496.8 Q F2(test)2.5 E
-F0(or)2.5 E F2([)2.5 E F0 2.5(,t)C(he)-2.5 E F2(<)2.5 E F0(and)2.5 E F2
+502.8 Q -.15(ve)-.15 G(.).15 E(When used with)144 520.8 Q F1(test)2.5 E
+F0(or)2.5 E F1([)2.5 E F0 2.5(,t)C(he)-2.5 E F1(<)2.5 E F0(and)2.5 E F1
 (>)2.5 E F0(operators sort le)2.5 E
-(xicographically using ASCII ordering.)-.15 E F2(times)108 513.6 Q F0
+(xicographically using ASCII ordering.)-.15 E F1(times)108 537.6 Q F0
 1.229(Print the accumulated user and system times for the shell and for\
- processes run from the shell.)144 513.6 R(The return status is 0.)144
-525.6 Q F2(trap)108 542.4 Q F0([)2.5 E F2(\255lp)A F0 2.5(][)C([)-2.5 E
-F1(action)A F0(])A F1(sigspec)2.5 E F0(...])2.5 E(The)144 554.4 Q F1
+ processes run from the shell.)144 537.6 R(The return status is 0.)144
+549.6 Q F1(trap)108 566.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E
+F2(action)A F0(])A F2(sigspec)2.5 E F0(...])2.5 E(The)144 578.4 Q F2
 (action)3.734 E F0 .903(is a command that is read and e)3.644 F -.15(xe)
 -.15 G .903(cuted when the shell recei).15 F -.15(ve)-.25 G 3.403(ss).15
-G(ignal\(s\))-3.403 E F1(sigspec)3.743 E F0 5.903(.I).31 G(f)-5.903 E F1
-(action)144.33 566.4 Q F0 .105(is absent \(and there is a single)2.845 F
-F1(sigspec)2.605 E F0 2.605(\)o)C(r)-2.605 E F2<ad>2.605 E F0 2.605(,e)C
+G(ignal\(s\))-3.403 E F2(sigspec)3.743 E F0 5.903(.I).31 G(f)-5.903 E F2
+(action)144.33 590.4 Q F0 .105(is absent \(and there is a single)2.845 F
+F2(sigspec)2.605 E F0 2.605(\)o)C(r)-2.605 E F1<ad>2.605 E F0 2.605(,e)C
 .106(ach speci\214ed signal is reset to its original dis-)-2.605 F .627
-(position \(the v)144 578.4 R .626
-(alue it had upon entrance to the shell\).)-.25 F(If)5.626 E F1(action)
+(position \(the v)144 602.4 R .626
+(alue it had upon entrance to the shell\).)-.25 F(If)5.626 E F2(action)
 3.456 E F0 .626(is the null string the signal speci-)3.366 F
-(\214ed by each)144 590.4 Q F1(sigspec)2.84 E F0
+(\214ed by each)144 614.4 Q F2(sigspec)2.84 E F0
 (is ignored by the shell and by the commands it in)2.81 E -.2(vo)-.4 G
--.1(ke).2 G(s.).1 E .165(If no ar)144 608.4 R .165
-(guments are supplied,)-.18 F F2(trap)2.665 E F0 .165
+-.1(ke).2 G(s.).1 E .165(If no ar)144 632.4 R .165
+(guments are supplied,)-.18 F F1(trap)2.665 E F0 .165
 (displays the actions associated with each trapped signal as a set)2.665
-F(of)144 620.4 Q F2(trap)2.57 E F0 .069(commands that can be reused as \
+F(of)144 644.4 Q F1(trap)2.57 E F0 .069(commands that can be reused as \
 shell input to restore the current signal dispositions.)2.57 F(If)5.069
-E F2<ad70>2.569 E F0 .473(is gi)144 632.4 R -.15(ve)-.25 G .473(n, and)
-.15 F F1(action)3.303 E F0 .473(is not present, then)3.213 F F2(trap)
-2.973 E F0 .473(displays the actions associated with each)2.973 F F1
+E F1<ad70>2.569 E F0 .473(is gi)144 656.4 R -.15(ve)-.25 G .473(n, and)
+.15 F F2(action)3.303 E F0 .473(is not present, then)3.213 F F1(trap)
+2.973 E F0 .473(displays the actions associated with each)2.973 F F2
 (sigspec)3.314 E F0(or)3.284 E(,)-.4 E .364
-(if none are supplied, for all trapped signals, as a set of)144 644.4 R
-F2(trap)2.864 E F0 .363(commands that can be reused as shell)2.864 F
-.207(input to restore the current signal dispositions.)144 656.4 R(The)
-5.207 E F2<ad50>2.707 E F0 .207(option beha)2.707 F -.15(ve)-.2 G 2.707
+(if none are supplied, for all trapped signals, as a set of)144 668.4 R
+F1(trap)2.864 E F0 .363(commands that can be reused as shell)2.864 F
+.207(input to restore the current signal dispositions.)144 680.4 R(The)
+5.207 E F1<ad50>2.707 E F0 .207(option beha)2.707 F -.15(ve)-.2 G 2.707
 (ss).15 G(imilarly)-2.707 E 2.707(,b)-.65 G .208(ut displays only)-2.907
-F 1.553(the actions associated with each)144 668.4 R F1(sigspec)4.052 E
-F0(ar)4.052 E(gument.)-.18 E F2<ad50>6.552 E F0 1.552
-(requires at least one)4.052 F F1(sigspec)4.052 E F0(ar)4.052 E(gument.)
--.18 E(The)144 680.4 Q F2<ad50>2.726 E F0(or)2.726 E F2<ad70>2.727 E F0
-.227(options to)2.727 F F2(trap)2.727 E F0 .227
+F 1.553(the actions associated with each)144 692.4 R F2(sigspec)4.052 E
+F0(ar)4.052 E(gument.)-.18 E F1<ad50>6.552 E F0 1.552
+(requires at least one)4.052 F F2(sigspec)4.052 E F0(ar)4.052 E(gument.)
+-.18 E(The)144 704.4 Q F1<ad50>2.726 E F0(or)2.726 E F1<ad70>2.727 E F0
+.227(options to)2.727 F F1(trap)2.727 E F0 .227
 (may be used in a subshell en)2.727 F .227
 (vironment \(e.g., command substitution\))-.4 F .993
-(and, as long as the)144 692.4 R 3.493(ya)-.15 G .993(re used before)
--3.493 F F2(trap)3.493 E F0 .993(is used to change a signal')3.493 F
+(and, as long as the)144 716.4 R 3.493(ya)-.15 G .993(re used before)
+-3.493 F F1(trap)3.493 E F0 .993(is used to change a signal')3.493 F
 3.492(sh)-.55 G .992(andling, will display the)-3.492 F
-(state of its parent')144 704.4 Q 2.5(st)-.55 G(raps.)-2.5 E(The)144
-722.4 Q F2<ad6c>3.216 E F0 .716(option causes)3.216 F F2(trap)3.216 E F0
-.716(to print a list of signal names and their corresponding numbers.)
-3.216 F(Each)5.717 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(23)
-190.95 E 0 Cg EP
+(state of its parent')144 728.4 Q 2.5(st)-.55 G(raps.)-2.5 E
+(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(23)190.95 E 0 Cg EP
 %%Page: 24 24
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Italic@0 SF(sigspec)144.34 84 Q
-F0 .709(is either a signal name de\214ned in <)3.519 F F1(signal.h)A F0
-.709(>, or a signal number)B 5.708(.S)-.55 G .708(ignal names are case)
--5.708 F(insensiti)144 96 Q .3 -.15(ve a)-.25 H(nd the).15 E/F2 9
+E(UIL)-.1 E(TINS\(1\))-.92 E(The)144 84 Q/F1 10/Times-Bold@0 SF<ad6c>
+3.216 E F0 .716(option causes)3.216 F F1(trap)3.216 E F0 .716
+(to print a list of signal names and their corresponding numbers.)3.216
+F(Each)5.717 E/F2 10/Times-Italic@0 SF(sigspec)144.34 96 Q F0 .709
+(is either a signal name de\214ned in <)3.519 F F2(signal.h)A F0 .709
+(>, or a signal number)B 5.708(.S)-.55 G .708(ignal names are case)
+-5.708 F(insensiti)144 108 Q .3 -.15(ve a)-.25 H(nd the).15 E/F3 9
 /Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E .091(If a)144
-114 R F1(sigspec)2.931 E F0(is)2.901 E F2(EXIT)2.591 E F0 .091
-(\(0\) the command)2.341 F F1(action)2.921 E F0 .091(is e)2.831 F -.15
+126 R F2(sigspec)2.931 E F0(is)2.901 E F3(EXIT)2.591 E F0 .091
+(\(0\) the command)2.341 F F2(action)2.921 E F0 .091(is e)2.831 F -.15
 (xe)-.15 G .091(cuted on e).15 F .092(xit from the shell.)-.15 F .092
-(If a)5.092 F F1(sigspec)2.932 E F0(is)2.902 E F2(DE-)2.592 E -.09(BU)
-144 126 S(G).09 E/F3 9/Times-Roman@0 SF(,)A F0 1.245(the command)3.495 F
-F1(action)4.075 E F0 1.245(is e)3.985 F -.15(xe)-.15 G 1.244
-(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F1 1.244(simple command)
-3.744 F F0(,)A F1(for)3.744 E F0(command,)3.744 E F1(case)3.744 E F0
-(com-)3.744 E(mand,)144 138 Q F1(select)2.696 E F0 .196
+(If a)5.092 F F2(sigspec)2.932 E F0(is)2.902 E F3(DE-)2.592 E -.09(BU)
+144 138 S(G).09 E/F4 9/Times-Roman@0 SF(,)A F0 1.245(the command)3.495 F
+F2(action)4.075 E F0 1.245(is e)3.985 F -.15(xe)-.15 G 1.244
+(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.244(simple command)
+3.744 F F0(,)A F2(for)3.744 E F0(command,)3.744 E F2(case)3.744 E F0
+(com-)3.744 E(mand,)144 150 Q F2(select)2.696 E F0 .196
 (command, \(\( arithmetic command, [[ conditional command, arithmetic)
-2.696 F F1(for)2.697 E F0(command,)2.697 E 1.105
-(and before the \214rst command e)144 150 R -.15(xe)-.15 G 1.105
-(cutes in a shell function \(see).15 F F2 1.105(SHELL GRAMMAR)3.605 F F0
-(in)3.355 E F1(bash\(1\))3.604 E F0(\).)A .556
-(Refer to the description of the)144 162 R/F4 10/Times-Bold@0 SF(extdeb)
-3.056 E(ug)-.2 E F0 .556(option to the)3.056 F F4(shopt)3.056 E F0 -.2
-(bu)3.056 G .556(iltin for details of its ef).2 F .557(fect on the)-.25
-F F4(DEB)144 174 Q(UG)-.1 E F0 2.515(trap. If)2.515 F(a)2.515 E F1
-(sigspec)2.855 E F0(is)2.825 E F2(RETURN)2.515 E F3(,)A F0 .015
-(the command)2.265 F F1(action)2.844 E F0 .014(is e)2.754 F -.15(xe)-.15
-G .014(cuted each time a shell function).15 F(or a script e)144 186 Q
--.15(xe)-.15 G(cuted with the).15 E F4(.)2.5 E F0(or)2.5 E F4(sour)2.5 E
-(ce)-.18 E F0 -.2(bu)2.5 G(iltins \214nishes e).2 E -.15(xe)-.15 G
-(cuting.).15 E .284(If a)144 204 R F1(sigspec)3.124 E F0(is)3.094 E F2
-(ERR)2.784 E F3(,)A F0 .284(the command)2.534 F F1(action)3.114 E F0
-.284(is e)3.024 F -.15(xe)-.15 G .284(cuted whene).15 F -.15(ve)-.25 G
-2.784(rap).15 G .285(ipeline \(which may consist of a)-2.784 F .185(sin\
-gle simple command\), a list, or a compound command returns a non\255ze\
-ro e)144 216 R .184(xit status, subject to)-.15 F .451(the follo)144 228
-R .451(wing conditions.)-.25 F(The)5.451 E F2(ERR)2.951 E F0 .451
+2.696 F F2(for)2.697 E F0(command,)2.697 E 1.105
+(and before the \214rst command e)144 162 R -.15(xe)-.15 G 1.105
+(cutes in a shell function \(see).15 F F3 1.105(SHELL GRAMMAR)3.605 F F0
+(in)3.355 E F2(bash\(1\))3.604 E F0(\).)A .556
+(Refer to the description of the)144 174 R F1(extdeb)3.056 E(ug)-.2 E F0
+.556(option to the)3.056 F F1(shopt)3.056 E F0 -.2(bu)3.056 G .556
+(iltin for details of its ef).2 F .557(fect on the)-.25 F F1(DEB)144 186
+Q(UG)-.1 E F0 2.515(trap. If)2.515 F(a)2.515 E F2(sigspec)2.855 E F0(is)
+2.825 E F3(RETURN)2.515 E F4(,)A F0 .015(the command)2.265 F F2(action)
+2.844 E F0 .014(is e)2.754 F -.15(xe)-.15 G .014
+(cuted each time a shell function).15 F(or a script e)144 198 Q -.15(xe)
+-.15 G(cuted with the).15 E F1(.)2.5 E F0(or)2.5 E F1(sour)2.5 E(ce)-.18
+E F0 -.2(bu)2.5 G(iltins \214nishes e).2 E -.15(xe)-.15 G(cuting.).15 E
+.284(If a)144 216 R F2(sigspec)3.124 E F0(is)3.094 E F3(ERR)2.784 E F4
+(,)A F0 .284(the command)2.534 F F2(action)3.114 E F0 .284(is e)3.024 F
+-.15(xe)-.15 G .284(cuted whene).15 F -.15(ve)-.25 G 2.784(rap).15 G
+.285(ipeline \(which may consist of a)-2.784 F .185(single simple comma\
+nd\), a list, or a compound command returns a non\255zero e)144 228 R
+.184(xit status, subject to)-.15 F .451(the follo)144 240 R .451
+(wing conditions.)-.25 F(The)5.451 E F3(ERR)2.951 E F0 .451
 (trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .452
 (ailed command is part of the com-)-.1 F .388
-(mand list immediately follo)144 240 R .388(wing a)-.25 F F4(while)2.888
-E F0(or)2.888 E F4(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
-(ord, part of the test in an)-.1 F F1(if)2.897 E F0 .387
-(statement, part)4.847 F .777(of a command e)144 252 R -.15(xe)-.15 G
-.778(cuted in a).15 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0 .778
+(mand list immediately follo)144 252 R .388(wing a)-.25 F F1(while)2.888
+E F0(or)2.888 E F1(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
+(ord, part of the test in an)-.1 F F2(if)2.897 E F0 .387
+(statement, part)4.847 F .777(of a command e)144 264 R -.15(xe)-.15 G
+.778(cuted in a).15 F F1(&&)3.278 E F0(or)3.278 E F1(||)3.278 E F0 .778
 (list e)3.278 F .778(xcept the command follo)-.15 F .778
-(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E F0
-3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 264 R 1.28
+(wing the \214nal)-.25 F F1(&&)3.278 E F0(or)3.278 E F1(||)3.278 E F0
+3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 276 R 1.28
 (ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)-3.78
-F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F4(!)
-3.78 E F0(.)A(These are the same conditions obe)144 276 Q(yed by the)
--.15 E F4(err)2.5 E(exit)-.18 E F0(\()2.5 E F4<ad65>A F0 2.5(\)o)C
-(ption.)-2.5 E .069(When the shell is not interacti)144 294 R -.15(ve)
+F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F1(!)
+3.78 E F0(.)A(These are the same conditions obe)144 288 Q(yed by the)
+-.15 E F1(err)2.5 E(exit)-.18 E F0(\()2.5 E F1<ad65>A F0 2.5(\)o)C
+(ption.)-2.5 E .069(When the shell is not interacti)144 306 R -.15(ve)
 -.25 G 2.569(,s).15 G .07
 (ignals ignored upon entry to the shell cannot be trapped or reset.)
--2.569 F(Interacti)144 306 Q .952 -.15(ve s)-.25 H .652
+-2.569 F(Interacti)144 318 Q .952 -.15(ve s)-.25 H .652
 (hells permit trapping signals ignored on entry).15 F 5.651(.T)-.65 G
 .651(rapped signals that are not being ig-)-6.001 F .576
-(nored are reset to their original v)144 318 R .576
+(nored are reset to their original v)144 330 R .576
 (alues in a subshell or subshell en)-.25 F .577
-(vironment when one is created.)-.4 F(The return status is f)144 330 Q
-(alse if an)-.1 E(y)-.15 E F1(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4
-G(lid; otherwise).25 E F4(trap)2.5 E F0(returns true.)2.5 E F4(true)108
-346.8 Q F0(Does nothing, returns a 0 status.)144 346.8 Q F4(type)108
-363.6 Q F0([)2.5 E F4(\255aftpP)A F0(])A F1(name)2.5 E F0([)2.5 E F1
-(name)A F0(...])2.5 E -.4(Wi)144 375.6 S .174
-(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F1(name)
+(vironment when one is created.)-.4 F(The return status is f)144 342 Q
+(alse if an)-.1 E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4
+G(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(true)108
+358.8 Q F0(Does nothing, returns a 0 status.)144 358.8 Q F1(type)108
+375.6 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2
+(name)A F0(...])2.5 E -.4(Wi)144 387.6 S .174
+(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name)
 3.034 E F0 -.1(wo)2.854 G .173
 (uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
-F4<ad74>144 387.6 Q F0 .715(option is used,)3.215 F F4(type)3.215 E F0
-.715(prints a string which is one of)3.215 F F1(alias)3.545 E F0(,).27 E
-F1 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)5.185 E F0
-(,).24 E F1 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F1
-(\214le)5.125 E F0(if)3.395 E F1(name)144.36 399.6 Q F0 .378
+F1<ad74>144 399.6 Q F0 .715(option is used,)3.215 F F1(type)3.215 E F0
+.715(prints a string which is one of)3.215 F F2(alias)3.545 E F0(,).27 E
+F2 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)5.185 E F0
+(,).24 E F2 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F2
+(\214le)5.125 E F0(if)3.395 E F2(name)144.36 411.6 Q F0 .378
 (is an alias, shell reserv)3.058 F .377(ed w)-.15 F .377
 (ord, function, b)-.1 F .377(uiltin, or e)-.2 F -.15(xe)-.15 G .377
 (cutable disk \214le, respecti).15 F -.15(ve)-.25 G(ly).15 E 5.377(.I)
--.65 G 2.877(ft)-5.377 G(he)-2.877 E F1(name)144.36 411.6 Q F0 .645
-(is not found, then nothing is printed, and)3.325 F F4(type)3.146 E F0
+-.65 G 2.877(ft)-5.377 G(he)-2.877 E F2(name)144.36 423.6 Q F0 .645
+(is not found, then nothing is printed, and)3.325 F F1(type)3.146 E F0
 .646(returns a non-zero e)3.146 F .646(xit status.)-.15 F .646(If the)
-5.646 F F4<ad70>3.146 E F0(op-)3.146 E .642(tion is used,)144 423.6 R F4
+5.646 F F1<ad70>3.146 E F0(op-)3.146 E .642(tion is used,)144 435.6 R F1
 (type)3.142 E F0 .642(either returns the name of the e)3.142 F -.15(xe)
 -.15 G .642(cutable \214le that w).15 F .641(ould be found by searching)
--.1 F F4($P)144 435.6 Q -.95(AT)-.74 G(H).95 E F0(if)2.615 E F1(name)
+-.1 F F1($P)144 447.6 Q -.95(AT)-.74 G(H).95 E F0(if)2.615 E F2(name)
 2.975 E F0 .116(were speci\214ed as a command name, or nothing if)2.796
 F/F5 10/Courier@0 SF .116(type -t name)2.616 F F0 -.1(wo)2.616 G .116
-(uld not re-).1 F(turn)144 447.6 Q F1(\214le)4.5 E F0 5.09(.T).18 G(he)
--5.09 E F4<ad50>2.59 E F0 .09(option forces a)2.59 F F2 -.666(PA)2.59 G
-(TH)-.189 E F0 .089(search for each)2.339 F F1(name)2.589 E F0 2.589(,e)
+(uld not re-).1 F(turn)144 459.6 Q F2(\214le)4.5 E F0 5.09(.T).18 G(he)
+-5.09 E F1<ad50>2.59 E F0 .09(option forces a)2.59 F F3 -.666(PA)2.59 G
+(TH)-.189 E F0 .089(search for each)2.339 F F2(name)2.589 E F0 2.589(,e)
 C -.15(ve)-2.839 G 2.589(ni).15 G(f)-2.589 E F5 .089(type -t name)2.589
-F F0 -.1(wo)2.589 G .089(uld not).1 F(return)144 459.6 Q F1(\214le)5.245
+F F0 -.1(wo)2.589 G .089(uld not).1 F(return)144 471.6 Q F2(\214le)5.245
 E F0 5.835(.I).18 G 3.336(fac)-5.835 G .836(ommand is hashed,)-3.336 F
-F4<ad70>3.336 E F0(and)3.336 E F4<ad50>3.336 E F0 .836
+F1<ad70>3.336 E F0(and)3.336 E F1<ad50>3.336 E F0 .836
 (print the hashed v)3.336 F .836(alue, which is not necessarily)-.25 F
-.033(the \214le that appears \214rst in)144 471.6 R F2 -.666(PA)2.533 G
-(TH)-.189 E F3(.)A F0 .033(If the)4.533 F F4<ad61>2.533 E F0 .033
-(option is used,)2.533 F F4(type)2.533 E F0 .033
-(prints all of the places that contain)2.533 F 3.55(ac)144 483.6 S 1.05
-(ommand named)-3.55 F F1(name)3.91 E F0 6.051(.T).18 G 1.051
+.033(the \214le that appears \214rst in)144 483.6 R F3 -.666(PA)2.533 G
+(TH)-.189 E F4(.)A F0 .033(If the)4.533 F F1<ad61>2.533 E F0 .033
+(option is used,)2.533 F F1(type)2.533 E F0 .033
+(prints all of the places that contain)2.533 F 3.55(ac)144 495.6 S 1.05
+(ommand named)-3.55 F F2(name)3.91 E F0 6.051(.T).18 G 1.051
 (his includes aliases, reserv)-6.051 F 1.051(ed w)-.15 F 1.051
 (ords, functions, and b)-.1 F 1.051(uiltins, b)-.2 F 1.051(ut the)-.2 F
-1.178(path search options \()144 495.6 R F4<ad70>A F0(and)3.678 E F4
+1.178(path search options \()144 507.6 R F1<ad70>A F0(and)3.678 E F1
 <ad50>3.678 E F0 3.678(\)c)C 1.177
 (an be supplied to restrict the output to e)-3.678 F -.15(xe)-.15 G
-1.177(cutable \214les.).15 F F4(type)6.177 E F0 .035
-(does not consult the table of hashed commands when using)144 507.6 R F4
-<ad61>2.535 E F0(with)2.535 E F4<ad70>2.535 E F0 2.535(,a)C .036
-(nd only performs a)-2.535 F F2 -.666(PA)2.536 G(TH)-.189 E F0 .912
-(search for)144 519.6 R F1(name)3.412 E F0 5.912(.T)C(he)-5.912 E F4
+1.177(cutable \214les.).15 F F1(type)6.177 E F0 .035
+(does not consult the table of hashed commands when using)144 519.6 R F1
+<ad61>2.535 E F0(with)2.535 E F1<ad70>2.535 E F0 2.535(,a)C .036
+(nd only performs a)-2.535 F F3 -.666(PA)2.536 G(TH)-.189 E F0 .912
+(search for)144 531.6 R F2(name)3.412 E F0 5.912(.T)C(he)-5.912 E F1
 <ad66>3.412 E F0 .911
-(option suppresses shell function lookup, as with the)3.412 F F4
-(command)3.411 E F0 -.2(bu)3.411 G(iltin.).2 E F4(type)144 531.6 Q F0
+(option suppresses shell function lookup, as with the)3.412 F F1
+(command)3.411 E F0 -.2(bu)3.411 G(iltin.).2 E F1(type)144 543.6 Q F0
 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E
-(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F4(ulimit)108 548.4
-Q F0([)2.5 E F4(\255HS)A F0(])A F4<ad61>2.5 E(ulimit)108 560.4 Q F0([)
-2.5 E F4(\255HS)A F0 2.5(][)C F4(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4
-E F0([)2.5 E F1(limit)A F0(]])A(Pro)144 572.4 Q .243(vides control o)
+(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 560.4
+Q F0([)2.5 E F1(\255HS)A F0(])A F1<ad61>2.5 E(ulimit)108 572.4 Q F0([)
+2.5 E F1(\255HS)A F0 2.5(][)C F1(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4
+E F0([)2.5 E F2(limit)A F0(]])A(Pro)144 584.4 Q .243(vides control o)
 -.15 F -.15(ve)-.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25
 (va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.944(that allo)144 584.4 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
-(The)5.944 E F4<ad48>3.444 E F0(and)3.444 E F4<ad53>3.444 E F0 .943
+.944(that allo)144 596.4 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F1<ad48>3.444 E F0(and)3.444 E F1<ad53>3.444 E F0 .943
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 596.4 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
+144 608.4 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.708 F .426(be increased up to the v)144 608.4 R .426
-(alue of the hard limit.)-.25 F .425(If neither)5.426 F F4<ad48>2.925 E
-F0(nor)2.925 E F4<ad53>2.925 E F0 .425
+ft limit may)2.708 F .426(be increased up to the v)144 620.4 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F1<ad48>2.925 E
+F0(nor)2.925 E F1<ad53>2.925 E F0 .425
 (is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
-620.4 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
+632.4 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.742(of the special v)144 632.4 R(alues)-.25 E F4(hard)3.242 E F0(,)A F4
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F4(unlimited)3.241 E F0 3.241(,w)
+.742(of the special v)144 644.4 R(alues)-.25 E F1(hard)3.242 E F0(,)A F1
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .023
-(soft limit, and no limit, respecti)144 644.4 R -.15(ve)-.25 G(ly).15 E
-5.023(.I)-.65 G(f)-5.023 E F1(limit)2.613 E F0 .023
+(soft limit, and no limit, respecti)144 656.4 R -.15(ve)-.25 G(ly).15 E
+5.023(.I)-.65 G(f)-5.023 E F2(limit)2.613 E F0 .023
 (is omitted, the current v)3.203 F .023
 (alue of the soft limit of the re-)-.25 F .985
-(source is printed, unless the)144 656.4 R F4<ad48>3.485 E F0 .984
+(source is printed, unless the)144 668.4 R F1<ad48>3.485 E F0 .984
 (option is gi)3.485 F -.15(ve)-.25 G 3.484(n. When).15 F .984
 (more than one resource is speci\214ed, the)3.484 F .7
-(limit name and unit, if appropriate, are printed before the v)144 668.4
+(limit name and unit, if appropriate, are printed before the v)144 680.4
 R 3.2(alue. Other)-.25 F .7(options are interpreted as)3.2 F(follo)144
-680.4 Q(ws:)-.25 E F4<ad61>144 692.4 Q F0
-(All current limits are reported; no limits are set)180 692.4 Q F4<ad62>
-144 704.4 Q F0(The maximum sock)180 704.4 Q(et b)-.1 E(uf)-.2 E
-(fer size)-.25 E F4<ad63>144 716.4 Q F0
-(The maximum size of core \214les created)180 716.4 Q(GNU Bash 5.2)72
-768 Q(2023 January 27)141.79 E(24)190.95 E 0 Cg EP
+692.4 Q(ws:)-.25 E F1<ad61>144 704.4 Q F0
+(All current limits are reported; no limits are set)180 704.4 Q F1<ad62>
+144 716.4 Q F0(The maximum sock)180 716.4 Q(et b)-.1 E(uf)-.2 E
+(fer size)-.25 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(24)
+190.95 E 0 Cg EP
 %%Page: 25 25
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
 (TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad64>144 84 Q F0
-(The maximum size of a process')180 84 Q 2.5(sd)-.55 G(ata se)-2.5 E
-(gment)-.15 E F1<ad65>144 96 Q F0
-(The maximum scheduling priority \("nice"\))180 96 Q F1<ad66>144 108 Q
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad63>144 84 Q F0
+(The maximum size of core \214les created)180 84 Q F1<ad64>144 96 Q F0
+(The maximum size of a process')180 96 Q 2.5(sd)-.55 G(ata se)-2.5 E
+(gment)-.15 E F1<ad65>144 108 Q F0
+(The maximum scheduling priority \("nice"\))180 108 Q F1<ad66>144 120 Q
 F0(The maximum size of \214les written by the shell and its children)180
-108 Q F1<ad69>144 120 Q F0(The maximum number of pending signals)180 120
-Q F1<ad6b>144 132 Q F0
-(The maximum number of kqueues that may be allocated)180 132 Q F1<ad6c>
-144 144 Q F0(The maximum size that may be lock)180 144 Q(ed into memory)
--.1 E F1<ad6d>144 156 Q F0(The maximum resident set size \(man)180 156 Q
-2.5(ys)-.15 G(ystems do not honor this limit\))-2.5 E F1<ad6e>144 168 Q
+120 Q F1<ad69>144 132 Q F0(The maximum number of pending signals)180 132
+Q F1<ad6b>144 144 Q F0
+(The maximum number of kqueues that may be allocated)180 144 Q F1<ad6c>
+144 156 Q F0(The maximum size that may be lock)180 156 Q(ed into memory)
+-.1 E F1<ad6d>144 168 Q F0(The maximum resident set size \(man)180 168 Q
+2.5(ys)-.15 G(ystems do not honor this limit\))-2.5 E F1<ad6e>144 180 Q
 F0 .791(The maximum number of open \214le descriptors \(most systems do\
- not allo)180 168 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
-(be set\))180 180 Q F1<ad70>144 192 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))180 192 Q F1
-<ad71>144 204 Q F0(The maximum number of bytes in POSIX message queues)
-180 204 Q F1<ad72>144 216 Q F0
-(The maximum real-time scheduling priority)180 216 Q F1<ad73>144 228 Q
-F0(The maximum stack size)180 228 Q F1<ad74>144 240 Q F0
-(The maximum amount of cpu time in seconds)180 240 Q F1<ad75>144 252 Q
-F0(The maximum number of processes a)180 252 Q -.25(va)-.2 G
-(ilable to a single user).25 E F1<ad76>144 264 Q F0 .47
-(The maximum amount of virtual memory a)180 264 R -.25(va)-.2 G .47
-(ilable to the shell and, on some systems, to).25 F(its children)180 276
-Q F1<ad78>144 288 Q F0(The maximum number of \214le locks)180 288 Q F1
-<ad50>144 300 Q F0(The maximum number of pseudoterminals)180 300 Q F1
-<ad52>144 312 Q F0(The maximum time a real-time process can run before \
-blocking, in microseconds)180 312 Q F1<ad54>144 324 Q F0
-(The maximum number of threads)180 324 Q(If)144 340.8 Q/F2 10
+ not allo)180 180 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
+(be set\))180 192 Q F1<ad70>144 204 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))180 204 Q F1
+<ad71>144 216 Q F0(The maximum number of bytes in POSIX message queues)
+180 216 Q F1<ad72>144 228 Q F0
+(The maximum real-time scheduling priority)180 228 Q F1<ad73>144 240 Q
+F0(The maximum stack size)180 240 Q F1<ad74>144 252 Q F0
+(The maximum amount of cpu time in seconds)180 252 Q F1<ad75>144 264 Q
+F0(The maximum number of processes a)180 264 Q -.25(va)-.2 G
+(ilable to a single user).25 E F1<ad76>144 276 Q F0 .47
+(The maximum amount of virtual memory a)180 276 R -.25(va)-.2 G .47
+(ilable to the shell and, on some systems, to).25 F(its children)180 288
+Q F1<ad78>144 300 Q F0(The maximum number of \214le locks)180 300 Q F1
+<ad50>144 312 Q F0(The maximum number of pseudoterminals)180 312 Q F1
+<ad52>144 324 Q F0(The maximum time a real-time process can run before \
+blocking, in microseconds)180 324 Q F1<ad54>144 336 Q F0
+(The maximum number of threads)180 336 Q(If)144 352.8 Q/F2 10
 /Times-Italic@0 SF(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)-.25 G
 .468(n, and the).15 F F1<ad61>2.968 E F0 .468(option is not used,)2.968
 F F2(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468
 (alue of the speci\214ed resource.)-3.218 F(If)5.468 E .044
-(no option is gi)144 352.8 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
+(no option is gi)144 364.8 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
 2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
 (lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
 <ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .67(in seconds;)144
-364.8 R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F
+376.8 R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F
 F1<ad70>3.17 E F0 3.17(,w)C .67(hich is in units of 512-byte blocks;)
 -3.17 F F1<ad50>3.17 E F0(,)A F1<ad54>3.17 E F0(,)A F1<ad62>3.17 E F0(,)
-A F1<ad6b>144 376.8 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E
+A F1<ad6b>144 388.8 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E
 F1<ad75>3.736 E F0 3.736(,w)C 1.236(hich are unscaled v)-3.736 F 1.236
 (alues; and, when in posix mode,)-.25 F F1<ad63>3.736 E F0(and)3.736 E
 F1<ad66>3.736 E F0 3.736(,w)C 1.237(hich are in)-3.736 F .239
-(512-byte increments.)144 388.8 R .238
+(512-byte increments.)144 400.8 R .238
 (The return status is 0 unless an in)5.239 F -.25(va)-.4 G .238
 (lid option or ar).25 F .238(gument is supplied, or an)-.18 F
-(error occurs while setting a ne)144 400.8 Q 2.5(wl)-.25 G(imit.)-2.5 E
-F1(umask)108 417.6 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0
+(error occurs while setting a ne)144 412.8 Q 2.5(wl)-.25 G(imit.)-2.5 E
+F1(umask)108 429.6 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0
 2.5(][)C F2(mode)-2.5 E F0(])A .18
-(The user \214le-creation mask is set to)144 429.6 R F2(mode)3.06 E F0
+(The user \214le-creation mask is set to)144 441.6 R F2(mode)3.06 E F0
 5.18(.I).18 G(f)-5.18 E F2(mode)3.06 E F0(be)2.86 E .18
 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
 therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 441.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-453.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+pted by)144 453.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+465.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
 (alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 465.6 R .547
+(printed in symbolic form; the def)144 477.6 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
 (he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 477.6 Q F0 .551
+(mode)144.38 489.6 Q F0 .551
 (is omitted, the output is in a form that may be reused as input.)3.231
-F .552(The return status is 0 if the)5.552 F(mode w)144 489.6 Q
+F .552(The return status is 0 if the)5.552 F(mode w)144 501.6 Q
 (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
 (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 506.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
-(...])2.5 E(Remo)144 518.4 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
+(unalias)108 518.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 530.4 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
 3.258 E F0 .758(from the list of de\214ned aliases.)3.258 F(If)5.758 E
 F1<ad61>3.258 E F0 .757(is supplied, all alias de\214nitions are re-)
-3.258 F(mo)144 530.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+3.258 F(mo)144 542.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
 (alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 547.2 Q F0<5bad>2.5 E F1
+(is not a de\214ned alias.)2.68 E F1(unset)108 559.2 Q F0<5bad>2.5 E F1
 (fv)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...])
-2.5 E -.15(Fo)144 559.2 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
+2.5 E -.15(Fo)144 571.2 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
 3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H 1.303
 (he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303
 (If the)6.303 F F1<ad76>3.804 E F0 1.304(option is gi)3.804 F -.15(ve)
--.25 G 1.304(n, each).15 F F2(name)144.36 571.2 Q F0 .465
+-.25 G 1.304(n, each).15 F F2(name)144.36 583.2 Q F0 .465
 (refers to a shell v)3.145 F .464(ariable, and that v)-.25 F .464
 (ariable is remo)-.25 F -.15(ve)-.15 G 2.964(d. Read-only).15 F -.25(va)
-2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 583.2 R F1
+2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 595.2 R F1
 <ad66>2.768 E F0 .269(is speci\214ed, each)2.768 F F2(name)3.129 E F0
 .269(refers to a shell function, and the function de\214nition is remo)
-2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 595.2 R F1<ad6e>2.904 E
+2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 607.2 R F1<ad6e>2.904 E
 F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v)
 2.904 F .404(ariable with the)-.25 F F2(namer)2.904 E(ef)-.37 E F0
 (attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .403(will be unset)2.904 F
-.719(rather than the v)144 607.2 R .719(ariable it references.)-.25 F F1
+.719(rather than the v)144 619.2 R .719(ariable it references.)-.25 F F1
 <ad6e>5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1<ad66>
 3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F .737
-(are supplied, each)144 619.2 R F2(name)3.237 E F0 .737(refers to a v)
+(are supplied, each)144 631.2 R F2(name)3.237 E F0 .737(refers to a v)
 3.237 F .737(ariable; if there is no v)-.25 F .736
 (ariable by that name, a function with)-.25 F 1.761(that name, if an)144
-631.2 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
+643.2 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
 1.761(unset v)4.261 F 1.761(ariable or function is remo)-.25 F -.15(ve)
 -.15 G 4.262(df).15 G 1.762(rom the en)-4.262 F(vironment)-.4 E 3.172
-(passed to subsequent commands.)144 643.2 R 3.172(If an)8.172 F 5.672
+(passed to subsequent commands.)144 655.2 R 3.172(If an)8.172 F 5.672
 (yo)-.15 G(f)-5.672 E/F3 9/Times-Bold@0 SF -.27(BA)5.672 G(SH_ALIASES)
 .27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.421 G(SH_ARGV0).27 E F4(,)A
-F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 655.2 S
+F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 667.2 S
 (SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.481 G(SH_SUBSHELL).27 E F4(,)A F3
 -.27(BA)11.482 G(SHPID).27 E F4(,)A F3(COMP_W)11.482 E(ORDBREAKS)-.09 E
 F4(,)A F3(DIRST)11.482 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)
-144 667.2 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
+144 679.2 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
 2.67 E(AME)-.18 E F4(,)A F3(GR)2.67 E(OUPS)-.27 E F4(,)A F3(HISTCMD)2.67
 E F4(,)A F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144
-679.2 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
+691.2 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
 4.029 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F
 -.15(ve)-.25 G 4.279(ni).15 G 4.28(ft)-4.279 G(he)-4.28 E 4.28(ya)-.15 G
-1.78(re subse-)-4.28 F(quently reset.)144 691.2 Q(The e)5 E
+1.78(re subse-)-4.28 F(quently reset.)144 703.2 Q(The e)5 E
 (xit status is true unless a)-.15 E F2(name)2.86 E F0
 (is readonly or may not be unset.)2.68 E(GNU Bash 5.2)72 768 Q
 (2023 January 27)141.79 E(25)190.95 E 0 Cg EP
index db55378545bd509cdcd9bb1f321345a0dd569fbe..d6eccc02daffd2194fd3a0681bc4845eebf03af6 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.22.4
-%%CreationDate: Mon May 22 09:42:13 2023
+%%CreationDate: Tue Jun 13 10:42:36 2023
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%DocumentSuppliedResources: procset grops 1.22 4
index a0b59aff657a81d0584983f8d4c89cf562403cf2..a14b8f71d663c336d9c6bd9a6f093bd74ce3b81e 100644 (file)
@@ -2,10 +2,10 @@
 Copyright (C) 1988-2023 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Tue May 23 11:29:48 EDT 2023
+@set LASTCHANGE Tue Jun 13 10:36:04 EDT 2023
 
 @set EDITION 5.2
 @set VERSION 5.2
 
-@set UPDATED 23 May 2023
-@set UPDATED-MONTH May 2023
+@set UPDATED 13 June 2023
+@set UPDATED-MONTH June 2023
index 1f4f6e85af0e8551f1c2e5d3a6535cb4d26442ff..e63c33ae197ec1cd3d1860602f0a4686676f54be 100644 (file)
@@ -3900,7 +3900,7 @@ execute_cond_node (COND_COM *cond)
       result = unary_test (cond->op->word, arg1, varflag) ? EXECUTION_SUCCESS : EXECUTION_FAILURE;
 #if defined (ARRAY_VARS)
       if (varop)
-       assoc_expand_once = oa;
+       array_expand_once = oa;
 #endif
       if (arg1 != nullstr)
        free (arg1);
@@ -4217,7 +4217,7 @@ fix_assignment_words (WORD_LIST *words)
 
 #if defined (ARRAY_VARS)
 /* Set W_ARRAYREF on words that are valid array references to a builtin that
-   accepts them. This is intended to completely replace assoc_expand_once in
+   accepts them. This is intended to completely replace array_expand_once in
    time. */
 static void
 fix_arrayref_words (WORD_LIST *words)
diff --git a/expr.c b/expr.c
index 1b4e465872ac2b5dd0f32b94e4f0e97580127955..45fb2f3650cba0cc71667f40285074912f9009bb 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -330,7 +330,7 @@ expr_bind_variable (const char *lhs, const char *rhs)
     return;            /* XXX */
 
 #if defined (ARRAY_VARS)
-  aflags = (assoc_expand_once && already_expanded) ? ASS_NOEXPAND : 0;
+  aflags = (array_expand_once && already_expanded) ? ASS_NOEXPAND : 0;
   aflags |= ASS_ALLOWALLSUB;           /* allow assoc[@]=value */
 #else
   aflags = 0;
@@ -352,13 +352,13 @@ expr_skipsubscript (char *vp, char *cp)
 
   isassoc = 0;
   entry = 0;
-  if (assoc_expand_once & already_expanded)
+  if (array_expand_once & already_expanded)
     {
       *cp = '\0';
       isassoc = legal_identifier (vp) && (entry = find_variable (vp)) && assoc_p (entry);
       *cp = '[';       /* ] */
     }
-  flags = (isassoc && assoc_expand_once && already_expanded) ? VA_NOEXPAND : 0;
+  flags = (isassoc && array_expand_once && already_expanded) ? VA_NOEXPAND : 0;
   return (skipsubscript (cp, 0, flags));
 }
 
@@ -1150,7 +1150,7 @@ expr_streval (char *tok, int e, struct lvalue *lvalue)
   initial_depth = expr_depth;
 
 #if defined (ARRAY_VARS)
-  tflag = (assoc_expand_once && already_expanded) ? AV_NOEXPAND : 0;   /* for a start */
+  tflag = (array_expand_once && already_expanded) ? AV_NOEXPAND : 0;   /* for a start */
 #endif
 
   /* [[[[[ */
diff --git a/shell.h b/shell.h
index 7b43813ba9cf4a08c2a07161d108e772afe42860..62c09028b07f13e24a58cc18dbb8bd7025ecd713 100644 (file)
--- a/shell.h
+++ b/shell.h
@@ -29,7 +29,6 @@
 #include "general.h"
 #include "error.h"
 #include "variables.h"
-#include "arrayfunc.h"
 #include "quit.h"
 #include "maxpath.h"
 #include "unwind_prot.h"
@@ -37,6 +36,7 @@
 #include "make_cmd.h"
 #include "ocache.h"
 #include "subst.h"
+#include "arrayfunc.h"
 #include "sig.h"
 #include "pathnames.h"
 #include "externs.h"
diff --git a/test.c b/test.c
index 26ef95f25374f53fa73f057e5aa72b796348323a..114941ccd2551e0262c5a5e245ca9aa8ff897f5e 100644 (file)
--- a/test.c
+++ b/test.c
@@ -617,7 +617,7 @@ unary_test (char *op, char *arg, int flags)
 
     case 'v':
 #if defined (ARRAY_VARS)
-      aflags = assoc_expand_once ? AV_NOEXPAND : 0;
+      aflags = array_expand_once ? AV_NOEXPAND : 0;
       if (valid_array_reference (arg, aflags))
        {
          char *t;
index af13502a6faccb14aa26446ff7e99868a0fba901..eebf1068172de54159bb54d526d44638f938606f 100644 (file)
@@ -793,3 +793,32 @@ declare -a aa=([0]="/homes/cj/Desktop:/homes/cj/Library:/homes/cj/Documents")
 declare -a aa=([0]="/homes/cj/Desktop:/homes/cj/Library:/homes/cj/Documents")
 declare -a aa=([0]="/homes/cj/Desktop:/homes/cj/Library:/homes/cj/Documents" [1]="/homes/cj/Applications")
 declare -a aa=([0]="/homes/cj/Desktop:/homes/cj/Library:/homes/cj/Documents" [1]="/homes/cj/Applications")
+./array32.sub: line 7: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 8: declare: a: not found
+./array32.sub: line 11: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 12: declare: a: not found
+./array32.sub: line 16: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a=([0]="hi")
+./array32.sub: line 22: declare: a: not found
+./array32.sub: line 25: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 26: declare: a: not found
+./array32.sub: line 29: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a
+./array32.sub: line 37: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a
+./array32.sub: line 44: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -ai a
+./array32.sub: line 52: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 53: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 55: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 62: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a
+./array32.sub: line 64: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a
+./array32.sub: line 67: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a
+./array32.sub: line 72: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+./array32.sub: line 78: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a=()
+./array32.sub: line 82: $(echo INJECTION! >&2 ; echo 0): arithmetic syntax error: operand expected (error token is "$(echo INJECTION! >&2 ; echo 0)")
+declare -a a=()
index 6bb256f3de3216ca009f63ce2675802ce9409ee3..126ced3bbf4c89ecebaec7755986fba52bf4e92e 100644 (file)
@@ -428,3 +428,4 @@ ${THIS_SH} ./array28.sub
 ${THIS_SH} ./array29.sub
 ${THIS_SH} ./array30.sub
 ${THIS_SH} ./array31.sub
+${THIS_SH} ./array32.sub
diff --git a/tests/array32.sub b/tests/array32.sub
new file mode 100644 (file)
index 0000000..dac3eda
--- /dev/null
@@ -0,0 +1,86 @@
+# change behavior of shell builtins to extend assoc_expand_once to indexed
+# arrays
+
+export subscript='$(echo INJECTION! >&2 ; echo 0)'
+shopt -s array_expand_once
+
+printf -v a["$subscript"] %s hi
+declare -p a
+unset a
+
+printf -v "a[$subscript]" %s hi
+declare -p a
+
+a[0]=hi
+
+unset a["$subscript"]
+declare -p a
+
+unset a
+
+unset a["$subscript"]
+declare -p a
+
+unset -v a
+read a["$subscript"] <<<hi
+declare -p a
+
+declare -a a
+read a["$subscript"] <<<hi
+declare -p a
+
+unset -v a
+
+declare -a a
+
+{ sleep 1; exit 12; } & bgpid=$!
+wait -n -p a["$subscript"] $bgpid
+
+declare -p a
+
+unset -v a
+declare -a a
+
+declare -i a["$subscript"]=42
+declare -p a
+
+# this still won't work because the quotes prevent it from being recognized as
+# an assignment statement
+#declare -i "a[$subscript]"=42
+#declare -p a
+
+test -v a["$subscript"] && echo set
+[ -v a["$subscript"] ] && echo set
+
+let a["$subscript"]+=1
+unset -v a
+
+# these are all already arithmetic expression errors
+
+declare -a a
+
+(( a[$subscript]++ ))
+declare -p a
+: $(( a[$subscript]++ ))
+declare -p a
+
+a[$subscript]=hi
+declare -p a
+
+# length shortcuts for unset variables, so give it a value
+a[0]=zero
+echo ${#a[$subscript]}
+
+unset -v a
+
+# compound assignments should not perform double expansion
+
+a=( [$subscript]=hi )
+declare -p a
+
+declare -a a
+a=( [$subscript]=hi )
+declare -p a
+
+unset -v a
+
index 640f75d2642a253e50ff1903222153eab996da69..f3df307e2df74edfa0e0d65714ec96d17d136fb6 100644 (file)
@@ -2,6 +2,7 @@
 shopt: usage: shopt [-pqsu] [-o] [optname ...]
 --
 shopt -u autocd
+shopt -u array_expand_once
 shopt -u assoc_expand_once
 shopt -u cdable_vars
 shopt -s cdspell
@@ -79,6 +80,7 @@ shopt -s promptvars
 shopt -s sourcepath
 --
 shopt -u autocd
+shopt -u array_expand_once
 shopt -u assoc_expand_once
 shopt -u cdable_vars
 shopt -u checkhash
@@ -123,6 +125,7 @@ shopt -u varredir_close
 shopt -u xpg_echo
 --
 autocd                 off
+array_expand_once      off
 assoc_expand_once      off
 cdable_vars            off
 checkhash              off
index 9d9c8a438036e5171ecc178c933cd652cba2ca74..e6e075f165a26452bf91484400e16c0846681b07 100644 (file)
@@ -3329,18 +3329,11 @@ bind_int_variable (const char *lhs, const char *rhs, int flags)
   isint = isarr = implicitarray = 0;
 #if defined (ARRAY_VARS)
   /* Don't rely on VA_NOEXPAND being 1, set it explicitly */
-  vflags = (flags & ASS_NOEXPAND) ? VA_NOEXPAND : 0;
-  if (flags & ASS_ONEWORD)
-    vflags |= VA_ONEWORD;
+  vflags = convert_assign_flags_to_validarray_flags (flags);
   if (valid_array_reference (lhs, vflags))
     {
       isarr = 1;
-      avflags = 0;
-      /* Common code to translate between assignment and reference flags. */
-      if (flags & ASS_NOEXPAND)
-       avflags |= AV_NOEXPAND;
-      if (flags & ASS_ONEWORD)
-       avflags |= AV_ONEWORD;
+      avflags = convert_assign_flags_to_arrayval_flags (flags);
       v = array_variable_part (lhs, avflags, (char **)0, (int *)0);
     }
   else if (legal_identifier (lhs) == 0)